Behandeln von Problemen bei der Implementierung von Azure Policy für Key Vault

In diesem Artikel erfahren Sie, wie Sie allgemeine Fehler beheben, die beim Einrichten von Azure Policy für Key Vault auftreten können, und wie Sie diese beheben können.

Informationen zu Azure Policy für Key Vault

Azure Policy ist ein Governancetool, mit dem Benutzer ihre Azure-Umgebung bedarfsorientiert überwachen und verwalten können. Azure Policy bietet die Möglichkeit, Schutzmaßnahmen für Azure-Ressourcen zu ergreifen, um sicherzustellen, dass diese mit den zugewiesenen Richtlinienregeln konform sind. Es ermöglicht es Benutzern, eine Überwachung, Echtzeiterzwingung und Wiederherstellung ihrer Azure-Umgebung auszuführen. Die Ergebnisse von Überwachungen, die per Richtlinie durchgeführt werden, stehen Benutzern auf einem Konformitätsdashboard zur Verfügung. Es wird angezeigt, welche Ressourcen und Komponenten konform sind und welche nicht.

Protokollierung

Um zu überwachen, wie Richtlinienauswertungen durchgeführt werden, können Sie die Key Vault-Protokolle überprüfen. Aktivieren der Protokollierung in Azure Key Vault. Dabei werden Informationen in einem von Ihnen angegebenen Azure-Speicherkonto gespeichert. Eine detaillierte Anleitung finden Sie unter Aktivieren der Protokollierung in Key Vault.

Wenn Sie Protokollierung aktivieren, wird automatisch ein neuer Container mit dem Namen AzurePolicyEvaluationDetails erstellt, um richtlinienbezogene Protokollierungsinformationen in Ihrem angegebenen Speicherkonto zu erfassen.

Hinweis

Sie sollten den Zugriff auf Überwachungsdaten (insbesondere Protokolldateien) streng regeln, da diese vertrauliche Informationen enthalten können. Erfahren Sie mehr über das Anwenden der integrierten Azure-Überwachungsrolle und das Einschränken des Zugriffs.

Einzelne Blobs werden als Text und formatiert als JSON-Blob gespeichert.

Sehen wir uns einen Beispielprotokolleintrag für eine Schlüsselrichtlinie an: Für Schlüssel sollte das Ablaufdatum festgelegt sein. Mit dieser Richtlinie werden alle Schlüssel in Ihren Schlüsseltresoren ausgewertet und die Schlüssel, für die kein Ablaufdatum festgelegt ist, als nicht konform gekennzeichnet.

{
  "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"
        }
      ]
    }
  ]
}

In der folgenden Tabelle sind die Feldnamen und Beschreibungen aufgeführt:

Feldname BESCHREIBUNG
ObjectName Name des Objekts
ObjectType Typ des Schlüsseltresorobjekts: Zertifikat, Geheimnis oder Schlüssel
IsComplianceCheck TRUE, wenn die Auswertung während der nachts durchgeführten Überwachung erfolgt ist, FALSE, wenn die Auswertung während der Ressourcenerstellung oder -aktualisierung erfolgt ist.
AssignmentId Dies ist die ID der Richtlinienzuweisung.
AssignmentDisplayName Dies ist der Anzeigename der Richtlinienzuweisung.
DefinitionId Dies ist die ID der Richtliniendefinition für die Zuweisung.
DefinitionDisplayName Dies ist der Anzeigename der Richtliniendefinition für die Zuweisung.
Ergebnis Dies ist das Ergebnis der Richtlinienauswertung.
ExpressionEvaluationDetails Dies sind Details zu den Auswertungen, die während der Richtlinienauswertung durchgeführt wurden.
ExpressionValue Dies ist der tatsächliche Wert des angegebenen Felds während der Richtlinienauswertung.
TargetValue Dies ist der erwartete Wert des angegebenen Felds.

Häufig gestellte Fragen

Key Vault-Wiederherstellung wird durch Azure Policy blockiert

Einer der Gründe kann sein, dass Ihr Abonnement (oder Ihre Verwaltungsgruppe) über eine Richtlinie verfügt, die die Wiederherstellung blockiert. Die Korrektur besteht darin, die Richtlinie so anzupassen, dass sie nicht angewendet wird, wenn ein Tresor wiederhergestellt wird.

Wenn Sie den Fehlertyp RequestDisallowedByPolicy für die Wiederherstellung aufgrund einer integrierten Richtlinie sehen, stellen Sie sicher, dass Sie die aktuellste Version verwenden.

Wenn Sie eine benutzerdefinierte Richtlinie mit Ihrer eigenen Logik erstellt haben, finden Sie hier ein Beispiel für einen Teil einer Richtlinie, der verwendet werden kann, um vorläufiges Löschen zu erfordern. Bei der Wiederherstellung eines vorläufig gelöschten Tresors wird die gleiche API wie beim Erstellen oder Aktualisieren eines Tresors verwendet. Anstatt jedoch die Eigenschaften des Tresors anzugeben, verfügt er über eine einzelne createMode-Eigenschaft mit dem Wert „recover“. Der Tresor wird mit den Eigenschaften wiederhergestellt, die er beim Löschen aufwies. Richtlinien, die Anforderungen blockieren, wenn für sie keine spezifischen Eigenschaften konfiguriert sind, blockieren auch die Wiederherstellung von vorläufig gelöschten Tresoren. Die Korrektur besteht darin, eine Klausel einzufügen, die bewirkt, dass die Richtlinie Anforderungen ignoriert, bei denen createMode den Wert „recover“ aufweist:

Sie werden sehen, dass es eine Klausel gibt, die bewirkt, dass die Richtlinie nur angewendet wird, wenn createMode nicht gleich „recover“ ist:


    "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')]"
      }
    }

Latenz beim Löschen einer Azure-Richtlinienzuweisung für Key Vault

Microsoft.KeyVault.Data: Es kann bis zu 24 Stunden dauern, bis eine gelöschte Richtlinienzuweisung nicht mehr erzwungen wird.

Entschärfung: Aktualisieren Sie die Auswirkung der Richtlinienzuweisung in „Disabled“ (Deaktiviert).

Geheimniserstellung über ARM-Vorlage lässt Richtlinienauswertung aus

Richtlinien auf Datenebene, die die Geheimniserstellung auswerten, gelten nicht für Geheimnisse, die zum Zeitpunkt der Geheimniserstellung über eine ARM-Vorlage erstellt wurden. Nach 24 Stunden, wenn die automatisierte Konformitätsprüfung auftreten würde und die Konformitätsergebnisse überprüft werden können.

Nächste Schritte