Configure la rotación automática de claves en Azure Key Vault
Información general
La rotación automática de claves en Key Vault permite a los usuarios configurar Key Vault para generar automáticamente una nueva versión de clave con una frecuencia especificada. Para configurar la rotación, puede usar la directiva de rotación de claves, que se puede definir en cada clave individual.
La recomendación es girar las claves de cifrado al menos cada dos años para cumplir con los procedimientos recomendados criptográficos.
Para obtener más información sobre cómo se establecen las versiones de los objetos en Key Vault, consulte Objetos, identificadores y control de versiones de Key Vault.
Integración con servicios de Azure
Esta característica permite el giro de cero toque de un extremo a otro para el cifrado en reposo para los servicios de Azure con la clave administrada por el cliente (CMK) almacenada en Azure Key Vault. Consulte la documentación específica del servicio de Azure para ver si el servicio cubre el giro de un extremo a otro.
Para obtener más información sobre el cifrado de datos en Azure, consulte:
Precios
Hay un coste adicional por rotación de claves programada. Para más información, vea la página de precios de Azure Key Vault
Permisos necesarios
Para la característica de giro de claves de Key Vault se necesitan permisos de administración de claves. Puede asignar un rol de "Responsable de cifrado de Key Vault" para administrar la directiva de rotación y la rotación a petición.
Para obtener más información sobre cómo usar el modelo de permisos RBAC de Key Vault y asignar roles de Azure, consulte Uso de RBAC de Azure para controlar el acceso a claves, certificados y secretos
Nota:
Si usa un modelo de permisos de directivas de acceso, es necesario establecer los permisos de clave "Girar", "Establecer directiva de giro" y "Obtener directiva de giro" para administrar la directiva de giro en las claves.
Directiva de giro de claves
La directiva de rotación de claves permite a los usuarios configurar la rotación y las notificaciones de Event Grid a punto de expirar.
Configuración de directiva de giro de claves:
- Hora de expiración: intervalo de expiración de clave. Se usa para establecer la fecha de expiración en la clave rotada recientemente. No afecta a una clave actual.
- Habilitado/deshabilitado: marca para habilitar o deshabilitar el giro de la clave
- Tipos de rotación:
- Renovación automática en un momento determinado después de la creación (predeterminado)
- Renovación automática en un momento determinado antes de la expiración. Es necesario establecer "Hora de expiración" en la directiva de giro y "Fecha de expiración" en la clave.
- Tiempo de rotación: intervalo de rotación de la clave. El valor mínimo es siete días desde la creación y siete días desde la fecha de expiración
- Hora de notificación: clave cercana al intervalo del evento de expiración para la notificación de Event Grid. Es necesario establecer "Hora de expiración" en la directiva de giro y "Fecha de expiración" en la clave.
Importante
La rotación de claves genera una nueva versión de una clave existente con nuevo material de clave. Los servicios de destino deben usar el URI de clave sin versión para actualizar automáticamente a la versión más reciente de la clave. Asegúrese de que la solución de cifrado de datos guarda el URI de clave con datos con versión para apuntar al mismo material de clave para las operaciones de descifrado y desencapsulado (el mismo que se usó para el cifrado y encapsulado) para evitar interrupciones en los servicios. Actualmente, todos los servicios de Azure siguen ese patrón para el cifrado de datos.
Configuración de la directiva de giro de claves
Configure la directiva de giro de claves durante la creación de claves.
Configure la directiva de giro en las claves existentes.
CLI de Azure
Guarde la directiva de giro de claves en un archivo. Ejemplo de directiva de giro de claves:
{
"lifetimeActions": [
{
"trigger": {
"timeAfterCreate": "P18M",
"timeBeforeExpiry": null
},
"action": {
"type": "Rotate"
}
},
{
"trigger": {
"timeBeforeExpiry": "P30D"
},
"action": {
"type": "Notify"
}
}
],
"attributes": {
"expiryTime": "P2Y"
}
}
Establezca la directiva de rotación en una clave que pase el archivo guardado previamente mediante el comando az keyvault key rotation-policy update de la CLI de Azure.
az keyvault key rotation-policy update --vault-name <vault-name> --name <key-name> --value </path/to/policy.json>
Azure PowerShell
Establezca la directiva de rotación mediante el cmdlet Set-AzKeyVaultKeyRotationPolicy de Azure PowerShell.
Set-AzKeyVaultKeyRotationPolicy -VaultName <vault-name> -KeyName <key-name> -ExpiresIn (New-TimeSpan -Days 720) -KeyRotationLifetimeAction @{Action="Rotate";TimeAfterCreate= (New-TimeSpan -Days 540)}
Giro a petición
El giro de claves se puede invocar manualmente.
Portal
Haga clic en "Girar ahora" para invocar el giro.
CLI de Azure
Use el comando az keyvault key rotate de la CLI de Azure para rotar la clave.
az keyvault key rotate --vault-name <vault-name> --name <key-name>
Azure PowerShell
Use el cmdlet Invoke-AzKeyVaultKeyRotation de Azure PowerShell.
Invoke-AzKeyVaultKeyRotation -VaultName <vault-name> -Name <key-name>
Configuración de la clave cerca de la notificación de expiración
Configuración de la notificación de expiración para la clave cercana al evento de expiración de Event Grid. En caso de que no se pueda usar la rotación automatizada, como cuando se importa una clave desde HSM local, puede configurar una notificación de expiración cercana como recordatorio para la rotación manual o como un desencadenador para la rotación automatizada personalizada a través de la integración con Event Grid. Puede configurar la notificación con días, meses y años antes de la expiración para que se desencadene un evento de expiración cercana.
Para obtener más información sobre las notificaciones de Event Grid en Key Vault, consulte Azure Key Vault como origen de Event Grid.
Configuración del giro de claves con plantilla de ARM
También se puede configurar la directiva de giro de claves mediante plantillas de ARM.
Nota:
Se necesita el rol "Colaborador del almacén de claves" en Key Vault configurado con RBAC de Azure para implementar la clave en el plano de administración.
{
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"parameters": {
"vaultName": {
"type": "String",
"metadata": {
"description": "The name of the key vault to be created."
}
},
"keyName": {
"type": "String",
"metadata": {
"description": "The name of the key to be created."
}
},
"rotatationTimeAfterCreate": {
"defaultValue": "P18M",
"type": "String",
"metadata": {
"description": "Time duration to trigger key rotation. i.e. P30D, P1M, P2Y"
}
},
"expiryTime": {
"defaultValue": "P2Y",
"type": "String",
"metadata": {
"description": "The expiry time for new key version. i.e. P90D, P2M, P3Y"
}
},
"notifyTime": {
"defaultValue": "P30D",
"type": "String",
"metadata": {
"description": "Near expiry Event Grid notification. i.e. P30D"
}
}
},
"resources": [
{
"type": "Microsoft.KeyVault/vaults/keys",
"apiVersion": "2021-06-01-preview",
"name": "[concat(parameters('vaultName'), '/', parameters('keyName'))]",
"location": "[resourceGroup().location]",
"properties": {
"vaultName": "[parameters('vaultName')]",
"kty": "RSA",
"rotationPolicy": {
"lifetimeActions": [
{
"trigger": {
"timeAfterCreate": "[parameters('rotatationTimeAfterCreate')]",
"timeBeforeExpiry": ""
},
"action": {
"type": "Rotate"
}
},
{
"trigger": {
"timeBeforeExpiry": "[parameters('notifyTime')]"
},
"action": {
"type": "Notify"
}
}
],
"attributes": {
"expiryTime": "[parameters('expiryTime')]"
}
}
}
}
]
}
Configuración de la gobernanza de directiva de giro de claves
Con el servicio Azure Policy, puede controlar el ciclo de vida de la clave y asegurarse de que todas las claves están configuradas para girar dentro de un número especificado de días.
Creación y asignación de una definición de directiva
- Vaya al recurso de la directiva.
- Seleccione Asignaciones en Creación en el lado izquierdo de la página de Azure Policy.
- Seleccione Asignar directiva en la parte superior de la página. Este botón abre la página de asignación de la directiva.
- Escribe la siguiente información:
- Defina el ámbito de la directiva eligiendo la suscripción y el grupo de recursos en el que se aplicará la directiva. Seleccione haciendo clic en el botón de tres puntos en el campo Ámbito.
- Seleccione el nombre de la definición de directiva: "Las claves deben tener una directiva de rotación para asegurarse de que su rotación está programada dentro del número de días especificado después de la creación. "
- Vaya a la pestaña Parámetros en la parte superior de la página.
- Establezca el número máximo de días para rotar el parámetro al número deseado de días, por ejemplo, 730.
- Defina el efecto deseado de la directiva (Auditoría o Deshabilitado).
- Rellene los campos adicionales. Navegue por las pestañas haciendo clic en los botones Anterior y Siguiente en la parte inferior de la página.
- Seleccionar Revisar y crear.
- Seleccione Crear
Una vez asignada la directiva integrada, puede tardar hasta 24 horas en completar el examen. Después de completar el examen, puede ver los resultados de cumplimiento tal como se muestra a continuación.