Consulter l'historique des stratégies d'autorisation IAM

Cette page explique comment consulter l'historique des modifications apportées à vos stratégies d'autorisation IAM.

Vous pouvez examiner les modifications apportées aux stratégies d'autorisation de votre ressource en recherchant dans vos journaux d'audit les entrées contenant la méthode SetIamPolicy.

Vous pouvez également examiner les modifications des stratégies d'autorisation avec inventaire des éléments cloud.

Afficher les modifications de la stratégie d'autorisation avec SetIamPolicy

Vous pouvez afficher les modifications apportées à la stratégie d'autorisation en examinant les entrées de vos journaux d'audit contenant la méthode SetIamPolicy. Vous pouvez consulter vos journaux d'audit à l'aide de la console Google Cloud ou de gcloud CLI.

Console

  1. Dans Google Cloud Console, accédez à la page Explorateur de journaux.

    Accéder à l'explorateur de journaux

  2. Dans l'éditeur de requête, saisissez l'une des requêtes suivantes. Ces requêtes recherchent dans vos journaux d'audit les entrées contenant SetIamPolicy dans le champ methodName de protoPayload:

    • Pour obtenir les journaux de toutes les modifications apportées à une stratégie d'autorisation sur une ressource, utilisez la requête suivante:

      logName="RESOURCE_TYPE/RESOURCE_ID/logs/cloudaudit.googleapis.com%2Factivity"
      protoPayload.methodName:SetIamPolicy
      
    • Pour obtenir les journaux des modifications de stratégie d'autorisation impliquant un utilisateur ou un compte de service spécifique, utilisez la requête suivante:

      logName="RESOURCE_TYPE/RESOURCE_ID/logs/cloudaudit.googleapis.com%2Factivity"
      protoPayload.methodName:SetIamPolicy
      protoPayload.serviceData.policyDelta.bindingDeltas.member:"EMAIL_ADDRESS"
      

      Indiquez les valeurs suivantes :

      • RESOURCE_TYPE : type de ressource pour lequel vous souhaitez répertorier les journaux d'audit. Utilisez l'une des valeurs suivantes : projects, folders ou organizations.
      • RESOURCE_ID : votre projet, dossier ou ID Google Cloud Les ID de projets sont alphanumériques, par exemple my-project. Les ID de dossiers et d'organisations sont numériques, tels que 123456789012.
      • EMAIL_ADDRESS: adresse e-mail de l'utilisateur ou du compte de service. Exemple : example-service-account@example-project.iam.gserviceaccount.com.
  3. Pour exécuter la requête, cliquez sur Exécuter la requête.

  4. Utilisez le sélecteur Chronologie pour spécifier la période appropriée pour la requête. Vous pouvez également ajouter une expression de code temporel directement dans l'éditeur de requête. Pour en savoir plus, consultez Afficher les journaux par période.

gcloud

La commande gcloud logging read lit les entrées de journal.

Avant d'utiliser les données de la commande ci-dessous, effectuez les remplacements suivants :

  • RESOURCE_TYPE : type de ressource pour lequel vous souhaitez répertorier les journaux d'audit. Utilisez la valeur projects, folders ou organizations.
  • RESOURCE_ID : ID du projet, de l'organisation ou du dossier Google Cloud. Les ID de projet sont des chaînes alphanumériques, telles que my-project. Les ID de dossier et d'organisation sont numériques, tels que 123456789012.
  • TIME_PERIOD: période pour laquelle vous listez les journaux d'audit. Les entrées renvoyées ne datent pas de plus de cette valeur. Si elle n'est pas spécifiée, la valeur par défaut est 1d. Pour en savoir plus sur les formats de date et d'heure, consultez la section Date et heure gcloud.
  • RESOURCE_TYPE_SINGULAR : type de ressource pour lequel vous souhaitez répertorier les journaux d'audit. Utilisez la valeur project, folder ou organization.

Exécutez la commande suivante :

Linux, macOS ou Cloud Shell

gcloud logging read \
    'logName:RESOURCE_TYPE/RESOURCE_ID/logs/cloudaudit.googleapis.com%2Factivity
    AND protoPayload.methodName=SetIamPolicy' \
    --freshness=TIME_PERIOD \
    --RESOURCE_TYPE_SINGULAR=RESOURCE_ID

Windows (PowerShell)

