Examiner les insights sur les règles pour les buckets Cloud Storage

Cette page explique comment gérer les insights sur les stratégies au niveau du bucket, qui sont des données basées sur le machine learning concernant l'utilisation des autorisations pour vos buckets Cloud Storage. Les insights sur les règles peuvent vous aider à identifier les comptes principaux qui disposent d'autorisations dont ils n'ont pas besoin.

Cette page se concentre sur les insights sur les règles pour les buckets. L'outil de recommandation propose également des insights sur les règles pour les types de ressources suivants:

Les insights sur les stratégies au niveau des buckets sont parfois associés à des recommandations de rôles. Les recommandations de rôle suggèrent des actions que vous pouvez effectuer pour résoudre les problèmes identifiés par les insights sur les règles au niveau du bucket.

Avant de commencer

Rôles requis

Pour obtenir les autorisations nécessaires pour gérer les insights sur les stratégies au niveau des buckets, demandez à votre administrateur de vous accorder les rôles IAM suivants sur votre projet:

  • Administrateur de l'espace de stockage (roles/storage.admin)
  • Gérez les insights sur les règles au niveau du bucket avec gcloud CLI ou l'API REST : Consommateur d'utilisation de service ("roles/serviceusage.serviceUsageConsumer")

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.

Ces rôles prédéfinis contiennent les autorisations requises pour gérer les insights sur les stratégies au niveau du bucket. Pour connaître les autorisations exactes requises, développez la section Autorisations requises :

Autorisations requises

Les autorisations suivantes sont requises pour gérer les insights sur les règles au niveau des buckets:

  • Pour afficher les insights sur les stratégies au niveau du bucket :
    • recommender.iamPolicyInsights.get
    • recommender.iamPolicyInsights.list
  • Pour modifier les insights sur les stratégies au niveau du bucket : recommender.iamPolicyInsights.update
  • Pour gérer les insights sur les règles au niveau des buckets dans la console Google Cloud :
    • resourcemanager.projects.get
    • storage.buckets.list
  • Gérez les insights sur les règles au niveau du bucket avec gcloud CLI ou l'API REST : serviceusage.services.use

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

Répertorier les insights sur les stratégies au niveau du bucket

Pour répertorier tous les insights sur les stratégies au niveau des buckets de votre projet, utilisez l'une des méthodes suivantes:

Console

  1. Dans la console Google Cloud, accédez à la page Buckets.

    Accéder à la page "Buckets"

  2. Recherchez la colonne Insights sur la sécurité dans le tableau. Si la colonne Insights de sécurité n'est pas visible, cliquez sur  Options d'affichage des colonnes, puis sélectionnez Insights de sécurité.

    Cette colonne présente un résumé de tous les insights sur les règles pour le bucket. Chaque récapitulatif indique le nombre total d'autorisations en excès pour tous les rôles accordés à ce bucket.

  3. Recherchez le bucket dont vous souhaitez afficher les insights, puis cliquez sur le résumé des insights sur les stratégies sur cette ligne. Cette action ouvre le volet Recommandations de sécurité, qui liste tous les comptes principaux ayant un rôle sur le bucket, leurs rôles et les insights sur les règles associés à ces rôles.

    Dans ce tableau, les insights sur les stratégies se présentent sous la forme EXCESS/TOTAL excess permissions, où EXCESS correspond au nombre d'autorisations du rôle dont le compte principal n'a pas besoin, et TOTAL correspond au nombre total d'autorisations dans le rôle.

gcloud

Utilisez la commande gcloud recommender insights list pour afficher tous les insights sur les stratégies au niveau des buckets de votre projet.

Avant d'exécuter la commande, remplacez les valeurs suivantes :

  • PROJECT_ID : ID du projet pour lequel vous souhaitez répertorier des insights.
  • LOCATION: emplacement des buckets dont vous souhaitez lister les insights.
gcloud recommender insights list --insight-type=google.iam.policy.Insight \
    --project=PROJECT_ID \
    --location=LOCATION\
    --filter="insightSubtype:PERMISSIONS_USAGE_STORAGE_BUCKET"

Le résultat affiche tous les insights sur les règles au niveau du bucket pour votre projet à l'emplacement spécifié. Exemple :

