Delen via


Automatische rotatie van cryptografische sleutels configureren in Azure Key Vault

Overzicht

Met geautomatiseerde cryptografische sleutelrotatie in Key Vault kunnen gebruikers Key Vault zo configureren dat automatisch een nieuwe sleutelversie met een opgegeven frequentie wordt gegenereerd. Als u rotatie wilt configureren, kunt u beleid voor sleutelrotatie gebruiken, dat voor elke afzonderlijke sleutel kan worden gedefinieerd.

We raden u aan om versleutelingssleutels ten minste om de twee jaar te roteren om te voldoen aan cryptografische best practices.

Zie Key Vault objecten, id's en versiebeheer voor meer informatie over de wijze waarop voor objecten in Key Vault versiebeheer wordt gebruikt.

Integratie met Azure-services

Deze functie maakt end-to-end zero-touch-rotatie mogelijk voor versleuteling-at-rest voor Azure-services met door de klant beheerde sleutel (CMK) die is opgeslagen in Azure Key Vault. Raadpleeg de specifieke documentatie van de Azure-service om te zien of de service end-to-end-rotatie omvat.

Zie voor meer informatie over gegevensversleuteling in Azure:

Prijzen

Er zijn extra kosten per geplande sleutelrotatie. Zie de pagina prijzen van Azure Key Vault voor meer informatie

Vereiste machtigingen

Key Vault-sleutelrotatiefunctie vereist sleutelbeheermachtigingen. U kunt een rol 'Key Vault Crypto Officer' toewijzen voor het beheren van rotatiebeleid en rotatie op aanvraag.

Zie Een Azure RBAC gebruiken om de toegang tot sleutels, certificaten en geheimen te beheren voor meer informatie over het gebruik van een Key Vault RBAC-machtigingsmodel en het toewijzen van Azure-rollen

Notitie

Als u een machtigingsmodel voor toegangsbeleid gebruikt, moet u de sleutelmachtigingen 'Draaien', 'Roulatiebeleid instellen' en 'Rotatiebeleid ophalen' instellen om rotatiebeleid op sleutels te beheren.

Beleid voor sleutelrotatie

Met het sleutelrotatiebeleid kunnen gebruikers rotatie- en Event Grid-meldingen voor bijna verlopen configureren.

Beleidsinstellingen voor sleutelrotatie:

  • Verlooptijd: verloopinterval van sleutel. Deze wordt gebruikt om de vervaldatum in te stellen op de zojuist gedraaide sleutel. Dit heeft geen invloed op een huidige sleutel.
  • Ingeschakeld/uitgeschakeld: vlag voor het in- of uitschakelen van rotatie voor de sleutel
  • Rotatietypen:
    • Automatisch verlengen op een bepaald moment na het maken (standaard)
    • Automatisch verlengen op een bepaald tijdstip voordat de vervaldatum verloopt. Hiervoor is 'Verlooptijd' vereist die is ingesteld voor het rotatiebeleid en de vervaldatum die is ingesteld op de sleutel.
  • Rotatietijd: sleutelrotatie-interval, de minimumwaarde is zeven dagen na het maken en zeven dagen na verlooptijd
  • Meldingstijd: gebeurtenisinterval voor bijna verlopen sleutel voor Event Grid-melding. Hiervoor is 'Verlooptijd' vereist die is ingesteld voor het rotatiebeleid en de vervaldatum die is ingesteld op de sleutel.

Belangrijk

Sleutelrotatie genereert een nieuwe sleutelversie van een bestaande sleutel met nieuw sleutelmateriaal. Doelservices moeten versieloze sleutel-URI gebruiken om automatisch te vernieuwen naar de nieuwste versie van de sleutel. Zorg ervoor dat uw oplossing voor gegevensversleuteling versie-URI met gegevens opslaat om te verwijzen naar hetzelfde sleutelmateriaal voor ontsleutelen/uitpakken als is gebruikt voor versleuteling/wrapbewerkingen om onderbreking van uw services te voorkomen. Alle Azure-services volgen momenteel dat patroon voor gegevensversleuteling.

Configuratie van rotatiebeleid

Beleid voor sleutelrotatie configureren

Configureer sleutelrotatiebeleid tijdens het maken van de sleutel.

