Afficher l'utilisation récente des comptes de service et des clés

Cette page explique comment utiliser l'outil Activity Analyzer pour savoir quand vos comptes de service et clés de compte de service ont été utilisés pour la dernière fois pour appeler une API Google. Ces utilisations sont appelées des activités d'authentification.

L'activité d'authentification récente peut vous aider à identifier les comptes de service et les clés de compte de service dont vous ne vous servez plus. Nous vous recommandons de désactiver ou de supprimer ces comptes de service et clés de compte de service, car ils représentent un risque de sécurité inutile.

Avant de commencer

Rôles requis

Pour obtenir les autorisations dont vous avez besoin pour répertorier les activités d'authentification les plus récentes pour vos comptes de service et vos clés de compte de service, demandez à votre administrateur de vous accorder le rôle IAM de lecteur d'analyse d'activité (roles/policyanalyzer.activityAnalysisViewer) sur le projet. Pour en savoir plus sur l'attribution de rôles, consultez la page Gérer l'accès aux projets, aux dossiers et aux organisations.

Ce rôle prédéfini contient les autorisations requises pour répertorier les activités d'authentification les plus récentes de vos comptes de service et de vos clés de compte de service. Pour connaître les autorisations exactes requises, développez la section Autorisations requises :

Autorisations requises

Les autorisations suivantes sont requises pour lister les activités d'authentification les plus récentes de vos comptes de service et de vos clés de compte de service:

  • policyanalyzer.serviceAccountKeyLastAuthenticationActivities.query
  • policyanalyzer.serviceAccountLastAuthenticationActivities.query

Vous pouvez également obtenir ces autorisations avec des rôles personnalisés ou d'autres rôles prédéfinis.

Afficher l'utilisation récente de tous les comptes de service ou clés de compte de service

Pour lister les dates des activités d'authentification les plus récentes pour tous vos comptes de service ou clés de compte de service, utilisez la Google Cloud CLI ou l'API REST.

gcloud

Pour lister les activités d'authentification les plus récentes pour vos comptes de service ou clés de compte de service, utilisez la commande gcloud policy-intelligence query-activity :

gcloud policy-intelligence query-activity --activity-type=ACTIVITY_TYPE \
    --project=PROJECT_ID --limit=LIMIT

Remplacez les valeurs suivantes :

  • ACTIVITY_TYPE : type d'activité que vous souhaitez lister. Pour lister les heures d'utilisation les plus récentes de vos comptes de service, utilisez serviceAccountLastAuthentication. Pour lister les heures d'utilisation les plus récentes de vos clés de compte de service, utilisez serviceAccountKeyLastAuthentication.
  • PROJECT_ID : ID de votre projet Google Cloud. Les ID de projet sont des chaînes alphanumériques, telles que my-project.
  • LIMIT : facultatif. Nombre maximal de résultats à afficher. La valeur par défaut est 1000.

La réponse est semblable à la suivante, qui liste les heures d'utilisation récentes des comptes de service d'un projet :

---
activity:
  lastAuthenticatedTime: '2021-04-27T07:00:00Z'
  serviceAccount:
    fullResourceName: //iam.googleapis.com/projects/my-project/serviceAccounts/service-account-1@my-project.iam.gserviceaccount.com
    projectNumber: '123456789012'
    serviceAccountId: '123456789012345678901'
activityType: serviceAccountLastAuthentication
fullResourceName: //iam.googleapis.com/projects/my-project/serviceAccounts/service-account-1@my-project.iam.gserviceaccount.com
observationPeriod:
  endTime: '2021-07-06T07:00:00Z'
  startTime: '2020-03-12T07:00:00Z'
---
activity:
  lastAuthenticatedTime: '2021-02-09T08:00:00Z'
  serviceAccount:
    fullResourceName: //iam.googleapis.com/projects/my-project/serviceAccounts/service-account-2@my-project.iam.gserviceaccount.com
    projectNumber: '123456789012'
    serviceAccountId: '234567890123456789012'
activityType: serviceAccountLastAuthentication
fullResourceName: //iam.googleapis.com/projects/my-project/serviceAccounts/service-account-2@my-project.iam.gserviceaccount.com
observationPeriod:
  endTime: '2021-07-06T07:00:00Z'
  startTime: '2020-09-01T07:00:00Z'

Pour savoir comment interpréter ces résultats, consultez la section Examiner les activités de cette page.

REST

