Acerca de los secretos de Azure Key Vault
Key Vault proporciona un almacenamiento seguro de secretos genéricos, como contraseñas y cadenas de conexión de base de datos.
Desde la perspectiva del desarrollador, las API de Key Vault aceptan y devuelven los valores de secreto como cadenas. Internamente, Key Vault almacena y administra secretos como secuencias de octetos (bytes de 8 bits), con un tamaño máximo de 25 000 bytes. El servicio Key Vault no proporciona semántica para los secretos. Solo acepta los datos, los cifra, los almacena y devuelve un identificador secreto (id
). El identificador puede usarse para recuperar el secreto en un momento posterior.
Si se trata de información muy confidencial, los clientes deben considerar las capas adicionales de protección de datos. Un ejemplo es el cifrado de datos mediante una clave de protección independiente antes de su almacenamiento en Key Vault.
Key Vault también admite un campo contentType para secretos. Los clientes pueden especificar el tipo de contenido de un secreto para ayudar a interpretar los datos secretos cuando se recuperen. La longitud máxima de este campo es de 255 caracteres. El uso sugerido es como sugerencia para interpretar los datos secretos. Por ejemplo, una implementación puede almacenar contraseñas y certificados como secretos y, a continuación, utilizar este campo para diferenciarlos. No hay ningún valor predefinido.
Cifrado
Todos los secretos de Key Vault se almacenan cifrados. Key Vault cifra los secretos en reposo con una jerarquía de claves de cifrado en la cual todas las claves de esa jerarquía están protegidas por módulos compatibles con FIPS 140-2. Este cifrado es transparente y no requiere ninguna acción por parte del usuario. El servicio Azure Key Vault cifra sus secretos cuando los agrega y los descifra automáticamente cuando los lee.
La clave de hoja de cifrado de la jerarquía de claves es única para cada almacén de claves. La clave raíz del cifrado de la jerarquía de claves es única en el mundo de la seguridad y su nivel de protección varía entre regiones:
- China: la clave raíz está protegida por un módulo que se valida para FIPS 140-2 nivel 1.
- Otras regiones: la clave raíz está protegida por un módulo que se valida para FIPS 140-2 nivel 2 o superior.
Atributos del secreto
Además los datos secretos, se pueden especificar los siguientes atributos:
- exp: tipo IntDate, opcional, el valor predeterminado es forever (indefinidamente). El atributo exp (hora de expiración) identifica la hora de expiración después de la cual NO SE DEBEN recuperar los datos secretos, excepto en las situaciones particulares. Este campo tiene fines informativo únicamente, que informa a los usuarios del servicio del almacén de claves que no se puede usar un determinado secreto. Su valor debe ser un número que contenga un valor IntDate.
- nbf: tipo IntDate, opcional, el valor predeterminado es now (ahora). El atributo nbf (no antes de) identifica la hora antes de la cual NO SE DEBEN recuperar los datos secretos, excepto en las situaciones particulares. Este campo tiene fines informativos únicamente. Su valor EBE ser un número que contenga un valor IntDate.
- enabled: tipo booleano, opcional, el valor predeterminado es true. Este atributo especifica si se pueden recuperar los datos secretos. El atributo enabled se usa junto con nbf y exp y cuando se produce una operación entre nbf y exp, solo se permitirá si enabled se establece en true. Las operaciones fuera de la franja entre nbf y exp se deniegan automáticamente, excepto en situaciones particulares.
Existen atributos de solo lectura adicionales que se incluyen en cualquier respuesta que incluya atributos de secreto:
- created: tipo IntDate, opcional. El atributo created indica cuándo se creó esta versión del secreto. Este valor es NULL para los secretos creados antes de agregar este atributo. Su valor debe ser un número que contenga un valor IntDate.
- updated: tipo IntDate, opcional. El atributo updated indica cuándo se modificó esta versión del secreto. Este valor es NULL para los secretos modificados por última vez antes de agregar este atributo. Su valor debe ser un número que contenga un valor IntDate.
Para obtener información sobre los atributos comunes de cada tipo de objeto del almacén de claves, consulte Introducción a las claves, secretos y certificados de Azure Key Vault
Operaciones controladas de fecha y hora
Una operación get de un secreto funcionará para los secretos todavía no válidos y los expirados, fuera de la franja nbf / exp. La llamada a la operación get de un secreto, para un secreto todavía no válido, se puede usar con fines de prueba. La obtención (get) de un secreto caducado se puede utilizar para operaciones de recuperación.
Control de acceso al secreto
El control de acceso para los secretos administrados por Key Vault se proporciona en el nivel de la instancia de Key Vault que contiene esos secretos. La directiva de control de acceso para los secretos es distinta de la directiva de control de acceso para las claves en la misma instancia de Key Vault. Los usuarios pueden crear uno o varios almacenes para almacenar los secretos y están obligados a mantener la segmentación adecuada del escenario y la administración de los secretos.
Los siguientes permisos se pueden utilizar, en una base por entidad, en la entrada de control de acceso de secretos en un almacén y reflejan fielmente las operaciones permitidas en un objeto de secreto:
Permisos para las operaciones de administración de secretos
- get: leer un secreto
- list: enumerar los secretos o las versiones de un secreto almacenado en un almacén de claves
- set: crear un secreto
- delete: eliminar un secreto
- recover: recuperar un secreto eliminado
- backup: hacer una copia de seguridad de un secreto de un almacén de claves
- restore: restaurar una copia de seguridad de un secreto a un almacén de claves
Permisos para las operaciones con privilegios
- purge: purgar (eliminar permanentemente) un secreto eliminado
Para más información sobre cómo trabajar con secretos, consulte las operaciones con secretos en la referencia de la API REST de Key Vault. Para obtener información sobre cómo establecer permisos, vea Almacenes: crear o actualizar y Almacenes: actualizar directiva de acceso.
Guías de procedimientos para controlar el acceso en Key Vault:
- Asignación de una directiva de acceso de Key Vault mediante la CLI
- Asignación de una directiva de acceso de Key Vault mediante PowerShell
- Asignación de una directiva de acceso de Key Vault mediante Azure Portal
- Acceso a las claves, los certificados y los secretos de Key Vault con un control de acceso basado en rol de Azure
Etiquetas del secreto
Puede especificar metadatos específicos de la aplicación adicionales en forma de etiquetas. Key Vault admite hasta 15 etiquetas, cada una de las cuales puede tener un nombre de 512 caracteres y un valor de 512 caracteres.
Nota:
El autor de llamada puede leer las etiquetas si tienen el permiso list o get.
Escenarios de uso
Cuándo se usa | Ejemplos |
---|---|
Almacene las credenciales, administre el ciclo de vida y supervíselas de forma segura para la comunicación de servicio a servicio, como contraseñas, claves de acceso y secretos de cliente de entidad de servicio. | - Uso de Azure Key Vault con una máquina virtual - Uso de Azure Key Vault con una aplicación web de Azure |
Pasos siguientes
- Administración de claves en Azure
- Procedimientos recomendados para la administración de secretos en Key Vault
- Acerca de Key Vault
- Información acerca de claves, secretos y certificados
- Asignación de una directiva de acceso de Key Vault
- Acceso a las claves, los certificados y los secretos de Key Vault con un control de acceso basado en rol de Azure
- Protección del acceso a un almacén de claves
- Guía del desarrollador de Key Vault