INSIGHT_ID                            CATEGORY  INSIGHT_STATE  LAST_REFRESH_TIME     SEVERITY  INSIGHT_SUBTYPE                   DESCRIPTION
00dd7eb5-15c2-4fb3-a9b2-1a85f842462b  SECURITY  ACTIVE         2022-05-24T07:00:00Z  CRITICAL  PERMISSIONS_USAGE_STORAGE_BUCKET  2 of the permissions in this role binding were used in the past 90 days.
04307297-f57c-416d-9323-38abac450db0  SECURITY  ACTIVE         2022-05-24T07:00:00Z  LOW       PERMISSIONS_USAGE_STORAGE_BUCKET  2 of the permissions in this role binding were used in the past 90 days.
04845da5-74ba-46b4-a0f3-47d83095c261  SECURITY  ACTIVE         2022-05-24T07:00:00Z  CRITICAL  PERMISSIONS_USAGE_STORAGE_BUCKET  1 of the permissions in this role binding were used in the past 90 days.
0a39f643-d7a8-4c11-b490-fecd74290fb5  SECURITY  ACTIVE         2022-05-24T07:00:00Z  LOW       PERMISSIONS_USAGE_STORAGE_BUCKET  2 of the permissions in this role binding were used in the past 90 days.
0a4cee48-777b-4dea-a2b0-702b70da4b6f  SECURITY  ACTIVE         2022-05-24T07:00:00Z  CRITICAL  PERMISSIONS_USAGE_STORAGE_BUCKET  0 of the permissions in this role binding were used in the past 90 days.
0b2d147c-b26e-4afe-8fab-449c6e793750  SECURITY  ACTIVE         2022-05-24T07:00:00Z  LOW       PERMISSIONS_USAGE_STORAGE_BUCKET  0 of the permissions in this role binding were used in the past 90 days.
0b5eacc5-ba9a-45f6-aea2-bcdc33ce2a2d  SECURITY  ACTIVE         2022-05-24T07:00:00Z  LOW       PERMISSIONS_USAGE_STORAGE_BUCKET  1 of the permissions in this role binding were used in the past 90 days.
0bb3032d-721c-44e8-b464-5293f235281c  SECURITY  ACTIVE         2022-05-24T07:00:00Z  LOW       PERMISSIONS_USAGE_STORAGE_BUCKET  3 of the permissions in this role binding were used in the past 90 days.

REST

La méthode insights.list de l'API Recommender répertorie tous les insights sur les stratégies au niveau des buckets de votre projet.

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

  • PROJECT_ID : ID du projet pour lequel vous souhaitez répertorier des insights.
  • LOCATION: emplacement des buckets dont vous souhaitez lister les insights.

Méthode HTTP et URL :

GET https://recommender.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/insightTypes/google.iam.policy.Insight/insights?filter=insightSubtype%20%3D%20PERMISSIONS_USAGE_STORAGE_BUCKET

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

La réponse répertorie tous les insights sur les règles au niveau du bucket pour votre projet à l'emplacement spécifié. Exemple :

{
  "insights": [
    {
      "name": "projects/123456789012/locations/us/insightTypes/google.iam.policy.Insight/insights/00dd7eb5-15c2-4fb3-a9b2-1a85f842462b",
      "description": "2 of the permissions in this role binding were used in the past 90 days.",
      "content": {
        "role": "roles/storage.legacyBucketReader",
        "member": "allUsers",
        "condition": {
          "expression": "",
          "title": "",
          "description": "",
          "location": ""
        },
        "exercisedPermissions": [
          {
            "permission": "storage.buckets.get"
          },
          {
            "permission": "storage.objects.list"
          }
        ],
        "inferredPermissions": [],
        "currentTotalPermissionsCount": "3"
      },
      "lastRefreshTime": "2022-05-24T07:00:00Z",
      "observationPeriod": "7772400s",
      "stateInfo": {
        "state": "ACTIVE"
      },
      "category": "SECURITY",
      "associatedRecommendations": [
        {
          "recommendation": "projects/123456789012/locations/us/recommenders/google.iam.policy.Recommender/recommendations/4a31a9d4-5132-4616-8a1f-fb07fad01883"
        }
      ],
      "targetResources": [
        "//storage.googleapis.com/bucket-1"
      ],
      "insightSubtype": "PERMISSIONS_USAGE_STORAGE_BUCKET",
      "etag": "\"2a8784e529b80aea\"",
      "severity": "CRITICAL"
    },
    {
      "name": "projects/123456789012/locations/us/insightTypes/google.iam.policy.Insight/insights/04307297-f57c-416d-9323-38abac450db0",
      "description": "2 of the permissions in this role binding were used in the past 90 days.",
      "content": {
        "role": "roles/storage.legacyBucketReader",
        "member": "projectViewer:my-project",
        "condition": {
          "expression": "",
          "title": "",
          "description": "",
          "location": ""
        },
        "exercisedPermissions": [
          {
            "permission": "storage.buckets.get"
          },
          {
            "permission": "storage.objects.list"
          }
        ],
        "inferredPermissions": [],
        "currentTotalPermissionsCount": "3"
      },
      "lastRefreshTime": "2022-05-24T07:00:00Z",
      "observationPeriod": "7772400s",
      "stateInfo": {
        "state": "ACTIVE"
      },
      "category": "SECURITY",
      "associatedRecommendations": [
        {
          "recommendation": "projects/123456789012/locations/us/recommenders/google.iam.policy.Recommender/recommendations/f3198e63-7f76-462e-a980-8e6370ff32d6"
        }
      ],
      "targetResources": [
        "//storage.googleapis.com/bucket-2"
      ],
      "insightSubtype": "PERMISSIONS_USAGE_STORAGE_BUCKET",
      "etag": "\"5b60b935f27caf2c\"",
      "severity": "LOW"
    }
  ]
}

