Compartir a través de


Configuración de la rotación automática de claves criptográficas en Azure Key Vault

Al automatizar la rotación de claves criptográficas en Key Vault, puede configurar Key Vault para crear automáticamente una nueva versión de clave con una frecuencia elegida. Para configurar la rotación, use la política de rotación de claves, que puede definir para cada clave.

Para seguir los procedimientos recomendados criptográficos, gire las claves de cifrado al menos cada dos años.

Para obtener más información sobre cómo Key Vault gestiona las versiones de los objetos, vea Key Vault objetos, identificadores y control de versiones. Para obtener una comprensión completa de los conceptos de autorrotación en distintos tipos de recursos en Azure Key Vault, consulte Comprensión de la autorrotación en Azure Key Vault.

Integración con servicios de Azure

Esta característica permite la rotación sin intervención de extremo a extremo del cifrado en reposo para los servicios de Azure con clave administrada por el cliente (CMK) almacenada en la Bóveda de claves de Azure. Compruebe la documentación específica del servicio Azure para ver si el servicio admite la rotación de un extremo a otro.

Nota:

Al rotar las claves administradas por el cliente que Azure servicios usan, el tiempo que tarda cada servicio en detectar y aplicar la nueva versión de clave varía (de una hora a 24 horas o más). Consulte la documentación específica del servicio Azure para obtener instrucciones sobre cuándo puede deshabilitar de forma segura la versión anterior de la clave después de la rotación.

Para obtener más información sobre el cifrado de datos en Azure, consulte:

Precios

Hay un costo adicional para cada rotación de claves programada. Para obtener más información, consulte la página de precios Azure Key Vault.

Permisos necesarios

La característica de rotación de claves Key Vault requiere permisos de administración de claves. Asigne el 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 Azure RBAC para Key Vault y asignar roles de Azure, consulte Use un RBAC de Azure para controlar el acceso a claves, certificados y secretos.

Nota:

Si usa el modelo de permisos de políticas de acceso, establezca los permisos de clave "Rotar", "Establecer política de rotación" y "Obtener política de rotación" para administrar la política de rotación en las claves.

Directiva de giro de claves

La directiva de rotación de claves le permite configurar la rotación y las notificaciones de Event Grid para las notificaciones de próxima expiración.

