Azure Policy jako źródło usługi Event Grid

Ten artykuł zawiera właściwości i schemat zdarzeń Azure Policy. Aby zapoznać się z wprowadzeniem do schematów zdarzeń, zobacz Azure Event Grid schemat zdarzeń. Zawiera on również listę przewodników Szybki start i samouczków, których można używać Azure Policy jako źródła zdarzeń.

Dostępne typy zdarzeń

Azure Policy emituje następujące typy zdarzeń:

Typ zdarzenia Opis
Microsoft.PolicyInsights.PolicyStateCreated Zgłaszane po utworzeniu stanu zgodności zasad.
Microsoft.PolicyInsights.PolicyStateChanged Zgłaszane po zmianie stanu zgodności zasad.
Microsoft.PolicyInsights.PolicyStateDeleted Zgłaszane po usunięciu stanu zgodności zasad.

Właściwości zdarzenia

Zdarzenie ma następujące dane najwyższego poziomu:

Właściwość Typ Opis
topic ciąg Pełna ścieżka zasobu do źródła zdarzeń. To pole nie jest możliwe do zapisu. Ta wartość jest podawana przez usługę Event Grid.
subject ciąg W pełni kwalifikowany identyfikator zasobu, dla którego jest zmieniany stan zgodności, w tym nazwę zasobu i typ zasobu. Używa formatu, /subscriptions/<SubscriptionID>/resourceGroups/<ResourceGroup>/providers/<ProviderNamespace>/<ResourceType>/<ResourceName>
eventType ciąg Jeden z zarejestrowanych typów zdarzeń dla tego źródła zdarzeń.
eventTime ciąg Czas generowania zdarzenia na podstawie czasu UTC dostawcy.
id ciąg Unikatowy identyfikator zdarzenia.
data object Azure Policy dane zdarzenia.
dataVersion ciąg Wersja schematu obiektu danych. Wydawca definiuje wersję schematu.
metadataVersion ciąg Wersja schematu metadanych zdarzenia. Usługa Event Grid definiuje schemat właściwości najwyższego poziomu. Ta wartość jest podawana przez usługę Event Grid.

Obiekt danych ma następujące właściwości:

Właściwość Typ Opis
timestamp ciąg Godzina (w formacie UTC) skanowania zasobu przez Azure Policy. W przypadku zdarzeń porządkowania użyj tej właściwości zamiast właściwości najwyższego poziomu eventTime lub time właściwości.
policyAssignmentId ciąg Identyfikator zasobu przypisania zasad.
policyDefinitionId ciąg Identyfikator zasobu definicji zasad.
policyDefinitionReferenceId ciąg Identyfikator odwołania definicji zasad wewnątrz definicji inicjatywy, jeśli przypisanie zasad dotyczy inicjatywy. Może być pusty.
complianceState ciąg Stan zgodności zasobu w odniesieniu do przypisania zasad.
subscriptionId ciąg Identyfikator subskrypcji zasobu.
complianceReasonCode ciąg Kod przyczyny zgodności. Może być pusty.

Przykładowe zdarzenie

Poniższy przykład przedstawia schemat stanu zasad utworzonego zdarzenia o zakresie na poziomie subskrypcji:

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

Schemat zmienionego stanu zasad zdarzeń o określonym zakresie na poziomie subskrypcji jest podobny:

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

W poniższym przykładzie pokazano schemat stanu zasad utworzonego zdarzenia o zakresie na poziomie grupy zarządzania:

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

Schemat zmienionego stanu zasad zdarzeń o określonym zakresie na poziomie grupy zarządzania jest podobny:

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

Następne kroki