Rozwiązywanie problemów z wdrażaniem zasad platformy Azure w Key Vault

W tym artykule opisano sposób rozwiązywania ogólnych błędów, które mogą wystąpić podczas konfigurowania Azure Policy dla Key Vault i sugeruje sposoby ich rozwiązania.

Informacje o zasadach platformy Azure dla 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ę. Azure Policy umożliwia umieszczenie barier ochronnych w zasobach platformy Azure w celu zapewnienia ich zgodności z przypisanymi regułami zasad. Umożliwia 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 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 Key Vault.

Po włączeniu rejestrowania zostanie automatycznie utworzony nowy kontener o nazwie AzurePolicyEvaluationDetails w celu zbierania informacji dotyczących 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ładowe wpisowi dziennika dla zasad klucz: 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 niezgodne.

{
  "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, wpis tajny lub klucz
IsComplianceCheck Prawda, jeśli ocena miała miejsce podczas nocnego przeprowadzania inspekcji, wartość false, jeśli wystąpiła ocena podczas tworzenia lub aktualizowania zasobów
Assignmentid 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

Key Vault odzyskiwanie 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 niestandardowe zasady z własną logiką, oto przykładowa część zasad, która może służyć do wymagania usuwania nietrwałego. Odzyskiwanie magazynu usuniętego nietrwale używa tego samego interfejsu API co tworzenie lub aktualizowanie magazynu. Jednak zamiast określać właściwości magazynu, ma pojedynczą 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 ignorowanie żądań, w których element "createMode" to "recover":

Zobaczysz, że zawiera ona klauzulę, która powoduje zastosowanie zasad tylko wtedy, gdy wartość "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 Key Vault

Microsoft.KeyVault.Data: wymuszanie usuniętego przypisania zasad może potrwać do 24 godzin.

Ograniczenie ryzyka: zaktualizuj efekt przypisania zasad na wartość "Wyłączone".

Tworzenie wpisu tajnego za pośrednictwem szablonu usługi ARM nie ma oceny zasad

Zasady płaszczyzny danych, które oceniają tworzenie wpisów tajnych, nie będą stosowane wpisów tajnych utworzonych za pośrednictwem szablonu usługi ARM w momencie tworzenia wpisu tajnego. Po upływie 24 godzin, kiedy nastąpi automatyczna kontrola zgodności, a wyniki zgodności można przejrzeć.

Następne kroki