Pour lister les activités d'authentification les plus récentes pour vos comptes de service ou vos clés de compte de service, utilisez la méthode activities.query de l'API Policy Analyzer.

Avant d'utiliser les données de requête ci-dessous, effectuez les remplacements suivants :

  • PROJECT_ID : ID de votre projet Google Cloud. Les ID de projet sont des chaînes alphanumériques, telles que my-project.
  • ACTIVITY_TYPE : type d'activité que vous souhaitez lister. Pour lister les utilisations les plus récentes de tous vos comptes de service, utilisez serviceAccountLastAuthentication. Pour lister les utilisations les plus récentes de toutes vos clés de compte de service, utilisez serviceAccountKeyLastAuthentication.
  • PAGE_SIZE : facultatif. Nombre maximal de résultats à renvoyer pour cette requête. Si cette valeur n'est pas spécifiée, le serveur détermine le nombre de résultats à renvoyer. Si le nombre d'activités est supérieur à la taille de la page, la réponse contient un jeton de pagination que vous pouvez utiliser pour récupérer la page de résultats suivante.
  • PAGE_TOKEN : facultatif. Jeton de pagination renvoyé dans une réponse précédente de cette méthode. Si spécifié, la liste des activités commence à la fin de la réponse précédente.

Méthode HTTP et URL :

GET https://policyanalyzer.googleapis.com/v1/projects/PROJECT_ID/locations/global/activityTypes/ACTIVITY_TYPE/activities:query?pageSize=PAGE_SIZE&pageToken=PAGE_TOKEN

Pour envoyer votre requête, développez l'une des options suivantes :

La réponse est semblable à la suivante, qui liste les heures d'utilisation récentes des comptes de service d'un projet :

{
  "activities": [
    {
      "fullResourceName": "//iam.googleapis.com/projects/my-project/serviceAccounts/service-account-1@my-project.iam.gserviceaccount.com",
      "activityType": "serviceAccountLastAuthentication",
      "observationPeriod": {
        "startTime": "2020-04-20T07:00:00Z",
        "endTime": "2021-05-17T07:00:00Z"
      },
      "activity": {
        "lastAuthenticatedTime": "2021-04-28T07:00:00Z",
        "serviceAccount": {
          "projectNumber": "123456789012",
          "fullResourceName": "//iam.googleapis.com/projects/my-project/serviceAccounts/service-account-1@my-project.iam.gserviceaccount.com",
          "serviceAccountId": "123456789012345678901"
        }
      }
    },
    {
      "fullResourceName": "//iam.googleapis.com/projects/my-project/serviceAccounts/service-account-2@my-project.iam.gserviceaccount.com",
      "activityType": "serviceAccountLastAuthentication",
      "observationPeriod": {
        "startTime": "2020-04-20T07:00:00Z",
        "endTime": "2021-05-17T07:00:00Z"
      },
      "activity": {
        "lastAuthenticatedTime": "2021-04-29T07:00:00Z",
        "serviceAccount": {
          "projectNumber": "123456789012",
          "fullResourceName": "//iam.googleapis.com/projects/my-project/serviceAccounts/service-account-2@my-project.iam.gserviceaccount.com",
          "serviceAccountId": "234567890123456789012"
        }
      }
    }
  ],
  "nextPageToken": "AVgRrQV4b5nISN6cGJvTPFJ2v_"
}

Pour savoir comment interpréter ces résultats, consultez la section Examiner les activités de cette page.

Afficher l'utilisation récente de comptes de service spécifiques

Pour connaître la dernière date à laquelle des comptes de service spécifiques ont été utilisés, utilisez la console Google Cloud, gcloud CLI ou l'API REST.

Console

  1. Dans la console Google Cloud, accédez à la page Analyse des stratégies.

    Accéder à Policy Analyzer

  2. Sous Analyser l'activité récente, recherchez le volet intitulé Quand ce compte de service a-t-il été utilisé pour la dernière fois ?, puis cliquez sur Créer une requête dans ce volet.

  3. Dans la zone Sélectionner le champ d'application de la requête, saisissez le nom du projet dont vous souhaitez analyser les comptes de service.

  4. Dans la section Ajouter des comptes de service, cliquez sur la zone Compte de service. La liste de tous les comptes de service de votre projet s'affiche. La liste inclut également le projet auquel chaque compte de service est associé et l'adresse e-mail de chaque compte de service.

  5. Sélectionnez le compte de service pour lequel vous souhaitez afficher l'utilisation récente.

  6. Facultatif: Pour afficher l'utilisation récente de plusieurs comptes de service, cliquez sur Ajouter un compte, puis sélectionnez un autre compte de service. Vous pouvez analyser jusqu'à 10 comptes de service à la fois.

  7. Dans le panneau Requêter les activités d'accès, cliquez sur Exécuter la requête.