gcloud logging read `
    'logName:RESOURCE_TYPE/RESOURCE_ID/logs/cloudaudit.googleapis.com%2Factivity
    AND protoPayload.methodName=SetIamPolicy' `
    --freshness=TIME_PERIOD `
    --RESOURCE_TYPE_SINGULAR=RESOURCE_ID

Windows (cmd.exe)

gcloud logging read ^
    'logName:RESOURCE_TYPE/RESOURCE_ID/logs/cloudaudit.googleapis.com%2Factivity
    AND protoPayload.methodName=SetIamPolicy' ^
    --freshness=TIME_PERIOD ^
    --RESOURCE_TYPE_SINGULAR=RESOURCE_ID

Afficher les modifications des stratégies d'autorisation avec Cloud Asset Inventory

Vous pouvez également afficher les modifications apportées aux stratégies d'autorisation à l'aide de l'inventaire des composants Cloud dans la console Google Cloud ou la gcloud CLI.

Console

  1. Dans la console Google Cloud, accédez à la page Inventaire des éléments.

    Accéder à l'inventaire des éléments

  2. Cliquez sur l'onglet Stratégie IAM.

  3. Exécutez la requête suivante dans le champ Filtre:

    Resource : RESOURCE_ID

    Remplacez RESOURCE_ID par l'ID de votre projet, dossier ou organisation Google Cloud. Les ID de projets sont alphanumériques, par exemple my-project. Les ID de dossiers et d'organisations sont numériques, tels que 123456789012.

  4. Pour afficher l'historique des modifications de la stratégie d'autorisation de la ressource, cliquez sur le nom de la ressource, puis sélectionnez l'onglet Historique des modifications.

  5. Pour comparer les modifications apportées à la règle d'autorisation de la ressource, sélectionnez deux enregistrements différents avec horodatage dans le menu Select a record to compare (Sélectionner un enregistrement à comparer).

gcloud

La commande gcloud asset get-history obtient l'historique mis à jour des stratégies d'autorisation sur un composant qui chevauche une période.

Avant d'utiliser les données de la commande ci-dessous, effectuez les remplacements suivants :

  • RESOURCE_TYPE : type de ressource pour lequel vous souhaitez répertorier les journaux d'audit. Utilisez la valeur project, folder ou organization.
  • RESOURCE_ID : ID du projet, de l'organisation ou du dossier Google Cloud. Les ID de projet sont des chaînes alphanumériques, telles que my-project. Les ID de dossier et d'organisation sont numériques, tels que 123456789012.
  • ASSET_NAME: liste séparée par une virgule de noms de ressources formatés pour les ressources dont vous souhaitez afficher l'historique des stratégies d'autorisation. Exemple : //cloudresourcemanager.googleapis.com/projects/my-project Ces ressources peuvent être l'un des types de ressources compatibles avec les stratégies d'autorisation.
  • START_TIME: début de la période. 7 jours au maximum. La valeur doit être l'heure actuelle ou une heure datant de moins de 35 jours. Pour en savoir plus sur les formats de date et d'heure, consultez la section Date et heure gcloud.
  • END_TIME : facultatif. Point de fin de la période. 7 jours au maximum. La valeur doit être l'heure actuelle ou une heure datant de moins de 35 jours. Si elle n'est pas fournie, l'heure de fin est supposée être l'heure actuelle. Pour en savoir plus sur les formats de date et d'heure, consultez la section gcloud topic datetimes.

Exécutez la commande suivante :

Linux, macOS ou Cloud Shell

gcloud asset get-history \
    --RESOURCE_TYPE=RESOURCE_ID \
    --asset-names=ASSET_NAME_1,ASSET_NAME_2,... \
    --content-type=iam-policy \
    --start-time=START_TIME \
    --end-time=END_TIME

Windows (PowerShell)

gcloud asset get-history `
    --RESOURCE_TYPE=RESOURCE_ID `
    --asset-names=ASSET_NAME_1,ASSET_NAME_2,... `
    --content-type=iam-policy `
    --start-time=START_TIME `
    --end-time=END_TIME

Windows (cmd.exe)

gcloud asset get-history ^
    --RESOURCE_TYPE=RESOURCE_ID ^
    --asset-names=ASSET_NAME_1,ASSET_NAME_2,... ^
    --content-type=iam-policy ^
    --start-time=START_TIME ^
    --end-time=END_TIME