Pour en savoir plus sur les composants d'un insight, consultez la section Examiner les insights sur les stratégies au niveau des buckets sur cette page.

Obtenir un seul insight sur une stratégie au niveau du bucket

Pour obtenir plus d'informations sur un seul insight, y compris sa description, son état et toutes les recommandations auxquelles il est associé, utilisez l'une des méthodes suivantes :

Console

  1. Dans la console Google Cloud, accédez à la page Buckets.

    Accéder à la page "Buckets"

  2. Assurez-vous que la colonne Insights sur la sécurité est visible.
  3. Recherchez la colonne Insights sur la sécurité dans le tableau. Cette colonne présente un récapitulatif de tous les insights sur les règles pour le bucket. Chaque récapitulatif indique le nombre total d'autorisations en excès pour tous les rôles accordés à ce bucket.

    Si la colonne Insights de sécurité n'est pas visible, cliquez sur  Options d'affichage des colonnes, puis sélectionnez Insights de sécurité. Recherchez ensuite la colonne dans le tableau.

  4. Recherchez le bucket dont vous souhaitez afficher les insights, puis cliquez sur le résumé des insights sur les stratégies sur cette ligne. Un volet s'ouvre et affiche tous les comptes principaux ayant un rôle dans le bucket, leurs rôles et les insights sur les règles associés à ces rôles.
  5. Dans la colonne Insights sur la sécurité, cliquez sur un insight sur les règles. Les insights sur les stratégies se présentent sous la forme EXCESS/TOTAL excess permissions, où EXCESS correspond au nombre d'autorisations du rôle dont le compte principal n'a pas besoin, et TOTAL correspond au nombre total d'autorisations dans le rôle.

La console Google Cloud ouvre un volet contenant les détails de l'insight.

gcloud

Pour afficher les informations sur un seul insight, exécutez la commande gcloud recommender insights describe avec l'ID de l'insight.

  • INSIGHT_ID : ID de l'insight que vous souhaitez afficher. Pour trouver cet ID, répertoriez les insights de votre projet.
  • PROJECT_ID : ID du projet pour lequel vous souhaitez gérer des insights.
  • LOCATION: emplacement du bucket dont vous souhaitez obtenir l'insight.
gcloud recommender insights describe INSIGHT_ID \
    --insight-type=google.iam.policy.Insight \
    --project=PROJECT_ID \
    --location=LOCATION

Le résultat affiche les détails de l'insight. Par exemple, l'insight suivant indique que tous les utilisateurs (allUsers) disposent du rôle Lecteur de bucket ancien Storage (roles/storage.legacyBucketReader) sur le bucket bucket-1, mais que seules deux autorisations de ce rôle ont été utilisées au cours des 90 derniers jours:

associatedRecommendations:
- recommendation: projects/123456789012/locations/us/recommenders/google.iam.policy.Recommender/recommendations/4a31a9d4-5132-4616-8a1f-fb07fad01883
category: SECURITY
content:
  condition:
    description: ''
    expression: ''
    location: ''
    title: ''
  currentTotalPermissionsCount: '3'
  exercisedPermissions:
  - permission: storage.buckets.get
  - permission: storage.objects.list
  inferredPermissions: []
  member: allUsers
  role: roles/storage.legacyBucketReader
description: 2 of the permissions in this role binding were used in the past 90 days.
etag: '"2a8784e529b80aea"'
insightSubtype: PERMISSIONS_USAGE_STORAGE_BUCKET
lastRefreshTime: '2022-05-24T07:00:00Z'
name: projects/123456789012/locations/us/insightTypes/google.iam.policy.Insight/insights/00dd7eb5-15c2-4fb3-a9b2-1a85f842462b
observationPeriod: 7772400s
severity: CRITICAL
stateInfo:
  state: ACTIVE
targetResources:
- //storage.googleapis.com/bucket-1

Pour en savoir plus sur les composants d'un insight, consultez la section Examiner les insights sur les stratégies au niveau des buckets sur cette page.

REST

La méthode insights.get de l'API Recommender permet d'obtenir un seul insight.

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

  • PROJECT_ID : ID du projet pour lequel vous souhaitez gérer des insights.
  • LOCATION: emplacement du bucket dont vous souhaitez obtenir l'insight.
  • INSIGHT_ID : ID de l'insight que vous souhaitez afficher. Si vous ne connaissez pas l'ID de l'insight, vous pouvez le trouver en répertoriant les insights de votre projet. L'ID d'un insight correspond à tout ce qui suit insights/ dans le champ name de l'insight.

Méthode HTTP et URL :

GET https://recommender.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/insightTypes/google.iam.policy.Insight/insights/INSIGHT_ID

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

La réponse contient les détails de l'insight. Par exemple, l'insight suivant indique que tous les utilisateurs (allUsers) disposent du rôle Lecteur de bucket ancien Storage (roles/storage.legacyBucketReader) sur le bucket bucket-1, mais que seules deux autorisations de ce rôle ont été utilisées au cours des 90 derniers jours:

{
  "name": "projects/123456789012/locations/us/insightTypes/google.iam.policy.Insight/insights/00dd7eb5-15c2-4fb3-a9b2-1a85f842462b",
  "description": "2 of the permissions in this role binding were used in the past 90 days.",
  "content": {
    "role": "roles/storage.legacyBucketReader",
    "member": "allUsers",
    "condition": {
      "expression": "",
      "title": "",
      "description": "",
      "location": ""
    },
    "exercisedPermissions": [
      {
        "permission": "storage.buckets.get"
      },
      {
        "permission": "storage.objects.list"
      }
    ],
    "inferredPermissions": [],
    "currentTotalPermissionsCount": "3"
  },
  "lastRefreshTime": "2022-05-24T07:00:00Z",
  "observationPeriod": "7772400s",
  "stateInfo": {
    "state": "ACTIVE"
  },
  "category": "SECURITY",
  "associatedRecommendations": [
    {
      "recommendation": "projects/123456789012/locations/us/recommenders/google.iam.policy.Recommender/recommendations/4a31a9d4-5132-4616-8a1f-fb07fad01883"
    }
  ],
  "targetResources": [
    "//storage.googleapis.com/bucket-1"
  ],
  "insightSubtype": "PERMISSIONS_USAGE_STORAGE_BUCKET",
  "etag": "\"2a8784e529b80aea\"",
  "severity": "CRITICAL"
}

Pour en savoir plus sur les composants d'un insight, consultez la section Examiner les insights sur les stratégies au niveau des buckets sur cette page.

Examiner les insights sur les stratégies au niveau du bucket

Après avoir obtenu un seul insight, vous pouvez consulter son contenu pour comprendre le modèle d'utilisation des ressources qu'il met en évidence.

Console

Lorsque vous cliquez sur un insight sur une stratégie dans la console Google Cloud, la console Google Cloud ouvre un volet affichant les détails de l'insight. L'apparence de ces détails varie selon que l'insight est associé à une recommandation ou non.

Si l'insight est associé à une recommandation, le volet affiche les détails de la recommandation.

Si l'insight n'est pas associé à une recommandation, le volet affiche une liste de toutes les autorisations du rôle. Les autorisations utilisées par le compte principal apparaissent en haut de la liste, suivies des autorisations en excès.