La page des résultats affiche l'utilisation la plus récente des comptes de service. Pour savoir comment interpréter ces résultats, consultez la section Examiner les activités de cette page.

gcloud

Pour obtenir l'activité d'authentification la plus récente pour des comptes de service spécifiques, utilisez la commande gcloud policy-intelligence query-activity avec un filtre :

gcloud policy-intelligence query-activity --activity-type=serviceAccountLastAuthentication \
    --project=PROJECT_ID \
    --query-filter='FILTER'

Remplacez les valeurs suivantes :

  • PROJECT_ID : ID de votre projet Google Cloud. Les ID de projet sont des chaînes alphanumériques, telles que my-project.
  • FILTER : filtre spécifiant les noms de ressources complets des comptes de service dont vous souhaitez afficher l'utilisation. Le nom de ressource complet d'un compte de service inclut l'ID de projet et l'adresse e-mail du compte de service.

    Pour filtrer sur un seul compte de service, utilisez un filtre au format suivant :

    activities.full_resource_name="//iam.googleapis.com/projects/PROJECT_ID/serviceAccounts/SERVICE_ACCOUNT_EMAIL"

    Pour filtrer plusieurs comptes de service, utilisez OR pour spécifier plusieurs noms de ressources complets acceptables :

    activities.full_resource_name="//iam.googleapis.com/projects/PROJECT_ID/serviceAccounts/SERVICE_ACCOUNT_1_EMAIL" OR activities.full_resource_name="//iam.googleapis.com/projects/PROJECT_ID/serviceAccounts/SERVICE_ACCOUNT_2_EMAIL"

    Vous pouvez filtrer jusqu'à 10 comptes de service.

La réponse décrit l'utilisation la plus récente des comptes de service :

---
activity:
  lastAuthenticatedTime: '2021-04-27T07:00:00Z'
  serviceAccount:
    fullResourceName: //iam.googleapis.com/projects/my-project/serviceAccounts/service-account-1@my-project.iam.gserviceaccount.com
    projectNumber: '123456789012'
    serviceAccountId: '123456789012345678901'
activityType: serviceAccountLastAuthentication
fullResourceName: //iam.googleapis.com/projects/my-project/serviceAccounts/service-account-1@my-project.iam.gserviceaccount.com
observationPeriod:
  endTime: '2021-07-06T07:00:00Z'
  startTime: '2020-03-12T07:00:00Z'

Pour savoir comment interpréter ces résultats, consultez la section Examiner les activités de cette page.

REST

Pour obtenir l'activité d'authentification la plus récente pour des comptes de service spécifiques, utilisez la méthode activities.query de l'API Policy Analyzer.

Avant d'utiliser les données de requête ci-dessous, effectuez les remplacements suivants :

  • PROJECT_ID : ID de votre projet Google Cloud. Les ID de projet sont des chaînes alphanumériques, telles que my-project.
  • FILTER : filtre spécifiant les noms de ressources complets des comptes de service dont vous souhaitez afficher l'utilisation.

    Pour filtrer sur un seul compte de service, utilisez un filtre au format suivant :

    activities.full_resource_name%3D%22%2F%2Fiam.googleapis.com%2Fprojects%2FPROJECT_ID%2FserviceAccounts%2FSERVICE_ACCOUNT_EMAIL%22

    Pour filtrer plusieurs comptes de service, utilisez %20OR%20 pour spécifier plusieurs noms de ressources complets acceptables :

    activities.full_resource_name%3D%22%2F%2Fiam.googleapis.com%2Fprojects%2FPROJECT_ID%2FserviceAccounts%2FSERVICE_ACCOUNT_1_EMAIL%22%20OR%20activities.full_resource_name%3D%22%2F%2Fiam.googleapis.com%2Fprojects%2FPROJECT_ID%2FserviceAccounts%2FSERVICE_ACCOUNT_2_EMAIL%22

Méthode HTTP et URL :

GET https://policyanalyzer.googleapis.com/v1/projects/PROJECT_ID/locations/global/activityTypes/serviceAccountLastAuthentication/activities:query?filter=FILTER

Pour envoyer votre requête, développez l'une des options suivantes :

La réponse décrit l'utilisation la plus récente des comptes de service :

