Compartilhar via


Notificações de recursos do Azure – Eventos de gerenciamento de recursos na Grade de Eventos do Azure

O tópico do sistema de Gerenciamento de Recursos do Azure fornece insights sobre o ciclo de vida de vários recursos do Azure.

Os tópicos do sistema da Grade de Eventos para assinaturas do Azure e grupos de recursos do Azure fornecem eventos de ciclo de vida de recursos usando uma gama mais ampla de tipos de eventos, incluindo eventos de ação, gravação e exclusão para cenários que envolvem êxito, falha e cancelamento. No entanto, vale a pena observar que eles não incluem o conteúdo do recurso. Para obter detalhes sobre esses eventos, consulte o tópico do sistema da Grade de Eventos para assinaturas do Azure e o tópico do sistema de Grade de Eventos para grupos de recursos do Azure.

Em contraste, o tópico do sistema Gerenciamento de Recursos do Azure (ARN) da plataforma Gerenciamento de Recursos do Azure oferece uma seleção mais direcionada de tipos de eventos, especificamente CreatedOrUpdated (correspondente ao ResourceWriteSuccess no tópico do sistema de assinatura da Grade de Eventos do Azure) e Deleted (correspondente ao ResourceDeleteSuccess no tópico do sistema de assinatura da Grade de Eventos do Azure). Esses eventos vêm com informações abrangentes de conteúdo, tornando mais fácil para os clientes aplicar filtragem e refinar seu fluxo de notificação.

Para obter a lista de tipos de recursos expostos, consulte Recursos do Azure Resource Graph ou use a seguinte consulta do Azure Resource Graph.

resources
| distinct ['type']

Observação

O tópico do sistema de Gerenciamento de Recursos do Azure ainda não dá suporte a todos os tipos de recursos da tabela de recursos do Azure Resource Graph. Estamos trabalhando para melhorar essa experiência.

Tipos de evento

O tópico do sistema dos Recursos do ARN oferece dois tipos de evento para consumo:

Tipo de evento Descrição
Microsoft.ResourceNotifications.Resources.CreatedOrUpdated Gerado quando um recurso é criado ou atualizado com êxito.
Microsoft.ResourceNotifications.Resources.Deleted Gerado quando um recurso é excluído.

Controle de acesso baseado em função

Atualmente, esses eventos são emitidos exclusivamente no escopo da assinatura do Azure. Isso implica que a entidade que cria a assinatura de evento para este tipo de tópico recebe notificações em toda essa assinatura do Azure. Por motivos de segurança, é imperativo restringir a capacidade de criar assinaturas de evento nesse tópico para entidades de segurança com acesso de leitura em toda a assinatura do Azure. Para acessar dados por meio desse tópico do sistema, além das permissões genéricas exigidas pela Grade de Eventos, a seguinte permissão específica de Notificações de Recursos do Azure é necessária: Microsoft.ResourceNotifications/systemTopics/subscribeToResources/action.

Esquemas de eventos

Essa seção fornece esquemas para os eventos CreatedOrUpdated e Deleted.

Esquema de evento para evento CreatedOrUpdated

Aqui está o esquema:

{
    "id": "string",
    "source": "string",
    "subject": "string",
    "data": {
        "resourceInfo": {
            "id": "string",
            "name": "string",
            "type": "string",
            "location": "string",
            "tags": "string",
            "properties": {
                "_comment": "object-unique-to-each-publisher"
            }
        },
        "apiVersion": "string",
        "operationalInfo": {
            "resourceEventTime": "datetime"
        }
    },
    "type": "string",
    "specversion": "string",
    "time": "string"
}

Esquema de eventos para evento Deleted

Aqui está o esquema:

{
    "id": "string",
    "source": "string",
    "subject": "string",
    "data": {
        "resourceInfo": {
            "id": "string",
            "name": "string",
            "type": "string"
        },
        "operationalInfo": {
            "resourceEventTime": "datetime"
        }
    },
    "type": "string",
    "specversion": "string",
    "time": "string"
}

Um evento no formato de esquema de eventos da Grade de Eventos tem as seguintes propriedades de nível superior:

Propriedade Type Descrição
id Cadeia de caracteres Identificador exclusivo do evento
topic String A assinatura do Azure para a qual este tópico do sistema está sendo criado
subject String Caminho definido pelo publicador para o recurso base no qual esse evento é emitido.
data Objeto Contém dados de evento específicos para o provedor de recursos. Para obter mais informações, confira a próxima seção.
eventType String Tipo de evento registrado deste tipo de tópico do sistema
dataVersion String A versão do esquema do objeto de dados
metadataVersion String A versão do esquema dos metadados do evento
eventTime String
Formato: 2022-11-07T18:43:09.2894075Z
A hora em que o evento é gerado com base na hora UTC do provedor

Um evento no formato de esquema de eventos de nuvem tem as seguintes propriedades de nível superior:

Propriedade Type Descrição
id Cadeia de caracteres Identificador exclusivo do evento
source String A assinatura do Azure para a qual este tópico do sistema está sendo criado.
subject String Caminho definido pelo publicador para o recurso base no qual esse evento é emitido.
type String Tipo de evento registrado deste tipo de tópico do sistema
time String
Formato: 2022-11-07T18:43:09.2894075Z
A hora em que o evento é gerado com base na hora UTC do provedor
data Objeto Contém dados de evento específicos para o provedor de recursos. Para obter mais informações, confira a próxima seção.
specversion String Versão de especificação do esquema CloudEvents.

O objeto data tem as seguintes propriedades:

Propriedade Type Descrição
resourceInfo Objeto Dados específicos do recurso. Para obter mais informações, confira a próxima seção.
apiVersion String Versão da API das propriedades do recurso.
operationalInfo Objeto Detalhes das informações operacionais relativas ao recurso.

O objeto resourceInfo tem as seguintes propriedades comuns entre os eventos CreatedOrUpdated eDeleted:

Propriedade Type Descrição
id Cadeia de caracteres Caminho definido pelo publicar para o assunto do evento
name String Esse campo indica a ID do evento. Ele sempre usa o valor da última seção do campo id.
type String O tipo de evento que está sendo emitido. Nesse contexto, é Microsoft.ResourceNotifications.Resources.CreatedOrUpdated ou Microsoft.ResourceNotifications.Resources.Deleted.

O objeto resourceInfo do evento CreatedOrUpdated tem as seguintes propriedades extras:

Propriedade Type Descrição
location Cadeia de caracteres Região em que o recursos está localizado
tags String Marcas para o recurso.
properties Objeto Conteúdo do recurso.

Somente o evento CreatedOrUpdated inclui o objeto properties. O esquema desse objeto properties é exclusivo para cada distribuidor. Para descobrir o esquema, consulte a documentação da API REST para o recurso específico do Azure. Você pode encontrar um exemplo na seção Eventos de exemplo desse artigo.

            "properties": {
                "_comment": "<< object-unique-to-each-publisher >>"
            }

O objeto operationalInfo tem as seguintes propriedades:

Propriedade Type Descrição
resourceEventTime DateTime Data e hora em que o recurso foi criado ou atualizado (para o evento CreatedOrUpdated) ou excluído (para o evento Deleted).

Exemplos de eventos

Evento CreatedOrUpdated

Esta seção mostra o evento CreatedOrUpdated gerado quando uma conta do Armazenamento do Azure é criada na assinatura do Azure na qual o tópico do sistema é criado.