gcloud

Le contenu d'un insight est déterminé par ses sous-types. Les insights sur les stratégies au niveau du bucket (google.iam.policy.Insight) ont le sous-type PERMISSIONS_USAGE_STORAGE_BUCKET.

Les insights PERMISSIONS_USAGE_STORAGE_BUCKET incluent les composants suivants, mais pas nécessairement dans cet ordre :

  • associatedRecommendations : identifiants de toutes les recommandations associées à l'insight. Si aucune recommandation n'est associée à l'insight, ce champ est vide.
  • category : la catégorie des insights IAM est toujours SECURITY.
  • content : rapport sur l'utilisation par un compte principal des autorisations associées à un rôle particulier. Ce champ contient les éléments suivants :

    • condition : une ou plusieurs conditions associées à la liaison qui attribue le rôle au compte principal. Si aucune condition n'est spécifiée, ce champ contient une condition vide.
    • exercisedPermissions : autorisations du rôle utilisées par le compte principal au cours de la période d'observation.
    • inferredPermissions : autorisations du rôle dont le compte principal a probablement besoin. Ces autorisations sont déterminées grâce au ML par l'outil de recommandation IAM sur la base des autorisations réellements utilisées.
    • member : compte principal dont l'utilisation des autorisations a été analysée.
    • role : rôle pour lequel l'utilisation des autorisations a été analysée.
  • description : résumé lisible de l'insight.
  • etag : identifiant unique de l'état actuel d'un insight. Chaque fois que l'insight change, une nouvelle valeur etag est assignée à ce champ.

    Pour modifier l'état d'un insight, vous devez indiquer l'etag de l'insight existant. L'utilisation de l'etag permet de garantir que l'opération n'est effectuée que si l'insight n'a pas changé depuis qu'il a été récupéré.

  • insightSubtype : sous-type de l'insight
  • lastRefreshTime : date de la dernière actualisation de l'insight. Elle donne une idée de la fraîcheur des données utilisées pour générer l'insight.
  • name : nom de l'insight, au format suivant :

    projects/PROJECT_ID/locations/LOCATION/insightTypes/google.iam.policy.Insight/insights/INSIGHT_ID

    Les espaces réservés prennent les valeurs suivantes :

    • PROJECT_ID : ID du projet dans lequel l'insight a été généré.
    • LOCATION: emplacement du bucket auquel l'insight se rapporte.
    • INSIGHT_ID : ID unique de l'insight.
  • observationPeriod : période d'observation ayant donné lieu à la génération de l'insight. Les données sources permettant de générer l'insight se terminent à la dernière actualisation (lastRefreshTime) et commencent à la dernière actualisation (lastRefreshTime) en décomptant la période d'observation (observationPeriod).
  • stateInfo : état de l'insight. Les insights passent par différents états après leur création :

    • ACTIVE (actif) : l'insight a été généré, mais aucune action n'a été effectuée, ou l'état de l'insight n'a pas été mis à jour suite à l'action qui a été effectuée. Les insights dans cet état sont mis à jour lorsque les données sous-jacentes changent.
    • ACCEPTED (accepté) : des actions ont été effectuées en réponse à l'insight. Les insights passent dans cet état lorsqu'une recommandation associée a été marquée comme CLAIMED, SUCCEEDED ou FAILED, ou lorsque l'insight a été accepté directement. Lorsqu'un insight est à l'état ACCEPTED, son contenu ne peut pas changer. Une fois dans cet état, les insights sont conservés pendant 90 jours.
  • targetResources: nom complet de la ressource du bucket auquel l'insight est destiné. Exemple : //storage.googleapis.com/my-bucket.

REST

Le contenu d'un insight est déterminé par ses sous-types. Les insights sur les stratégies au niveau du bucket (google.iam.policy.Insight) ont le sous-type PERMISSIONS_USAGE_STORAGE_BUCKET.