{
  "activities": [
    {
      "fullResourceName": "//iam.googleapis.com/projects/my-project/serviceAccounts/service-account-1@my-project.iam.gserviceaccount.com",
      "activityType": "serviceAccountLastAuthentication",
      "observationPeriod": {
        "startTime": "2020-04-20T07:00:00Z",
        "endTime": "2021-05-17T07:00:00Z"
      },
      "activity": {
        "lastAuthenticatedTime": "2021-04-28T07:00:00Z",
        "serviceAccount": {
          "projectNumber": "123456789012",
          "fullResourceName": "//iam.googleapis.com/projects/my-project/serviceAccounts/service-account-1@my-project.iam.gserviceaccount.com",
          "serviceAccountId": "123456789012345678901"
        }
      }
    }
  ]
}

Afficher l'utilisation récente de clés de compte de service spécifiques

Pour trouver la dernière date d'utilisation de clés de compte de service spécifiques, identifiez la clé de compte de service pour laquelle vous souhaitez afficher l'utilisation récente, puis créez une requête à l'aide de cet ID.

Si vous disposez d'un fichier de clé JSON, vous pouvez rechercher l'ID unique de la clé de compte de service dans le champ private_key_id du fichier.

Si vous n'avez pas de fichier de clé JSON, vous pouvez rechercher l'ID unique de la clé de compte de service en procédant comme suit :

Console

  1. Dans la console Google Cloud, accédez à la page Analyse des stratégies.

    Accéder à Policy Analyzer

  2. Sous Analyser l'activité récente, recherchez le volet intitulé Quand cette clé de compte de service a-t-elle été utilisée pour la dernière fois ?, puis cliquez sur Créer une requête dans ce volet.

  3. Dans le champ Sélectionner le champ d'application de la requête, saisissez le nom du projet dont vous souhaitez analyser les clés de compte de service.

  4. Dans la section Ajouter une clé de compte de service, cliquez sur la zone Clé de compte de service. La liste de toutes les clés de compte de service de votre projet s'affiche. La liste inclut également le projet et le compte de service auxquels chaque clé est associée.

  5. Sélectionnez la clé pour laquelle vous souhaitez afficher l'utilisation récente.

  6. Facultatif: Pour afficher l'utilisation récente de plusieurs clés, cliquez sur Ajouter une clé, puis sélectionnez une autre clé. Vous pouvez analyser jusqu'à 10 clés à la fois.

  7. Dans le panneau Requêter les activités d'accès, cliquez sur Exécuter la requête.

La page des résultats affiche l'utilisation la plus récente des clés de compte de service. Pour savoir comment interpréter ces résultats, consultez la section Examiner les activités de cette page.

gcloud

Tout d'abord, identifiez la clé de compte de service pour laquelle vous souhaitez afficher l'utilisation récente:

  1. Répertoriez les clés du compte de service.

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

    • SERVICE_ACCOUNT_EMAIL : adresse e-mail du compte de service auquel la clé est associée.

    Exécutez la commande gcloud iam service-accounts keys list:

    Linux, macOS ou Cloud Shell

    gcloud iam service-accounts keys list --iam-account=SERVICE_ACCOUNT_EMAIL

    Windows (PowerShell)

    gcloud iam service-accounts keys list --iam-account=SERVICE_ACCOUNT_EMAIL

    Windows (cmd.exe)

    gcloud iam service-accounts keys list --iam-account=SERVICE_ACCOUNT_EMAIL

    Le résultat affiche la liste de toutes les clés créées par l'utilisateur qui sont associées au compte de service, y compris l'ID unique, l'heure de création et l'heure d'expiration de chaque clé.

  2. Identifiez la clé dont vous souhaitez effectuer le suivi à l'aide des données du résultat, puis copiez son ID unique.

Une fois que vous avez trouvé les ID uniques des clés de compte de service, utilisez-les pour filtrer les résultats de l'outil Activity Analyzer:

Pour obtenir l'activité d'authentification la plus récente pour des clés de compte de service spécifiques, exécutez la commande gcloud policy-intelligence query-activity avec un filtre :

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

  • PROJECT_ID : ID de votre projet Google Cloud. Les ID de projet sont des chaînes alphanumériques, telles que my-project.
  • FILTER : filtre spécifiant les noms de ressources complets des clés de compte de service dont vous souhaitez afficher l'utilisation. Le nom de ressource complet d'une clé de compte de service inclut l'ID de projet, l'adresse e-mail du compte de service associé à la clé et l'ID de clé.

    Pour filtrer sur une seule clé de compte de service, utilisez un filtre au format suivant :

    activities.full_resource_name="//iam.googleapis.com/projects/PROJECT_ID/serviceAccounts/SERVICE_ACCOUNT_EMAIL/keys/KEY_ID"

    Pour filtrer plusieurs clés de compte de service, utilisez OR pour spécifier plusieurs noms de ressources complets acceptables :

    activities.full_resource_name="//iam.googleapis.com/projects/PROJECT_ID/serviceAccounts/SERVICE_ACCOUNT_1_EMAIL/keys/KEY_ID_1" OR activities.full_resource_name="//iam.googleapis.com/projects/PROJECT_ID/serviceAccounts/SERVICE_ACCOUNT_2_EMAIL/keys/KEY_ID_2"

    Vous pouvez filtrer jusqu'à 10 clés de compte de service.

Exécutez la commande suivante :

Linux, macOS ou Cloud Shell

gcloud policy-intelligence query-activity --activity-type=serviceAccountKeyLastAuthentication \
    --project=PROJECT_ID \
    --query-filter='FILTER'

Windows (PowerShell)

gcloud policy-intelligence query-activity --activity-type=serviceAccountKeyLastAuthentication `
    --project=PROJECT_ID `
    --query-filter='FILTER'

Windows (cmd.exe)

gcloud policy-intelligence query-activity --activity-type=serviceAccountKeyLastAuthentication ^
    --project=PROJECT_ID ^
    --query-filter='FILTER'

Vous devriez obtenir un résultat semblable à celui-ci :

activity:
  lastAuthenticatedTime: '2021-06-11T07:00:00Z'
  serviceAccountKey:
    fullResourceName: //iam.googleapis.com/projects/my-project/serviceAccounts/service-account-1@my-project.iam.gserviceaccount.com/keys/1c65fca351d6925e629059743428b7af243a728c
    projectNumber: '232342569935'
    serviceAccountId: '103185812403937829397'
activityType: serviceAccountKeyLastAuthentication
fullResourceName: //iam.googleapis.com/projects/my-project/serviceAccounts/service-account-1@my-project.iam.gserviceaccount.com/keys/1c65fca351d6925e629059743428b7af243a728c
observationPeriod:
  endTime: '2021-07-06T07:00:00Z'
  startTime: '2020-09-10T07:00:00Z'

Cette réponse décrit l'utilisation la plus récente des clés de compte de service : Pour savoir comment interpréter ces résultats, consultez la section Examiner les activités de cette page.

REST

Tout d'abord, identifiez la clé de compte de service pour laquelle vous souhaitez afficher l'utilisation récente:

  1. Répertoriez les clés du compte de service :

    Pour lister toutes les clés d'un compte de service, utilisez la méthode projects.serviceAccounts.keys.list de l'API IAM.

    Avant d'utiliser les données de requête ci-dessous, effectuez les remplacements suivants :

    • PROJECT_ID : ID de votre projet Google Cloud. Les ID de projet sont des chaînes alphanumériques, telles que my-project.
    • SA_NAME : nom du compte de service dont vous souhaitez répertorier les clés.
    • KEY_TYPES : facultatif. Liste de types de clés séparés par une virgule que vous souhaitez inclure dans la réponse. Le type de clé indique si une clé est gérée par l'utilisateur (USER_MANAGED) ou gérée par le système (SYSTEM_MANAGED). Si aucune valeur n'est spécifiée, toutes les clés sont renvoyées.

    Méthode HTTP et URL :

    GET https://iam.googleapis.com/v1/projects/PROJECT_ID/serviceAccounts/SA_NAME@PROJECT_ID.iam.gserviceaccount.com/keys?keyTypes=KEY_TYPES

    Pour envoyer votre requête, développez l'une des options suivantes :

    La réponse décrit l'utilisation la plus récente des clés de compte de service :

    {
      "keys": [
        {
          "name": "projects/my-project/serviceAccounts/my-service-account@my-project.iam.gserviceaccount.com/keys/90c48f61c65cd56224a12ab18e6ee9ca9c3aee7c",
          "validAfterTime": "2020-03-04T17:39:47Z",
          "validBeforeTime": "9999-12-31T23:59:59Z",
          "keyAlgorithm": "KEY_ALG_RSA_2048",
          "keyOrigin": "GOOGLE_PROVIDED",
          "keyType": "USER_MANAGED"
        },
        {
          "name": "projects/my-project/serviceAccounts/my-service-account@my-project.iam.gserviceaccount.com/keys/e5e3800831ac1adc8a5849da7d827b4724b1fce8",
          "validAfterTime": "2020-03-31T23:50:09Z",
          "validBeforeTime": "9999-12-31T23:59:59Z",
          "keyAlgorithm": "KEY_ALG_RSA_2048",
          "keyOrigin": "GOOGLE_PROVIDED",
          "keyType": "USER_MANAGED"
        },
        {
          "name": "projects/my-project/serviceAccounts/my-service-account@my-project.iam.gserviceaccount.com/keys/b97699f042b8eee6a846f4f96259fbcd13e2682e",
          "validAfterTime": "2020-05-17T18:58:13Z",
          "validBeforeTime": "9999-12-31T23:59:59Z",
          "keyAlgorithm": "KEY_ALG_RSA_2048",
          "keyOrigin": "GOOGLE_PROVIDED",
          "keyType": "USER_MANAGED",
          "disabled": true
        }
      ]
    }
    

  2. Identifiez la clé dont vous souhaitez effectuer le suivi à l'aide des métadonnées de la réponse. Copiez ensuite l'ID unique de la clé à la fin du champ name.

    Le champ name a le format suivant :

    "name": "projects/PROJECT_ID/serviceAccounts/SERVICE_ACCOUNT_EMAIL/keys/KEY_ID"

    L'ID unique de la clé correspond à tout ce qui suit keys/.

    Par exemple, l'ID unique est 0f561cc41650ff521899de2fd653bd3de08e2da4 dans le nom de clé suivant :

    "name": "projects/my-project/serviceAccounts/my-account@my-project.iam.gserviceaccount.com/keys/0f561cc41650ff521899de2fd653bd3de08e2da4"