{
  "id": "4eef929a-a65c-47dd-93e2-46b8c17c6c17",
  "source": "/subscriptions/{subscription-id}",
  "subject": "/subscriptions/{subscription-id}/resourceGroups/{rg-name}/providers/Microsoft.Storage/storageAccounts/{storageAccount-name}",
  "data": {
    "resourceInfo": {
      "tags": {},
      "id": "/subscriptions/{subscription-id}/resourceGroups/{rg-name}/providers/Microsoft.Storage/storageAccounts/{storageAccount-name}",
      "name": "StorageAccount-name",
      "type": "Microsoft.Storage/storageAccounts",
      "location": "eastus",
      "properties": {
        "privateEndpointConnections": [],
        "minimumTlsVersion": "TLS1_2",
        "allowBlobPublicAccess": 1,
        "allowSharedKeyAccess": 1,
        "networkAcls": {
          "bypass": "AzureServices",
          "virtualNetworkRules": [],
          "ipRules": [],
          "defaultAction": "Allow"
        },
        "supportsHttpsTrafficOnly": 1,
        "encryption": {
          "requireInfrastructureEncryption": 0,
          "services": {
            "file": {
              "keyType": "Account",
              "enabled": 1,
              "lastEnabledTime": "2023-07-28T20:12:50.6380308Z"
            },
            "blob": {
              "keyType": "Account",
              "enabled": 1,
              "lastEnabledTime": "2023-07-28T20:12:50.6380308Z"
            }
          },
          "keySource": "Microsoft.Storage"
        },
        "accessTier": "Hot",
        "provisioningState": "Succeeded",
        "creationTime": "2023-07-28T20:12:50.4661564Z",
        "primaryEndpoints": {
          "dfs": "https://{storageAccount-name}.dfs.core.windows.net/",
          "web": "https://{storageAccount-name}.z13.web.core.windows.net/",
          "blob": "https://{storageAccount-name}.blob.core.windows.net/",
          "queue": "https://{storageAccount-name}.queue.core.windows.net/",
          "table": "https://{storageAccount-name}.table.core.windows.net/",
          "file": "https://{storageAccount-name}.file.core.windows.net/"
        },
        "primaryLocation": "eastus",
        "statusOfPrimary": "available",
        "secondaryLocation": "westus",
        "statusOfSecondary": "available",
        "secondaryEndpoints": {
          "dfs": "https://{storageAccount-name} -secondary.dfs.core.windows.net/",
          "web": "https://{storageAccount-name}-secondary.z13.web.core.windows.net/",
          "blob": "https://{storageAccount-name}-secondary.blob.core.windows.net/",
          "queue": "https://{storageAccount-name}-secondary.queue.core.windows.net/",
          "table": "https://{storageAccount-name}-secondary.table.core.windows.net/"
        }
      }
    },
    "apiVersion": "2019-06-01",
    "operationalInfo": {
      "resourceEventTime": "2023-07-28T20:13:10.8418063Z"
    }
  },
  "type": "Microsoft.ResourceNotifications.Resources.CreatedOrUpdated",
  "specversion": "1.0",
  "time": "2023-07-28T20:13:10.8418063Z"
}

Evento Deleted

Esta seção mostra o evento Deleted gerado quando uma conta do Armazenamento do Azure é excluída na assinatura do Azure na qual o tópico do sistema é criado.

{
  "id": "d4611260-d179-4f86-b196-3a9d4128be2d",
  "source": "/subscriptions/{subscription-id}",
  "subject": "/subscriptions/{subscription-id}/resourceGroups/{rg-name}/providers/Microsoft.Storage/storageAccounts/{storageAccount-name}",
  "data": {
    "resourceInfo": {
      "id": "/subscriptions/{subscription-id}/resourceGroups/{rg-name}/providers/Microsoft.Storage/storageAccounts/{storageAccount-name}",
      "name": "storageAccount-name",
      "type": "Microsoft.Storage/storageAccounts"
    },
    "operationalInfo": {
      "resourceEventTime": "2023-07-28T20:11:36.6347858Z"
    }
  },
  "type": "Microsoft.ResourceNotifications.Resources.Deleted",
  "specversion": "1.0",
  "time": "2023-07-28T20:11:36.6347858Z"
}

Fale conosco

Se você tiver dúvidas ou comentários sobre esse recursos, não hesite em nos contatar em arnsupport@microsoft.com.

Para ajudar você melhor com comentários específicos sobre um determinado evento, forneça as seguintes informações:

Para eventos ausentes:

  • Nome do tipo de tópico do sistema
  • Carimbo de data/hora aproximado em UTC quando a operação foi executada
  • ID do recurso base para a qual a notificação foi gerada
  • Navegue até o recurso no portal do Azure e selecione o modo de exibição JSON no canto superior direito. A ID do recurso é o primeiro campo na página de exibição JSON.
  • Tipo de evento esperado
  • Operação executada (por exemplo, VM iniciada ou interrompida, conta de armazenamento criada etc.)
  • Descrição do problema encontrado (por exemplo, VM iniciada e nenhum evento Microsoft.ResourceNotifications.HealthResources.AvailabilityStatusChanged gerado)
  • Se possível, forneça a ID de correlação da operação executada

Para o evento que foi atrasado ou tem conteúdo inesperado

  • Nome do tipo de tópico do sistema
  • Conteúdo inteiro da notificação excluindo data.resourceInfo.properties
  • Descrição do problema encontrado e valores de campo afetados

Verifique se você não está fornecendo informações identificáveis do usuário final enquanto compartilha esses dados.

Próximas etapas

Consulte Assinar as notificações de recursos do Azure – Eventos de gerenciamento de recursos.