Konfigurowanie automatycznego obrotu klucza kryptograficznego w usłudze Azure Key Vault
Omówienie
Automatyczna rotacja kluczy kryptograficznych w Key Vault umożliwia użytkownikom skonfigurowanie Key Vault automatycznego generowania nowej wersji klucza z określoną częstotliwością. Aby skonfigurować rotację, można użyć zasad rotacji kluczy, które można zdefiniować dla każdego klucza.
Naszym zaleceniem jest rotacja kluczy szyfrowania co najmniej co dwa lata w celu spełnienia najlepszych rozwiązań kryptograficznych.
Aby uzyskać więcej informacji na temat sposobu przechowywania obiektów w Key Vault, zobacz Key Vault obiektów, identyfikatorów i wersji.
Integracja z usługami Azure
Ta funkcja umożliwia kompleksową rotację bezdotykową na potrzeby szyfrowania magazynowanych usług platformy Azure przy użyciu klucza zarządzanego przez klienta (CMK) przechowywanego w usłudze Azure Key Vault. Zapoznaj się z konkretną dokumentacją usługi platformy Azure, aby sprawdzić, czy usługa obejmuje kompleksową rotację.
Aby uzyskać więcej informacji na temat szyfrowania danych na platformie Azure, zobacz:
Cennik
Za zaplanowaną rotację kluczy jest naliczany dodatkowy koszt. Aby uzyskać więcej informacji, zobacz stronę cennika usługi Azure Key Vault
Wymagane uprawnienia
Key Vault funkcja rotacji kluczy wymaga uprawnień do zarządzania kluczami. Rolę "Key Vault Crypto Officer" można przypisać do zarządzania zasadami rotacji i rotacją na żądanie.
Aby uzyskać więcej informacji na temat używania modelu uprawnień RBAC Key Vault i przypisywania ról platformy Azure, zobacz Używanie kontroli dostępu opartej na rolach platformy Azure w celu kontrolowania dostępu do kluczy, certyfikatów i wpisów tajnych
Uwaga
Jeśli używasz modelu uprawnień zasad dostępu, wymagane jest ustawienie uprawnień "Obróć", "Ustaw zasady rotacji" i "Pobierz zasady rotacji", aby zarządzać zasadami rotacji kluczy.
Zasady rotacji kluczy
Zasady rotacji kluczy umożliwiają użytkownikom konfigurowanie powiadomień dotyczących rotacji i usługi Event Grid w pobliżu powiadomienia o wygaśnięciu.
Ustawienia zasad rotacji kluczy:
- Czas wygaśnięcia: interwał wygaśnięcia klucza. Służy do ustawiania daty wygaśnięcia dla nowo obróconego klucza. Nie ma to wpływu na bieżący klucz.
- Włączone/wyłączone: flaga włączania lub wyłączania rotacji klucza
- Typy rotacji:
- Automatyczne odnawianie w danym momencie po utworzeniu (ustawienie domyślne)
- Automatyczne odnawianie w danym momencie przed wygaśnięciem. Wymaga ono ustawienia "Czas wygaśnięcia" dla zasad rotacji i "Data wygaśnięcia" ustawionego na kluczu.
- Czas rotacji: interwał rotacji klucza, minimalna wartość wynosi siedem dni od utworzenia i siedem dni od czasu wygaśnięcia
- Czas powiadomienia: interwał zdarzeń w pobliżu wygaśnięcia dla powiadomienia usługi Event Grid. Wymaga ono ustawienia "Czas wygaśnięcia" dla zasad rotacji i "Data wygaśnięcia" ustawionego na kluczu.
Ważne
Rotacja kluczy generuje nową wersję klucza istniejącego klucza z nowym materiałem klucza. Usługi docelowe powinny używać identyfikatora URI klucza bez wersji, aby automatycznie odświeżyć do najnowszej wersji klucza. Upewnij się, że rozwiązanie do szyfrowania danych przechowuje identyfikator URI klucza w wersji z danymi, aby wskazać ten sam materiał klucza do odszyfrowywania/odpakowywania, jak użyto do operacji szyfrowania/zawijania, aby uniknąć zakłóceń w usługach. Wszystkie usługi platformy Azure są obecnie następujące zgodnie ze wzorcem szyfrowania danych.
Konfigurowanie zasad rotacji kluczy
Skonfiguruj zasady rotacji kluczy podczas tworzenia klucza.
Skonfiguruj zasady rotacji dla istniejących kluczy.
Interfejs wiersza polecenia platformy Azure
Zapisz zasady rotacji kluczy w pliku. Przykład zasad rotacji kluczy:
{
"lifetimeActions": [
{
"trigger": {
"timeAfterCreate": "P18M",
"timeBeforeExpiry": null
},
"action": {
"type": "Rotate"
}
},
{
"trigger": {
"timeBeforeExpiry": "P30D"
},
"action": {
"type": "Notify"
}
}
],
"attributes": {
"expiryTime": "P2Y"
}
}
Ustaw zasady rotacji klucza przekazującego wcześniej zapisany plik za pomocą polecenia az keyvault keyvault key rotation-policy update .
az keyvault key rotation-policy update --vault-name <vault-name> --name <key-name> --value </path/to/policy.json>
Azure PowerShell
Ustaw zasady rotacji przy użyciu polecenia 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)}
Rotacja na żądanie
Rotacja kluczy może być wywoływana ręcznie.
Portal
Kliknij pozycję "Obróć teraz", aby wywołać rotację.
Interfejs wiersza polecenia platformy Azure
Użyj polecenia az keyvault key rotate interfejsu wiersza polecenia platformy Azure, aby obrócić klucz.
az keyvault key rotate --vault-name <vault-name> --name <key-name>
Azure PowerShell
Użyj polecenia cmdlet Azure PowerShell Invoke-AzKeyVaultKeyRotation.
Invoke-AzKeyVaultKeyRotation -VaultName <vault-name> -Name <key-name>
Konfigurowanie powiadomienia o wygaśnięciu klucza w pobliżu wygaśnięcia
Konfiguracja powiadomienia o wygaśnięciu klucza usługi Event Grid w pobliżu zdarzenia wygaśnięcia. Powiadomienie można skonfigurować z dniami, miesiącami i latami przed wygaśnięciem, aby wyzwolić zdarzenie zbliżające się do wygaśnięcia.
Aby uzyskać więcej informacji na temat powiadomień usługi Event Grid w Key Vault, zobacz Azure Key Vault jako źródło usługi Event Grid
Konfigurowanie rotacji kluczy przy użyciu szablonu usługi ARM
Zasady rotacji kluczy można również skonfigurować przy użyciu szablonów usługi ARM.
Uwaga
Wymaga ona roli "Key Vault Współautor" w Key Vault skonfigurowanej przy użyciu kontroli dostępu opartej na rolach platformy Azure w celu wdrożenia klucza za pośrednictwem płaszczyzny zarządzania.
{
"$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')]"
}
}
}
}
]
}
Zasoby
- Monitorowanie Key Vault za pomocą Azure Event Grid
- Kontrola dostępu oparta na rolach platformy Azure umożliwia kontrolowanie dostępu do kluczy, certyfikatów i wpisów tajnych
- Usługa Azure Data Encryption w spoczynku
- Szyfrowanie usługi Azure Storage
- Usługa Azure Disk Encryption
- Automatyczna rotacja kluczy na potrzeby przezroczystego szyfrowania danych