Configuración de directiva de giro de claves:

  • Hora de expiración: intervalo de expiración de clave. Establece la fecha de expiración en la clave recién rotada. No afecta a la clave actual.
  • Habilitado o deshabilitado: marca para habilitar o deshabilitar la rotación de la clave.
  • Tipos de giro:
    • Renueve automáticamente en un momento dado después de la creación (valor 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 claves. El valor mínimo es de siete días a partir de la creación y siete días a partir de 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 su solución de cifrado de datos almacene URI de clave versionados junto con los datos para que apunten al mismo material de clave, asegurando así que las operaciones de descifrado o desempaquetado no interrumpan sus servicios. Todos los servicios Azure siguen ese patrón para el cifrado de datos.

La rotación de claves vuelve a encapsular las claves de cifrado de datos (DEK) con la nueva versión de la clave; no vuelve a cifrar los datos subyacentes. Las versiones de clave antiguas y nuevas deben permanecer habilitadas hasta que se complete el ajuste, ya que los datos existentes permanecen cifrados en DEK encapsulados por la versión anterior de la clave.

Configuración de directivas de rotación

Configuración de la directiva de giro de claves

Configure la directiva de rotación de claves durante la creación de claves.

Configuración de la rotación durante la creación de claves

Configura la política de rotación en las claves existentes.

Configuración de la rotación en la clave existente

CLI de Azure

Guarde la directiva de rotación de claves en un archivo. Este es un ejemplo de una política de rotación 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 Azure PowerShell Set-AzKeyVaultKeyRotationPolicy.

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

Puede invocar manualmente la rotación de claves.

Portal

Seleccione Girar ahora para iniciar el proceso de rotación.

Rotación a petición

CLI de Azure

Use el comando CLI de Azure az keyvault key rotate para girar una clave.

az keyvault key rotate --vault-name <vault-name> --name <key-name>

Azure PowerShell

Use el cmdlet Azure PowerShell Invoke-AzKeyVaultKeyRotation para girar una clave.

Invoke-AzKeyVaultKeyRotation -VaultName <vault-name> -Name <key-name>

Configuración de la clave cerca de la notificación de expiración

Puede configurar una notificación para el evento de próxima caducidad de la clave de Event Grid. Si no se puede usar la rotación automatizada, como cuando se importa una clave desde HSM local, puede configurar una notificación de expiración próxima como recordatorio para la rotación manual o como desencadenador para la rotación automatizada personalizada mediante la integración con Event Grid. Puede configurar la notificación para que se active días, meses o años antes de que la clave alcance su fecha de expiración.

Configurar notificación

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 de la rotación de claves mediante una plantilla de ARM

Puede configurar la directiva de rotación de claves mediante plantillas de ARM.

Nota:

Para implementar una clave a través del plano de control, necesita el rol Key Vault Contributor en la instancia de Key Vault configurada con Azure RBAC.

{
    "$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."
            }
        },
        "rotationTimeAfterCreate": {
            "defaultValue": "P18M",
            "type": "String",
            "metadata": {
                "description": "Time duration to trigger key rotation, for example, P30D, P1M, P2Y."
            }
        },
        "expiryTime": {
            "defaultValue": "P2Y",
            "type": "String",
            "metadata": {
                "description": "The expiry time for new key version, for example, P90D, P2M, P3Y."
            }
        },
        "notifyTime": {
            "defaultValue": "P30D",
            "type": "String",
            "metadata": {
                "description": "Near expiry Event Grid notification, for example, P30D."
            }
        }

    },
    "resources": [
        {
            "type": "Microsoft.KeyVault/vaults/keys",
            "apiVersion": "2024-11-01",
            "name": "[concat(parameters('vaultName'), '/', parameters('keyName'))]",
            "location": "[resourceGroup().location]",
            "properties": {
                "vaultName": "[parameters('vaultName')]",
                "kty": "RSA",
                "rotationPolicy": {
                    "lifetimeActions": [
                        {
                            "trigger": {
                                "timeAfterCreate": "[parameters('rotationTimeAfterCreate')]",
                                "timeBeforeExpiry": ""
                            },
                            "action": {
                                "type": "Rotate"
                            }
                        },
                        {
                            "trigger": {
                                "timeBeforeExpiry": "[parameters('notifyTime')]"
                            },
                            "action": {
                                "type": "Notify"
                            }
                        }

                    ],
                    "attributes": {
                        "expiryTime": "[parameters('expiryTime')]"
                    }
                }
            }
        }
    ]
}

Configuración de la gobernanza de directiva de rotación de claves

Con el servicio Azure Policy, puede controlar el ciclo de vida de las claves 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

  1. Vaya al recurso de directiva.
  2. Seleccione Assignments en Authoring a la izquierda de la página de Azure Policy.
  3. Seleccione Asignar directiva en la parte superior de la página. Este botón se abre en la página Asignación de directiva.
  4. Escribe la siguiente información:
  5. 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.
  6. Selecciona Revisar + crear.
  7. Selecciona Crear.

Después de asignar la directiva integrada, puede tardar hasta 24 horas en completar el análisis. Cuando finalice el examen, puede ver los resultados de cumplimiento como los siguientes.

Captura de pantalla del cumplimiento de políticas de rotación de claves.

Usar IA para personalizar las directivas de rotación de claves

GitHub Copilot puede ayudarle a crear directivas de rotación de claves personalizadas para sus requisitos de cumplimiento específicos o Azure integraciones de servicios.

I need to configure a key rotation policy for my Azure Key Vault key that's used for Azure Storage encryption. Help me create the rotation policy with these requirements:
- Key vault name: my-storage-kv
- Key name: storage-encryption-key
- Rotate the key every 180 days
- Send a notification 30 days before expiry
- Set key expiration to 2 years
Provide both Azure CLI commands and a JSON policy file I can use with the Azure CLI.

GitHub Copilot funciona con inteligencia artificial, por lo que son posibles sorpresas y errores. Para obtener más información, vea Copilot preguntas más frecuentes.

Recursos