Azure Policy als Event Grid-Quelle

In diesem Artikel werden die Eigenschaften und das Schema für Azure Policy-Ereignisse angegeben. Eine Einführung in Ereignisschemas finden Sie unter Azure Event Grid-Ereignisschema. Außerdem erhalten Sie eine Liste mit Schnellstarts und Tutorials, die Azure Policy als Ereignisquelle verwenden.

Verfügbare Ereignistypen

Azure Policy gibt die folgenden Ereignistypen aus:

Ereignistyp BESCHREIBUNG
Microsoft.PolicyInsights.PolicyStateCreated Wird ausgelöst, wenn ein Zustand der Richtlinienkonformität erstellt wird.
Microsoft.PolicyInsights.PolicyStateChanged Wird ausgelöst, wenn ein Status der Richtlinienkonformität geändert wird.
Microsoft.PolicyInsights.PolicyStateDeleted Wird ausgelöst, wenn ein Status der Richtlinienkonformität gelöscht wird.

Ereigniseigenschaften

Ein Ereignis weist die folgenden Daten auf oberster Ebene aus:

Eigenschaft Typ BESCHREIBUNG
topic Zeichenfolge Vollständiger Ressourcenpfaf zur Ereignisquelle. Dieses Feld ist nicht beschreibbar. Dieser Wert wird von Event Grid bereitgestellt.
subject Zeichenfolge Die vollständig qualifizierte ID der Ressource, für die die Änderung des Konformitätsstatus gilt, einschließlich des Ressourcennamens und des Ressourcentyps. Verwendet das Format /subscriptions/<SubscriptionID>/resourceGroups/<ResourceGroup>/providers/<ProviderNamespace>/<ResourceType>/<ResourceName>.
eventType Zeichenfolge Einer der registrierten Ereignistypen für die Ereignisquelle.
eventTime Zeichenfolge Die Zeit, in der das Ereignis generiert wird, basierend auf der UTC-Zeit des Anbieters.
id Zeichenfolge Eindeutiger Bezeichner für das Ereignis.
data Objekt (object) Azure Policy-Ereignisdaten.
dataVersion Zeichenfolge Die Schemaversion des Datenobjekts. Der Herausgeber definiert die Schemaversion.
metadataVersion Zeichenfolge Die Schemaversion der Ereignismetadaten. Event Grid definiert das Schema der Eigenschaften der obersten Ebene. Dieser Wert wird von Event Grid bereitgestellt.

Das Datenobjekt weist die folgenden Eigenschaften auf:

Eigenschaft Typ BESCHREIBUNG
timestamp Zeichenfolge Die Zeit (in UTC), zu der die Ressource von Azure Policy gescannt wurde. Verwenden Sie zum Sortieren von Ereignissen diese Eigenschaft anstelle der Eigenschaften der obersten Ebene eventTime oder time.
policyAssignmentId Zeichenfolge Die Ressourcen-ID der Richtlinienzuweisung.
policyDefinitionId Zeichenfolge Die Ressourcen-ID der Richtliniendefinition.
policyDefinitionReferenceId Zeichenfolge Die Verweis-ID für die Richtliniendefinition innerhalb der Initiativendefinition, wenn die Richtlinienzuweisung für eine Initiative vorgesehen ist. Kann leer sein.
complianceState Zeichenfolge Der Konformitätszustand der Ressource in Bezug auf die Richtlinienzuweisung.
subscriptionId Zeichenfolge Die Abonnement-ID der Ressource.
complianceReasonCode Zeichenfolge Der Konformitätsursachencode. Kann leer sein.

Beispielereignis

Das folgende Beispiel zeigt das Schema eines auf der Abonnementebene erstellten Ereignisses mit dem Richtlinienstatus:

[{
    "id": "5829794FCB5075FCF585476619577B5A5A30E52C84842CBD4E2AD73996714C4C",
    "topic": "/subscriptions/<SubscriptionID>",
    "subject": "/subscriptions/<SubscriptionID>/resourceGroups/<ResourceGroup>/providers/<ProviderNamespace>/<ResourceType>/<ResourceName>",
    "data": {
        "timestamp": "2021-03-27T18:37:42.4496956Z",
        "policyAssignmentId": "<policy-assignment-scope>/providers/microsoft.authorization/policyassignments/<policy-assignment-name>",
        "policyDefinitionId": "<policy-definition-scope>/providers/microsoft.authorization/policydefinitions/<policy-definition-name>",
        "policyDefinitionReferenceId": "",
        "complianceState": "NonCompliant",
        "subscriptionId": "<subscription-id>",
        "complianceReasonCode": ""
    },
    "eventType": "Microsoft.PolicyInsights.PolicyStateCreated",
    "eventTime": "2021-03-27T18:37:42.5241536Z",
    "dataVersion": "1",
    "metadataVersion": "1"
}]

