Partager via


Notifications des ressources Azure : événements de Gestion des ressources dans Azure Event Grid

La rubrique système Gestion des ressources Azure fournit des insights sur le cycle de vie de différentes ressources Azure.

Les rubriques système Event Grid pour les abonnements Azure et les groupes de ressources Azure fournissent des événements de cycle de vie des ressources en utilisant un large éventail de types d’événement, notamment des événements d’action, d’écriture et de suppression pour les scénarios impliquant la réussite, l’échec et l’annulation. Toutefois, notez qu’ils n’incluent pas la charge utile des ressources. Pour plus d’informations sur ces événements, consultez Rubrique système Event Grid pour les abonnements Azure et Rubrique système Event Grid pour les groupes de ressources Azure.

En revanche, la rubrique système Gestion des ressources Azure optimisée par les Notifications des ressources Azure (ARN) offre une sélection plus ciblée des types d’événement, en particulier CreatedOrUpdated (correspondant à ResourceWriteSuccess dans la rubrique système d’abonnement Azure Event Grid) et Deleted (correspondant à ResourceDeleteSuccess dans la rubrique système d’abonnement Azure Event Grid). Ces événements sont fournis avec des informations de charge utile complètes, ce qui permet aux clients d’appliquer plus facilement le filtrage et d’affiner leur flux de notification.

Pour obtenir la liste des types de ressource exposés, consultez Ressources Azure Resource Graph ou utilisez la requête Azure Resource Graph suivante.

resources
| distinct ['type']

Remarque

La rubrique système Gestion des ressources Azure ne prend pas encore en charge tous les types de ressource de la table de ressources d’Azure Resource Graph. Nous nous efforçons d’améliorer cette expérience.

Types d’événements

La rubrique système Ressources ARN offre deux types d’événement pour la consommation :

Type d’événement Description
Microsoft.ResourceNotifications.Resources.CreatedOrUpdated Déclenché quand une ressource a été créée ou mise à jour.
Microsoft.ResourceNotifications.Resources.Deleted Déclenché quand une ressource est supprimée.

Contrôle d’accès en fonction du rôle

Actuellement, ces événements sont exclusivement émis dans l’étendue de l’abonnement Azure. Cela implique que l’entité qui crée l’abonnement aux événements pour un type de rubrique donné reçoit des notifications dans l’ensemble de cet abonnement Azure. Pour des raisons de sécurité, il est impératif de restreindre la possibilité de créer des abonnements aux événements sur cette rubrique aux principaux disposant d’un accès en lecture sur l’ensemble de l’abonnement Azure. Pour accéder aux données via cette rubrique système, en plus des autorisations génériques requises par Event Grid, l’autorisation spécifique de notifications des ressources Azure suivante est nécessaire : Microsoft.ResourceNotifications/systemTopics/subscribeToResources/action.

Schémas d’événements

Cette section fournit des schémas pour les événements CreatedOrUpdated et Deleted.

Schéma de l’événement CreatedOrUpdated

Voici le schéma :

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

Schéma de l’événement Deleted

Voici le schéma :

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

Un événement au format du schéma d’événement Event Grid a les propriétés de niveau supérieur suivantes :

Propriété Type Description
id String Identificateur unique de l’événement
topic String Abonnement Azure pour lequel cette rubrique système est en cours de création
subject String Chemin défini par l’éditeur vers la ressource de base sur laquelle cet événement est émis.
data Objet Contient les données d’événement spécifiques au fournisseur de ressources. Pour plus d’informations, voir le tableau suivant.
eventType String Type d’événement inscrit de ce type de rubrique système
dataVersion String Version du schéma de l’objet de données
metadataVersion String Version du schéma des métadonnées de l’événement
eventTime String
Format : 2022-11-07T18:43:09.2894075Z
Heure à laquelle l’événement est généré selon l’heure UTC du fournisseur

Un événement au format du schéma d’événement cloud a les propriétés de niveau supérieur suivantes :