Une fois que vous avez trouvé les ID uniques des clés de compte de service, utilisez-les pour filtrer les résultats de l'outil Activity Analyzer:

Pour obtenir l'activité d'authentification la plus récente pour des clés de compte de service spécifiques, utilisez la méthode activities.query de l'API Policy Analyzer.

Avant d'utiliser les données de requête ci-dessous, effectuez les remplacements suivants :

  • PROJECT_ID : ID de votre projet Google Cloud. Les ID de projet sont des chaînes alphanumériques, telles que my-project.
  • FILTER : filtre spécifiant les noms de ressources complets des clés de compte de service dont vous souhaitez afficher l'utilisation. Le nom de ressource complet d'une clé de compte de service inclut l'ID de projet, l'adresse e-mail du compte de service associé à la clé et l'ID de clé.

    Pour filtrer sur une seule clé de compte de service, utilisez un filtre au format suivant :

    activities.full_resource_name%3D%22%2F%2Fiam.googleapis.com%2Fprojects%2FPROJECT_ID%2FserviceAccounts%2FSERVICE_ACCOUNT_EMAIL%2Fkeys%2FKEY_ID%22

    Pour filtrer plusieurs clés de compte de service, utilisez %20OR%20 pour spécifier plusieurs noms de ressources complets acceptables :

    activities.full_resource_name%3D%22%2F%2Fiam.googleapis.com%2Fprojects%2FPROJECT_ID%2FserviceAccounts%2FSERVICE_ACCOUNT_1_EMAIL%2Fkeys%2FKEY_ID_1%22%20OR%20activities.full_resource_name%3D%22%2F%2Fiam.googleapis.com%2Fprojects%2FPROJECT_ID%2FserviceAccounts%2FSERVICE_ACCOUNT_2_EMAIL%2Fkeys%2FKEY_ID_2%22

    Vous pouvez filtrer jusqu'à 10 clés de compte de service.

Méthode HTTP et URL :

GET https://policyanalyzer.googleapis.com/v1/projects/PROJECT_ID/locations/global/activityTypes/serviceAccountKeyLastAuthentication/activities:query?filter=FILTER

Pour envoyer votre requête, développez l'une des options suivantes :

La réponse décrit l'utilisation la plus récente des clés de compte de service :