Das Schema für ein Ereignis zur Änderung des Zustands einer Richtlinie auf der Abonnementebene ist ähnlich:

[{
    "id": "5829794FCB5075FCF585476619577B5A5A30E52C84842CBD4E2AD73996714C4C",
    "topic": "/subscriptions/<SubscriptionID>",
    "subject": "/subscriptions/<SubscriptionID>/resourceGroups/<ResourceGroup>/providers/<ProviderNamespace>/<ResourceType>/<ResourceName>",
    "data": {
        "timestamp": "2021-03-27T18:37:42.4496956Z",
        "policyAssignmentId": "<policy-assignment-scope>/providers/microsoft.authorization/policyassignments/<policy-assignment-name>",
        "policyDefinitionId": "<policy-definition-scope>/providers/microsoft.authorization/policydefinitions/<policy-definition-name>",
        "policyDefinitionReferenceId": "",
        "complianceState": "NonCompliant",
        "subscriptionId": "<subscription-id>",
        "complianceReasonCode": ""
    },
    "eventType": "Microsoft.PolicyInsights.PolicyStateChanged",
    "eventTime": "2021-03-27T18:37:42.5241536Z",
    "dataVersion": "1",
    "metadataVersion": "1"
}]

Das folgende Beispiel zeigt das Schema eines auf der Ebene der Verwaltungsgruppe erstellten Ereignisses mit dem Richtlinienstatus:

[{
    "id": "5829794FCB5075FCF585476619577B5A5A30E52C84842CBD4E2AD73996714C4C",
    "topic": "/tenants/<tenantId>/providers/Microsoft.Management/managementGroups/<managementGroupId>",
    "subject": "/subscriptions/<SubscriptionID>/resourceGroups/<ResourceGroup>/providers/<ProviderNamespace>/<ResourceType>/<ResourceName>",
    "data": {
        "timestamp": "2021-03-27T18:37:42.4496956Z",
        "policyAssignmentId": "<policy-assignment-scope>/providers/microsoft.authorization/policyassignments/<policy-assignment-name>",
        "policyDefinitionId": "<policy-definition-scope>/providers/microsoft.authorization/policydefinitions/<policy-definition-name>",
        "policyDefinitionReferenceId": "",
        "complianceState": "NonCompliant",
        "subscriptionId": "<subscription-id>",
        "complianceReasonCode": ""
    },
    "eventType": "Microsoft.PolicyInsights.PolicyStateCreated",
    "eventTime": "2021-03-27T18:37:42.5241536Z",
    "dataVersion": "1",
    "metadataVersion": "1"
}]

Das Schema für ein Ereignis zur Änderung des Zustands einer Richtlinie auf der Verwaltungsgruppenebene ist ähnlich:

[{
    "id": "5829794FCB5075FCF585476619577B5A5A30E52C84842CBD4E2AD73996714C4C",
    "topic": "/tenants/<tenantId>/providers/Microsoft.Management/managementGroups/<managementGroupId>",
    "subject": "/subscriptions/<SubscriptionID>/resourceGroups/<ResourceGroup>/providers/<ProviderNamespace>/<ResourceType>/<ResourceName>",
    "data": {
        "timestamp": "2021-03-27T18:37:42.4496956Z",
        "policyAssignmentId": "<policy-assignment-scope>/providers/microsoft.authorization/policyassignments/<policy-assignment-name>",
        "policyDefinitionId": "<policy-definition-scope>/providers/microsoft.authorization/policydefinitions/<policy-definition-name>",
        "policyDefinitionReferenceId": "",
        "complianceState": "NonCompliant",
        "subscriptionId": "<subscription-id>",
        "complianceReasonCode": ""
    },
    "eventType": "Microsoft.PolicyInsights.PolicyStateChanged",
    "eventTime": "2021-03-27T18:37:42.5241536Z",
    "dataVersion": "1",
    "metadataVersion": "1"
}]

Nächste Schritte