Rozwiązywanie problemów z implementacją zasad platformy Azure w usłudze Key Vault
W tym artykule opisano sposób rozwiązywania ogólnych błędów, które mogą wystąpić podczas konfigurowania usługi Azure Policy dla usługi Key Vault, i sugeruje sposoby ich rozwiązywania.
Informacje o zasadach platformy Azure dla usługi Key Vault
Azure Policy to narzędzie do zapewniania ładu, które umożliwia użytkownikom przeprowadzanie inspekcji środowiska platformy Azure i zarządzanie nim na dużą skalę. Usługa Azure Policy umożliwia umieszczenie barier zabezpieczających w zasobach platformy Azure w celu zapewnienia ich zgodności z przypisanymi regułami zasad. Umożliwia to użytkownikom przeprowadzanie inspekcji, wymuszanie w czasie rzeczywistym i korygowanie środowiska platformy Azure. Wyniki inspekcji wykonywanych przez zasady będą dostępne dla użytkowników na pulpicie nawigacyjnym zgodności, w którym będą mogli zobaczyć przechodzenie do szczegółów, które zasoby i składniki są zgodne, a które nie.
Rejestrowanie
Aby monitorować sposób przeprowadzania ocen zasad, możesz przejrzeć dzienniki usługi Key Vault. Włączanie rejestrowania dla usługi Azure Key Vault, która zapisuje informacje na podanym koncie usługi Azure Storage. Aby uzyskać wskazówki krok po kroku, zobacz Jak włączyć rejestrowanie usługi Key Vault.
Po włączeniu rejestrowania zostanie automatycznie utworzony nowy kontener o nazwie AzurePolicyEvaluationDetails w celu zbierania informacji rejestrowania powiązanych z zasadami na określonym koncie magazynu.
Uwaga
Należy ściśle regulować dostęp do danych monitorowania, szczególnie plików dziennika, ponieważ mogą zawierać poufne informacje. Dowiedz się więcej na temat stosowania wbudowanej roli platformy Azure i ograniczania dostępu.
Poszczególne obiekty blob są przechowywane jako tekst w formacie obiektu blob JSON.
Przyjrzyjmy się przykładowej pozycji dziennika dla zasad klucza: klucze powinny mieć ustawioną datę wygaśnięcia. Te zasady oceniają wszystkie klucze w magazynach kluczy i flagi kluczy, które nie mają ustawionej daty wygaśnięcia jako niezgodnej.
{
"ObjectName": "example",
"ObjectType": "Key",
"IsComplianceCheck": false,
"EvaluationDetails": [
{
"AssignmentId": "<subscription ID>",
"AssignmentDisplayName": "[Preview]: Key Vault keys should have an expiration date",
"DefinitionId": "<definition ID>",
"DefinitionDisplayName": "[Preview]: Key Vault keys should have an expiration date",
"Outcome": "NonCompliant",
"ExpressionEvaluationDetails": [
{
"Result": "True",
"Expression": "type",
"ExpressionKind": "Field",
"ExpressionValue": "Microsoft.KeyVault.Data/vaults/keys",
"TargetValue": "Microsoft.KeyVault.Data/vaults/keys",
"Operator": "Equals"
},
{
"Result": "True",
"Expression": "Microsoft.KeyVault.Data/vaults/keys/attributes.expiresOn",
"ExpressionKind": "Field",
"ExpressionValue": "******",
"TargetValue": "False",
"Operator": "Exists"
}
]
}
]
}
W poniższej tabeli wymieniono nazwy pól i opisy:
Nazwa pola | opis |
---|---|
ObjectName | Nazwa obiektu |
ObjectType | Typ obiektu magazynu kluczy: certyfikat, klucz tajny lub klucz |
IsComplianceCheck | Prawda, jeśli ocena miała miejsce podczas nocnej inspekcji, wartość false, jeśli wystąpiła ocena podczas tworzenia lub aktualizowania zasobów |
Identyfikator przydziału | Identyfikator przypisania zasad |
AssignmentDisplayName | Przyjazna nazwa przypisania zasad |
Identyfikator definicji | Identyfikator definicji zasad dla przypisania |
DefinitionDisplayName | Przyjazna nazwa definicji zasad przypisania |
Wynik | Wynik oceny zasad |
ExpressionEvaluationDetails | Szczegółowe informacje o ocenach wykonywanych podczas oceny zasad |
ExpressionValue | Rzeczywista wartość określonego pola podczas oceny zasad |
TargetValue | Oczekiwana wartość określonego pola |
Często zadawane pytania
Odzyskiwanie usługi Key Vault zablokowane przez zasady platformy Azure
Jedną z przyczyn może być to, że subskrypcja (lub grupa zarządzania) ma zasady blokujące odzyskiwanie. Poprawka polega na dostosowaniu zasad tak, aby nie były stosowane podczas odzyskiwania magazynu.
Jeśli widzisz typ RequestDisallowedByPolicy
błędu odzyskiwania z powodu wbudowanych zasad, upewnij się, że używasz najbardziej zaktualizowanej wersji.
Jeśli utworzono zasady niestandardowe z własną logiką, poniżej przedstawiono przykładową część zasad, która może służyć do wymagania usuwania nietrwałego. Odzyskiwanie nietrwałego magazynu używa tego samego interfejsu API co tworzenie lub aktualizowanie magazynu. Jednak zamiast określać właściwości magazynu, ma on jedną właściwość "createMode" z wartością "recover". Magazyn zostanie przywrócony z właściwościami, które miały miejsce po usunięciu. Zasady, które blokują żądania, chyba że mają skonfigurowane określone właściwości, również zablokują odzyskiwanie nietrwałych magazynów usuniętych. Poprawka polega na dołączeniu klauzuli, która spowoduje, że zasady ignorują żądania, w których element "createMode" to "recover":
Zobaczysz, że ma klauzulę, która powoduje, że zasady mają być stosowane tylko wtedy, gdy "createMode" nie jest równa "recover":
"policyRule": {
"if": {
"allOf": [
{
"field": "type",
"equals": "Microsoft.KeyVault/vaults"
},
{
"not": {
"field": "Microsoft.Keyvault/vaults/createMode",
"equals": "recover"
}
},
{
"anyOf": [
{
"field": "Microsoft.KeyVault/vaults/enableSoftDelete",
"exists": "false"
},
{
"field": "Microsoft.KeyVault/vaults/enableSoftDelete",
"equals": "false"
}
]
}
]
},
"then": {
"effect": "[parameters('effect')]"
}
}
Opóźnienie usuwania przypisania zasad platformy Azure w usłudze Key Vault
Microsoft.KeyVault.Data: usunięcie przypisania zasad może potrwać do 24 godzin, aby przestać być wymuszane.
Środki zaradcze: zaktualizuj efekt przypisania zasad na „Wyłączone”.
Tworzenie wpisu tajnego za pomocą szablonu usługi ARM nie ma oceny zasad
Zasady płaszczyzny danych, które oceniają tworzenie wpisów tajnych, nie będą stosowane w wpisach tajnych utworzonych za pośrednictwem szablonu usługi ARM podczas tworzenia wpisu tajnego. Po upływie 24 godzin, kiedy zostanie wykonana automatyczna kontrola zgodności, a wyniki zgodności można przejrzeć.
Następne kroki
- Dowiedz się, jak rozwiązywać problemy z błędami przy użyciu usługi Azure Policy
- Dowiedz się więcej o znanych problemach z usługą Azure Policy