Azure Policy como origem do Event Grid

Este artigo fornece as propriedades e o esquema para Azure Policy eventos. Para obter uma introdução aos esquemas de eventos, veja Azure Event Grid esquema de eventos. Também lhe fornece uma lista de inícios rápidos e tutoriais para utilizar Azure Policy como origem de eventos.

Tipos de eventos disponíveis

Azure Policy emite os seguintes tipos de eventos:

Tipo de evento Descrição
Microsoft.PolicyInsights.PolicyStateCreated Gerado quando é criado um estado de conformidade de política.
Microsoft.PolicyInsights.PolicyStateChanged Gerado quando um estado de conformidade de política é alterado.
Microsoft.PolicyInsights.PolicyStateDeleted Gerado quando um estado de conformidade de política é eliminado.

Propriedades do evento

Um evento tem os seguintes dados de nível superior:

Propriedade Tipo Description
topic cadeia (de carateres) Caminho de recurso completo para a origem do evento. Este campo não é gravável. O Event Grid fornece este valor.
subject string O ID completamente qualificado do recurso para o qual se destina a alteração do estado de conformidade, incluindo o nome do recurso e o tipo de recurso. Utiliza o formato, /subscriptions/<SubscriptionID>/resourceGroups/<ResourceGroup>/providers/<ProviderNamespace>/<ResourceType>/<ResourceName>
eventType string Um dos tipos de eventos registados para esta origem de evento.
eventTime string A hora em que o evento é gerado com base na hora UTC do fornecedor.
id string Identificador exclusivo do evento.
data objeto Azure Policy dados de eventos.
dataVersion string A versão do esquema do objeto de dados. O publicador define a versão do esquema.
metadataVersion string A versão do esquema dos metadados do evento. O Event Grid define o esquema das propriedades de nível superior. O Event Grid fornece este valor.

O objeto de dados tem as seguintes propriedades:

Propriedade Tipo Description
timestamp cadeia (de carateres) A hora (em UTC) em que o recurso foi analisado por Azure Policy. Para ordenar eventos, utilize esta propriedade em vez do nível eventTime superior ou time propriedades.
policyAssignmentId string O ID de recurso da atribuição de política.
policyDefinitionId string O ID de recurso da definição de política.
policyDefinitionReferenceId string O ID de referência para a definição de política dentro da definição de iniciativa, se a atribuição de política for para uma iniciativa. Pode estar vazio.
complianceState string O estado de conformidade do recurso relativamente à atribuição de políticas.
subscriptionId string O ID da subscrição do recurso.
complianceReasonCode string O código do motivo da conformidade. Pode estar vazio.

Evento de exemplo

O exemplo seguinte mostra o esquema de um evento criado pelo estado de política no âmbito da subscrição:

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

O esquema de um estado de política alterado no âmbito do evento ao nível da subscrição é semelhante:

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

O exemplo seguinte mostra o esquema de um evento criado pelo estado de política no âmbito do grupo de gestão:

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

O esquema de um estado de política alterado no âmbito do evento ao nível do grupo de gestão é semelhante:

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

Passos seguintes