Rotatie configureren tijdens het maken van de sleutel

Configureer rotatiebeleid voor bestaande sleutels.

Rotatie op bestaande sleutel configureren

Azure-CLI

Sla sleutelrotatiebeleid op in een bestand. Voorbeeld van sleutelrotatiebeleid:

{
  "lifetimeActions": [
    {
      "trigger": {
        "timeAfterCreate": "P18M",
        "timeBeforeExpiry": null
      },
      "action": {
        "type": "Rotate"
      }
    },
    {
      "trigger": {
        "timeBeforeExpiry": "P30D"
      },
      "action": {
        "type": "Notify"
      }
    }
  ],
  "attributes": {
    "expiryTime": "P2Y"
  }
}

Stel rotatiebeleid in voor een sleutel die eerder opgeslagen bestanden doorgeeft met behulp van de azure CLI az keyvault key rotation-policy update command.

az keyvault key rotation-policy update --vault-name <vault-name> --name <key-name> --value </path/to/policy.json>

Azure PowerShell

Rotatiebeleid instellen met behulp van azure Powershell Set-AzKeyVaultKeyRotationPolicy-cmdlet .

Set-AzKeyVaultKeyRotationPolicy -VaultName <vault-name> -KeyName <key-name> -ExpiresIn (New-TimeSpan -Days 720) -KeyRotationLifetimeAction @{Action="Rotate";TimeAfterCreate= (New-TimeSpan -Days 540)}

Rotatie op aanvraag

Sleutelrotatie kan handmatig worden aangeroepen.

Portal

Klik op Nu draaien om de draaiing aan te roepen.

Rotatie op aanvraag

Azure-CLI

Gebruik azure CLI az keyvault key rotate command om de sleutel te draaien.

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

Azure PowerShell

Gebruik de Cmdlet Azure PowerShell Invoke-AzKeyVaultKeyRotation .

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

Melding over bijna verlopen van sleutel configureren

Configuratie van vervaldatummelding voor event grid-sleutel bijna verlopen gebeurtenis. Als geautomatiseerde rotatie niet kan worden gebruikt, zoals wanneer een sleutel wordt geïmporteerd uit lokale HSM, kunt u een melding voor bijna verlopen configureren als herinnering voor handmatige rotatie of als trigger voor aangepaste geautomatiseerde rotatie via integratie met Event Grid. U kunt een melding configureren met dagen, maanden en jaren voordat de vervaldatum wordt geactiveerd om een bijna verlopende gebeurtenis te activeren.

Melding configureren

Zie Azure Key Vault als Event Grid-bron voor meer informatie over Event Grid-meldingen in Key Vault

Sleutelrotatie configureren met ARM-sjabloon

Sleutelrotatiebeleid kan ook worden geconfigureerd met BEHULP van ARM-sjablonen.

Notitie

Hiervoor is de rol Key Vault-inzender vereist voor Key Vault die is geconfigureerd met Azure RBAC om de sleutel te implementeren via het beheervlak.

{
    "$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')]"
                    }
                }
            }
        }
    ]
}

Beleidsbeheer voor sleutelrotatie configureren

Met behulp van de Azure Policy-service kunt u de levenscyclus van de sleutel beheren en ervoor zorgen dat alle sleutels zijn geconfigureerd om binnen een opgegeven aantal dagen te draaien.

Beleidsdefinitie maken en toewijzen

  1. Navigeer naar beleidsresource
  2. Selecteer Toewijzingen onder Ontwerpen aan de linkerkant van de pagina Azure Policy.
  3. Selecteer Beleid toewijzen boven aan de pagina. Deze knop wordt geopend op de pagina Beleidstoewijzing.
  4. Voer de volgende gegevens in:
  5. Vul eventuele extra velden in. Navigeer door de tabbladen die op de knoppen Vorige en Volgende onder aan de pagina klikken.
  6. Selecteer Controleren en maken.
  7. Selecteer Maken.

Zodra het ingebouwde beleid is toegewezen, kan het tot 24 uur duren voordat de scan is voltooid. Nadat de scan is voltooid, ziet u de nalevingsresultaten zoals hieronder.

Schermopname van naleving van sleutelrotatiebeleid.

Resources