{
  "activities": [
    {
      "activity": {
        "lastAuthenticatedTime": "2021-06-11T07:00:00Z",
        "serviceAccountKey": {
          "fullResourceName": "//iam.googleapis.com/projects/my-project/serviceAccounts/service-account-1@my-project.iam.gserviceaccount.com/keys/1c65fca351d6925e629059743428b7af243a728c",
          "projectNumber": "123456789012",
          "serviceAccountId": "123456789012345678901"
        }
      },
      "activityType": "serviceAccountKeyLastAuthentication",
      "fullResourceName": "//iam.googleapis.com/projects/my-project/serviceAccounts/service-account-1t@my-project.iam.gserviceaccount.com/keys/1c65fca351d6925e629059743428b7af243a728c",
      "observationPeriod": {
        "endTime": "2021-07-06T07:00:00Z",
        "startTime": "2020-04-20T07:00:00Z"
      }
    }
  ]
}

Pour savoir comment interpréter ces résultats, consultez la section Examiner les activités de cette page.

Examiner les activités

Console

La page de résultats de la requête liste les paramètres de requête et les résultats de la requête.

Pour une requête de compte de service, le tableau des résultats liste chaque compte de service de la requête et la date de sa dernière authentification:

Pour une requête de clé de compte de service, le tableau des résultats liste chaque clé de compte de service de la requête, le compte de service auquel elle est associée et la date et l'heure de sa dernière authentification.

Les résultats peuvent ne pas inclure d'événements d'authentification très récents. Consultez l'info-bulle pour voir la période exacte utilisée lors de l'analyse. Les résultats n'incluent pas les événements d'authentification qui se sont produits en dehors de cette plage.

Le tableau des résultats des deux requêtes liste également les rôles IAM du compte de service sur le projet, ainsi que des insights de sécurité. Ces insights mettent en évidence des modèles dans la manière dont vos comptes de service accèdent aux ressources. Par exemple, certains insights mettent en évidence les autorisations en excès ou les autorisations dont un compte principal n'a pas besoin : D'autres insights mettent en évidence les comptes de service avec des autorisations de mouvement latéral, ou des autorisations permettant au compte de service d'usurper l'identité d'un compte de service dans un autre projet.

Certains insights sont accompagnés de recommandations de rôles qui suggèrent des modifications que vous pouvez apporter pour réduire les autorisations en excès. Pour savoir comment gérer les recommandations et les insights, consultez la section Examiner et appliquer les recommandations.

gcloud

L'outil Activity Analyzer enregistre les résultats sous la forme d'une liste d'activités. Les activités sont associées aux champs suivants :

  • fullResourceName : nom de ressource complet du compte de service ou de la clé de compte de service dont l'activité est signalée. Ce format est décrit dans les sections suivantes et dans la section Noms de ressources complets.
  • activityType : type d'activité signalé. Pour l'activité d'authentification récente des comptes de service, la valeur est serviceAccountLastAuthentication. Pour l'activité d'authentification récente des clés de compte de service, la valeur est serviceAccountKeyLastAuthentication.
  • observationPeriod : heures de début et de fin indiquant la période pendant laquelle l'activité du compte de service ou de la clé de compte de service a été observée. L'heure indiquée dans ces horodatages est toujours au format T07:00:00Z.
  • activity : détails de l'activité. Le contenu de ce champ varie en fonction du type d'activité. Pour en savoir plus, consultez les sections suivantes.

Détails des activités des comptes de service

Le champ activity pour les activités serviceAccountLastAuthentication contient les champs suivants :

  • serviceAccount : détails concernant le compte de service dont l'activité est signalée, comprenant les informations suivantes :

    • fullResourceName : nom de ressource complet du compte de service, au format //iam.googleapis.com/projects/PROJECT_ID/serviceAccounts/SERVICE_ACCOUNT_EMAIL.
    • projectNumber : ID numérique du projet propriétaire du compte de service.
    • serviceAccountId : ID numérique du compte de service.
  • lastAuthenticatedTime : horodatage représentant la date à laquelle l'événement d'authentification le plus récent s'est produit. L'heure dans cet horodatage est toujours au format T07:00:00Z, quelle que soit l'heure exacte de l'événement d'authentification.

    Les résultats peuvent ne pas inclure d'événements d'authentification très récents. Vérifiez la valeur observationPeriod pour connaître la plage de dates exacte utilisée lors de l'analyse. Les résultats n'incluent pas les événements d'authentification qui se sont produits en dehors de cette plage.

    Ce champ n'est pas inclus pour les comptes de service qui n'ont jamais été utilisés.

Détails des activités des clés de compte de service

