Udostępnij za pośrednictwem


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