Propriété Type Description
id String Identificateur unique de l’événement
source String Abonnement Azure pour lequel cette rubrique système est en cours de création.
subject String Chemin défini par l’éditeur vers la ressource de base sur laquelle cet événement est émis.
type String Type d’événement inscrit de ce type de rubrique système
time String
Format : 2022-11-07T18:43:09.2894075Z
Heure à laquelle l’événement est généré selon l’heure UTC du fournisseur
data Objet Contient les données d’événement spécifiques au fournisseur de ressources. Pour plus d’informations, voir le tableau suivant.
specversion String Version de la spécification de schéma CloudEvents.

L’objet data dispose des propriétés suivantes :

Propriété Type Description
resourceInfo Objet Données spécifiques à la ressource. Pour plus d’informations, voir le tableau suivant.
apiVersion String Version d’API des propriétés de la ressource.
operationalInfo Objet Détails des informations opérationnelles relatives à la ressource.

L’objet resourceInfo a les propriétés communes suivantes dans les événements CreatedOrUpdated et Deleted :

Propriété Type Description
id String Chemin de l’objet de l’événement, défini par le serveur de publication
name String Ce champ indique l’ID d’événement. Il prend toujours la valeur de la dernière section du champ id.
type String Type de l’événement en cours d’émission. Dans ce contexte, c’est Microsoft.ResourceNotifications.Resources.CreatedOrUpdated ou Microsoft.ResourceNotifications.Resources.Deleted.

L’objet resourceInfo pour l’événement CreatedOrUpdated a les propriétés supplémentaires suivantes :

Propriété Type Description
location Chaîne Emplacement ou région où se trouve la ressource.
tags Chaîne Étiquettes personnalisées pour la ressource.
properties Objet Charge utile de la ressource.

Seul l’événement CreatedOrUpdated inclut l’objet properties. Le schéma de cet objet properties est unique pour chaque éditeur. Pour découvrir le schéma, consultez la documentation d’API REST pour la ressource Azure spécifique. Un exemple est disponible dans la section Examples d’événements de cet article.

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

L’objet operationalInfo dispose des propriétés suivantes :

Propriété Type Description
resourceEventTime Date/Heure Date et heure de création ou de mise à jour de la ressource (pour l’événement CreatedOrUpdated) ou de suppression (pour l’événement Deleted).

Exemples d'événements

Événement CreatedOrUpdated

Cette section montre l’événement CreatedOrUpdated généré quand un compte de stockage Azure est créé dans l’abonnement Azure dans lequel la rubrique système est créée.

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

Événement Deleted

Cette section montre l’événement Deleted généré quand un compte de stockage Azure est supprimé dans l’abonnement Azure dans lequel la rubrique système est créée.

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

Nous contacter

Si vous avez des questions ou des commentaires sur cette fonctionnalité, n’hésitez pas à nous contacter à arnsupport@microsoft.com.

Pour obtenir des commentaires spécifiques sur un événement donné, fournissez les informations suivantes :

Pour des événements manquants :

  • Nom du type de la rubrique système
  • Horodatage approximatif au format UTC de l’exécution de l’opération
  • ID de ressource de base pour lequel la notification a été générée
  • Accédez à votre ressource dans le portail Azure et sélectionnez la vue JSON en haut à droite. L’ID de ressource est le premier champ de la page de vue JSON.
  • Type d’événement attendu
  • Opération exécutée (par exemple, machine virtuelle démarrée ou arrêtée, compte de stockage créé, etc.)
  • Description du problème rencontré (par exemple, machine virtuelle démarrée et aucun événement Microsoft.ResourceNotifications.HealthResources.AvailabilityStatusChanged généré)
  • Si possible, indiquez l’ID de corrélation de l’opération exécutée

Pour un événement qui a été retardé ou qui a un contenu inattendu

  • Nom du type de la rubrique système
  • Contenu entier de la notification sans data.resourceInfo.properties
  • Description du problème rencontré et valeurs de champ impactées

Vérifiez que vous ne fournissez aucune information d’identification de l’utilisateur final quand vous partagez ces données.

Étapes suivantes

Consultez S’abonner aux notifications des ressources Azure : événements de Gestion des ressources.