Les insights PERMISSIONS_USAGE_STORAGE_BUCKET incluent les composants suivants, mais pas nécessairement dans cet ordre :

  • associatedRecommendations : identifiants de toutes les recommandations associées à l'insight. Si aucune recommandation n'est associée à l'insight, ce champ est vide.
  • category : la catégorie des insights IAM est toujours SECURITY.
  • content : rapport sur l'utilisation par un compte principal des autorisations associées à un rôle particulier. Ce champ contient les éléments suivants :

    • condition : une ou plusieurs conditions associées à la liaison qui attribue le rôle au compte principal. Si aucune condition n'est spécifiée, ce champ contient une condition vide.
    • exercisedPermissions : autorisations du rôle utilisées par le compte principal au cours de la période d'observation.
    • inferredPermissions : autorisations du rôle dont le compte principal a probablement besoin. Ces autorisations sont déterminées grâce au ML par l'outil de recommandation IAM sur la base des autorisations réellements utilisées.
    • member : compte principal dont l'utilisation des autorisations a été analysée.
    • role : rôle pour lequel l'utilisation des autorisations a été analysée.
  • description : résumé lisible de l'insight.
  • etag : identifiant unique de l'état actuel d'un insight. Chaque fois que l'insight change, une nouvelle valeur etag est assignée à ce champ.

    Pour modifier l'état d'un insight, vous devez indiquer l'etag de l'insight existant. L'utilisation de l'etag permet de garantir que l'opération n'est effectuée que si l'insight n'a pas changé depuis qu'il a été récupéré.

  • insightSubtype : sous-type de l'insight
  • lastRefreshTime : date de la dernière actualisation de l'insight. Elle donne une idée de la fraîcheur des données utilisées pour générer l'insight.
  • name : nom de l'insight, au format suivant :

    projects/PROJECT_ID/locations/LOCATION/insightTypes/google.iam.policy.Insight/insights/INSIGHT_ID

    Les espaces réservés prennent les valeurs suivantes :

    • PROJECT_ID : ID du projet dans lequel l'insight a été généré.
    • LOCATION: emplacement du bucket auquel l'insight se rapporte.
    • INSIGHT_ID : ID unique de l'insight.
  • observationPeriod : période d'observation ayant donné lieu à la génération de l'insight. Les données sources permettant de générer l'insight se terminent à la dernière actualisation (lastRefreshTime) et commencent à la dernière actualisation (lastRefreshTime) en décomptant la période d'observation (observationPeriod).
  • stateInfo : état de l'insight. Les insights passent par différents états après leur création :

    • ACTIVE (actif) : l'insight a été généré, mais aucune action n'a été effectuée, ou l'état de l'insight n'a pas été mis à jour suite à l'action qui a été effectuée. Les insights dans cet état sont mis à jour lorsque les données sous-jacentes changent.
    • ACCEPTED (accepté) : des actions ont été effectuées en réponse à l'insight. Les insights passent dans cet état lorsqu'une recommandation associée a été marquée comme CLAIMED, SUCCEEDED ou FAILED, ou lorsque l'insight a été accepté directement. Lorsqu'un insight est à l'état ACCEPTED, son contenu ne peut pas changer. Une fois dans cet état, les insights sont conservés pendant 90 jours.
  • targetResources: nom complet de la ressource du bucket auquel l'insight est destiné. Exemple : //storage.googleapis.com/my-bucket.

Marquer un insight sur une stratégie au niveau du bucket comme ACCEPTED

Si vous effectuez une action en réponse à un insight actif, vous pouvez marquer cet insight comme ACCEPTED. L'état ACCEPTED indique à l'API Recommender que vous avez effectué une action sur la base de cet insight, ce qui lui permettra d'affiner ses recommandations futures.

Les insights acceptés sont conservés pendant 90 jours après avoir été marqués comme ACCEPTED.

Console

Si un insight est associé à une recommandation, l'application de la recommandation fait passer l'état de l'insight à ACCEPTED.

Pour signaler un insight comme ACCEPTED sans appliquer de recommandation, utilisez gcloud CLI ou l'API REST.

gcloud

Pour marquer un insight comme ACCEPTED, exécutez la commande gcloud recommender insights mark-accepted avec l'ID de l'insight.

  • INSIGHT_ID : ID de l'insight que vous souhaitez afficher. Pour trouver cet ID, répertoriez les insights de votre projet.
  • PROJECT_ID : ID du projet pour lequel vous souhaitez gérer des insights.
  • LOCATION: emplacement du bucket dont vous souhaitez marquer l'insight comme ACCEPTED.
  • ETAG : identifiant d'une version de l'insight. Pour obtenir la valeur etag, procédez comme suit :

    1. Consultez l'insight à l'aide de la commande gcloud recommender insights describe.
    2. Dans le résultat, recherchez le champ etag et copiez sa valeur, guillemets compris. Exemple :"d3cdec23cc712bd0"
