Konfigurowanie automatycznego obracania klucza kryptograficznego w usłudze Azure Key Vault
Omówienie
Automatyczna rotacja kluczy kryptograficznych w usłudze Key Vault umożliwia użytkownikom skonfigurowanie usługi Key Vault w celu automatycznego generowania nowej wersji klucza z określoną częstotliwością. Aby skonfigurować obracanie, można użyć zasad obracania kluczy, które można zdefiniować dla poszczególnych, pojedynczych kluczy.
Naszą rekomendacją jest obracanie kluczy szyfrowania co najmniej co dwa lata w celu spełnienia najlepszych rozwiązań kryptograficznych.
Aby uzyskać więcej informacji na temat sposobu przechowywania wersji obiektów w usłudze Key Vault, zobacz Obiekty, identyfikatory i przechowywanie wersji w usłudze Key Vault.
Integracja z usługami Azure
Ta funkcja umożliwia kompleksową rotację bezobsługową 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 dokumentacją konkretnej usługi platformy Azure, aby sprawdzić, czy usługa obejmuje kompleksowe obracanie.
Aby uzyskać więcej informacji na temat szyfrowania danych na platformie Azure, zobacz:
Cennik
Za zaplanowane obracanie klucza jest naliczany dodatkowy koszt. Aby uzyskać więcej informacji, zobacz stronę Cennik usługi Azure Key Vault
Wymagane uprawnienia
Funkcja rotacji kluczy usługi Key Vault wymaga uprawnień do zarządzania kluczami. Rolę "Crypto Officer usługi Key Vault" można przypisać do zarządzania zasadami rotacji i rotacją na żądanie.
Aby uzyskać więcej informacji na temat używania modelu uprawnień RBAC usługi 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 "Obróć", "Ustaw zasady rotacji" i "Pobierz zasady rotacji" uprawnienia klucza do zarządzania zasadami rotacji kluczy.
Zasady rotacji kluczy
Zasady rotacji kluczy umożliwiają użytkownikom konfigurowanie powiadomień rotacji i powiadomień usługi Event Grid w pobliżu wygaśnięcia.
Ustawienia zasad rotacji kluczy:
- Czas wygaśnięcia: interwał wygaśnięcia klucza. Służy do ustawiania daty wygaśnięcia na nowo obrócony klucz. 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 to ustawienia "Czas wygaśnięcia" dla zasad rotacji i "Data wygaśnięcia" ustawionego na kluczu.
- Czas rotacji: interwał rotacji klucza, minimalna wartość to siedem dni od utworzenia i siedem dni od czasu wygaśnięcia
- Czas powiadomienia: interwał zdarzenia klucza bliskiego wygaśnięcia dla powiadomienia usługi Event Grid. Wymaga to 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 do automatycznego odświeżania 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, który został użyty do operacji szyfrowania/zawijania, aby uniknąć zakłóceń w usługach. Wszystkie usługi platformy Azure są obecnie zgodnie z tym 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 dla klucza przekazującego wcześniej zapisany plik przy użyciu polecenia az keyvault key rotation-policy update interfejsu wiersza polecenia platformy Azure.
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
Aby obrócić klucz, użyj polecenia az keyvault key rotate interfejsu wiersza polecenia platformy Azure.
az keyvault key rotate --vault-name <vault-name> --name <key-name>
Azure PowerShell
Użyj polecenia cmdlet Invoke-AzKeyVaultKeyRotation dla programu Azure PowerShell.
Invoke-AzKeyVaultKeyRotation -VaultName <vault-name> -Name <key-name>
Konfigurowanie powiadomienia o zbliżające się wygaśnięciu klucza
Konfiguracja powiadomienia o wygaśnięciu klucza usługi Event Grid w pobliżu zdarzenia wygaśnięcia. Jeśli nie można użyć zautomatyzowanego obracania, na przykład w przypadku zaimportowania klucza z lokalnego modułu HSM, możesz skonfigurować powiadomienie o niemal wygaśnięciu jako przypomnienie dotyczące rotacji ręcznej lub jako wyzwalacz niestandardowej automatycznej rotacji za pośrednictwem integracji z usługą Event Grid. Możesz skonfigurować powiadomienie z dniami, miesiącami i latami przed wygaśnięciem, aby wyzwolić zdarzenie bliskiego wygaśnięcia.
Aby uzyskać więcej informacji na temat powiadomień usługi Event Grid w usłudze Key Vault, zobacz Usługa 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 "Współautor usługi Key Vault" w usłudze 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')]"
}
}
}
}
]
}
Konfigurowanie ładu zasad rotacji kluczy
Korzystając z usługi Azure Policy, możesz zarządzać cyklem życia klucza i upewnić się, że wszystkie klucze są skonfigurowane do rotacji w ciągu określonej liczby dni.
Tworzenie i przypisywanie definicji zasad
- Przejdź do zasobu zasad
- Wybierz pozycję Przypisania w obszarze Tworzenie po lewej stronie usługi Azure Policy.
- Wybierz pozycję Przypisz zasady w górnej części strony. Ten przycisk zostanie otwarty na stronie Przypisywanie zasad.
- Wprowadź następujące informacje:
- Zdefiniuj zakres zasad, wybierając subskrypcję i grupę zasobów, w której będą wymuszane zasady. Wybierz, klikając przycisk z trzema kropkami w polu Zakres .
- Wybierz nazwę definicji zasad: "Klucze powinny mieć zasady rotacji, aby ich rotacja została zaplanowana w ciągu określonej liczby dni po utworzeniu. "
- Przejdź do karty Parametry w górnej części strony.
- Ustaw wartość parametru Maksymalna liczba dni do rotacji na żądaną liczbę dni, na przykład 730.
- Zdefiniuj pożądany efekt zasad (Inspekcja lub Wyłączone).
- Wypełnij wszystkie dodatkowe pola. Nawiguj na kartach klikając przyciski Wstecz i Dalej w dolnej części strony.
- Wybierz pozycję Przejrzyj i utwórz
- Wybierz pozycję Utwórz
Po przypisaniu wbudowanych zasad wykonanie skanowania może potrwać do 24 godzin. Po zakończeniu skanowania można zobaczyć wyniki zgodności, takie jak poniżej.
Zasoby
- Monitorowanie usługi Key Vault za pomocą usługi Azure Event Grid
- Kontrola dostępu oparta na rolach platformy Azure do kontrolowania 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