Le champ activity pour les activités serviceAccountKeyLastAuthentication contient les champs suivants :

  • serviceAccountKey : détails concernant la clé de compte de service dont l'activité est signalée, comprenant les informations suivantes :

    • fullResourceName : nom de ressource complet de la clé de compte de service, au format //iam.googleapis.com/projects/PROJECT_ID/serviceAccounts/SERVICE_ACCOUNT_EMAIL/keys/KEY_ID.
    • projectNumber : ID numérique du projet propriétaire du compte de service auquel la clé est associée.
    • serviceAccountId : ID numérique du compte de service auquel la clé est associée.
  • lastAuthenticatedTime : horodatage représentant la date à laquelle l'événement d'authentification le plus récent s'est produit. L'heure dans cet horodatage est toujours au format T07:00:00Z, quelle que soit l'heure exacte de l'événement d'authentification.

    Les résultats peuvent ne pas inclure d'événements d'authentification très récents. Vérifiez la valeur observationPeriod pour connaître la plage de dates exacte utilisée lors de l'analyse. Les résultats n'incluent pas les événements d'authentification qui se sont produits en dehors de cette plage.

    Ce champ n'est pas inclus pour les clés de compte de service qui n'ont jamais été utilisées.

REST

L'outil Activity Analyzer enregistre les résultats sous la forme d'une liste d'activités. Les activités sont associées aux champs suivants :

  • fullResourceName : nom de ressource complet du compte de service ou de la clé de compte de service dont l'activité est signalée. Ce format est décrit dans les sections suivantes et dans la section Noms de ressources complets.
  • activityType : type d'activité signalé. Pour l'activité d'authentification récente des comptes de service, la valeur est serviceAccountLastAuthentication. Pour l'activité d'authentification récente des clés de compte de service, la valeur est serviceAccountKeyLastAuthentication.
  • observationPeriod : heures de début et de fin indiquant la période pendant laquelle l'activité du compte de service ou de la clé de compte de service a été observée. L'heure indiquée dans ces horodatages est toujours au format T07:00:00Z.
  • activity : détails de l'activité. Le contenu de ce champ varie en fonction du type d'activité. Pour en savoir plus, consultez les sections suivantes.

Détails des activités des comptes de service

Le champ activity pour les activités serviceAccountLastAuthentication contient les champs suivants :

  • serviceAccount : détails concernant le compte de service dont l'activité est signalée, comprenant les informations suivantes :

    • fullResourceName : nom de ressource complet du compte de service, au format //iam.googleapis.com/projects/PROJECT_ID/serviceAccounts/SERVICE_ACCOUNT_EMAIL.
    • projectNumber : ID numérique du projet propriétaire du compte de service.
    • serviceAccountId : ID numérique du compte de service.
  • lastAuthenticatedTime : horodatage représentant la date à laquelle l'événement d'authentification le plus récent s'est produit. L'heure dans cet horodatage est toujours au format T07:00:00Z, quelle que soit l'heure exacte de l'événement d'authentification.

    Les résultats peuvent ne pas inclure d'événements d'authentification très récents. Vérifiez la valeur observationPeriod pour connaître la plage de dates exacte utilisée lors de l'analyse. Les résultats n'incluent pas les événements d'authentification qui se sont produits en dehors de cette plage.

    Ce champ n'est pas inclus pour les comptes de service qui n'ont jamais été utilisés.

Détails des activités des clés de compte de service

Le champ activity pour les activités serviceAccountKeyLastAuthentication contient les champs suivants :

  • serviceAccountKey : détails concernant la clé de compte de service dont l'activité est signalée, comprenant les informations suivantes :

    • fullResourceName : nom de ressource complet de la clé de compte de service, au format //iam.googleapis.com/projects/PROJECT_ID/serviceAccounts/SERVICE_ACCOUNT_EMAIL/keys/KEY_ID.
    • projectNumber : ID numérique du projet propriétaire du compte de service auquel la clé est associée.
    • serviceAccountId : ID numérique du compte de service auquel la clé est associée.
  • lastAuthenticatedTime : horodatage représentant la date à laquelle l'événement d'authentification le plus récent s'est produit. L'heure dans cet horodatage est toujours au format T07:00:00Z, quelle que soit l'heure exacte de l'événement d'authentification.

    Les résultats peuvent ne pas inclure d'événements d'authentification très récents. Vérifiez la valeur observationPeriod pour connaître la plage de dates exacte utilisée lors de l'analyse. Les résultats n'incluent pas les événements d'authentification qui se sont produits en dehors de cette plage.

    Ce champ n'est pas inclus pour les clés de compte de service qui n'ont jamais été utilisées.

Étape suivante