gcloud recommender insights mark-accepted INSIGHT_ID \
    --insight-type=google.iam.policy.Insight \
    --project=PROJECT_ID \
    --location=LOCATION \
    --etag=ETAG

Le résultat affiche l'insight, dont l'état est maintenant ACCEPTED :

associatedRecommendations:
- recommendation: projects/123456789012/locations/us/recommenders/google.iam.policy.Recommender/recommendations/4a31a9d4-5132-4616-8a1f-fb07fad01883
category: SECURITY
content:
  condition:
    description: ''
    expression: ''
    location: ''
    title: ''
  currentTotalPermissionsCount: '3'
  exercisedPermissions:
  - permission: storage.buckets.get
  - permission: storage.objects.list
  inferredPermissions: []
  member: allUsers
  role: roles/storage.legacyBucketReader
description: 2 of the permissions in this role binding were used in the past 90 days.
etag: '"0187c0362e4bcea7"'
insightSubtype: PERMISSIONS_USAGE_STORAGE_BUCKET
lastRefreshTime: '2022-05-24T07:00:00Z'
name: projects/123456789012/locations/us/insightTypes/google.iam.policy.Insight/insights/00dd7eb5-15c2-4fb3-a9b2-1a85f842462b
observationPeriod: 7772400s
severity: CRITICAL
stateInfo:
  state: ACCEPTED
targetResources:
- //storage.googleapis.com/bucket-1

Pour en savoir plus sur les informations d'état d'un insight, consultez la section Examiner les insights sur les stratégies au niveau des buckets sur cette page.

REST

La méthode insights.markAccepted de l'API Recommender marque un insight comme ACCEPTED.

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

  • PROJECT_ID : ID du projet pour lequel vous souhaitez gérer des insights.
  • LOCATION: emplacement du bucket dont vous souhaitez marquer l'insight comme ACCEPTED.
  • INSIGHT_ID : ID de l'insight que vous souhaitez afficher. Si vous ne connaissez pas l'ID de l'insight, vous pouvez le trouver en répertoriant les insights de votre projet. L'ID d'un insight correspond à tout ce qui suit insights/ dans le champ name de l'insight.
  • ETAG : identifiant d'une version de l'insight. Pour obtenir la valeur etag, procédez comme suit :
    1. Obtenez l'insight à l'aide de la méthode insights.get.
    2. Recherchez et copiez la valeur etag à partir de la réponse.

Méthode HTTP et URL :

POST https://recommender.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/insightTypes/google.iam.policy.Insight/insights/INSIGHT_ID:markAccepted

Corps JSON de la requête :

{
  "etag": "ETAG"
}

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

La réponse contient l'insight, dont l'état est ACCEPTED :

{
  "name": "projects/123456789012/locations/us/insightTypes/google.iam.policy.Insight/insights/00dd7eb5-15c2-4fb3-a9b2-1a85f842462b",
  "description": "2 of the permissions in this role binding were used in the past 90 days.",
  "content": {
    "role": "roles/storage.legacyBucketReader",
    "member": "allUsers",
    "condition": {
      "expression": "",
      "title": "",
      "description": "",
      "location": ""
    },
    "exercisedPermissions": [
      {
        "permission": "storage.buckets.get"
      },
      {
        "permission": "storage.objects.list"
      }
    ],
    "inferredPermissions": [],
    "currentTotalPermissionsCount": "3"
  },
  "lastRefreshTime": "2022-05-24T07:00:00Z",
  "observationPeriod": "7772400s",
  "stateInfo": {
    "state": "ACCEPTED"
  },
  "category": "SECURITY",
  "associatedRecommendations": [
    {
      "recommendation": "projects/123456789012/locations/us/recommenders/google.iam.policy.Recommender/recommendations/4a31a9d4-5132-4616-8a1f-fb07fad01883"
    }
  ],
  "targetResources": [
    "//storage.googleapis.com/bucket-1"
  ],
  "insightSubtype": "PERMISSIONS_USAGE_STORAGE_BUCKET",
  "etag": "\"9a5485cdc1f05b58\"",
  "severity": "CRITICAL"
}

Pour en savoir plus sur les informations d'état d'un insight, consultez la section Examiner les insights sur les stratégies au niveau des buckets sur cette page.

Étape suivante