Analisar insights de políticas para buckets do Cloud Storage

Esta página mostra como gerenciar insights de políticas no nível do bucket, que são descobertas baseadas em machine learning sobre o uso de permissões nos buckets do Cloud Storage. Os insights de políticas podem ajudar a identificar quais participantes têm permissões que não precisam.

Esta página se concentra nos insights de políticas para buckets. O recomendador também oferece insights de política para os seguintes tipos de recursos:

Às vezes, os insights de política no nível do bucket são vinculados a recomendações de papel. As recomendações de função sugerem ações que você pode realizar para corrigir os problemas identificados pelos insights de políticas no nível do bucket.

Antes de começar

Funções exigidas

Para receber as permissões necessárias para gerenciar insights de políticas no nível do bucket, peça ao administrador para conceder a você os seguintes papéis do IAM no projeto:

  • Administrador de armazenamento (roles/storage.admin)
  • Gerencie os insights de políticas no nível do bucket com a CLI gcloud ou a API REST: Consumidor de uso do serviço (`roles/serviceusage.serviceUsageConsumer`)

Para mais informações sobre a concessão de papéis, consulte Gerenciar o acesso a projetos, pastas e organizações.

Esses papéis predefinidos contêm as permissões necessárias para gerenciar insights de políticas no nível do bucket. Para conferir as permissões exatas necessárias, expanda a seção Permissões necessárias:

Permissões necessárias

As permissões a seguir são necessárias para gerenciar insights de políticas no nível do bucket:

  • Para conferir insights de políticas no nível do intervalo:
    • recommender.iamPolicyInsights.get
    • recommender.iamPolicyInsights.list
  • Para modificar os insights de políticas no nível do bucket: recommender.iamPolicyInsights.update
  • Para gerenciar insights de políticas no nível do bucket no console do Google Cloud:
    • resourcemanager.projects.get
    • storage.buckets.list
  • Gerencie os insights de políticas no nível do bucket com a CLI gcloud ou a API REST: serviceusage.services.use

Essas permissões também podem ser concedidas com funções personalizadas ou outros papéis predefinidos.

Listar insights de política no nível do bucket

Para listar todos os insights de política no nível do bucket do seu projeto, use um dos seguintes métodos:

Console

  1. No console do Google Cloud, acesse a página Buckets.

    Acessar os buckets

  2. Encontre a coluna Insights de segurança na tabela. Se a coluna Insights de segurança não estiver visível, clique em  Opções de exibição da coluna e selecione Insights de segurança.

    Essa coluna mostra um resumo de todos os insights de política do bucket. Cada resumo indica o número total de permissões em excesso para todos os papéis concedidos nesse bucket.

  3. Encontre o bucket com os insights que você quer visualizar e clique no resumo dos insights de política nessa linha. Essa ação abre o painel Recomendações de segurança, que lista todos os participantes que têm um papel no bucket, os papéis deles e os insights de política associados a esses papéis.

    Nesta tabela, os insights de política têm o formato EXCESS/TOTAL excess permissions, em que EXCESS é o número de permissões no papel que o principal não precisa e TOTAL é o número total de permissões no papel.

gcloud

Use o comando gcloud recommender insights list para conferir todos os insights de política no nível do bucket do seu projeto.

Antes de executar o comando, substitua os seguintes valores:

  • PROJECT_ID: o ID do projeto para o qual você quer listar insights.
  • LOCATION: o local dos buckets cujos insights você quer listar.
gcloud recommender insights list --insight-type=google.iam.policy.Insight \
    --project=PROJECT_ID \
    --location=LOCATION\
    --filter="insightSubtype:PERMISSIONS_USAGE_STORAGE_BUCKET"

A saída lista todos os insights de política no nível do bucket do seu projeto no local especificado. Exemplo:

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

O método insights.list da API Recommender lista todos os insights de política no nível do bucket do projeto.

Antes de usar os dados da solicitação abaixo, faça as substituições a seguir:

  • PROJECT_ID: o ID do projeto para o qual você quer listar insights.
  • LOCATION: o local dos buckets cujos insights você quer listar.

Método HTTP e 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

Para enviar a solicitação, expanda uma destas opções:

A resposta lista todos os insights de política no nível do bucket para o projeto no local especificado. Exemplo:

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

Para saber mais sobre os componentes de um insight, consulte Analisar insights de política no nível do bucket nesta página.

Receber um insight de política no nível do bucket

Para mais informações sobre um único insight, incluindo a descrição, o status e as recomendações associadas, use um dos seguintes métodos:

Console

  1. No console do Google Cloud, acesse a página Buckets.

    Acessar os buckets

  2. Verifique se a coluna Insights de segurança está visível.
  3. Encontre a coluna Insights de segurança na tabela. Essa coluna mostra um resumo de todos os insights de políticas do bucket. Cada resumo indica o número total de permissões em excesso para todos os papéis concedidos nesse bucket.

    Se a coluna Insights de segurança não estiver visível, clique em  Opções de exibição de coluna e selecione Insights de segurança. Em seguida, encontre a coluna na tabela.

  4. Encontre o bucket com os insights que você quer consultar e clique no resumo dos insights de política nessa linha. Isso abre um painel que lista todos os principais que têm um papel no bucket, as funções deles e os insights de políticas associados a esses papéis.
  5. Na coluna Insights de segurança, clique em um insight de política. Os insights de política têm o formato EXCESS/TOTAL excess permissions, em que EXCESS é o número de permissões no papel que o principal não precisa e TOTAL é o número total de permissões no papel.

O Console do Google Cloud abre um painel que mostra os detalhes do insight.

gcloud

Use o comando gcloud recommender insights describe com o ID do insight para ver as informações sobre um único insight.

  • INSIGHT_ID: o ID do insight que você quer ver. Para encontrar o ID, liste os insights do projeto.
  • PROJECT_ID: o ID do projeto para o qual você quer gerenciar insights.
  • LOCATION: o local do bucket cujo insight você quer receber.
gcloud recommender insights describe INSIGHT_ID \
    --insight-type=google.iam.policy.Insight \
    --project=PROJECT_ID \
    --location=LOCATION

A saída mostra os insights detalhados. Por exemplo, o insight a seguir indica que todos os usuários (allUsers) têm o papel de Leitor de bucket legado do Storage (roles/storage.legacyBucketReader) no bucket bucket-1, mas que apenas duas permissões nessa função foram usadas nos últimos 90 dias:

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

Para saber mais sobre os componentes de um insight, consulte Analisar insights de política no nível do bucket nesta página.

REST

O método insights.get da API Recommender recebe um insight.

Antes de usar os dados da solicitação abaixo, faça as substituições a seguir:

  • PROJECT_ID: o ID do projeto para o qual você quer gerenciar insights.
  • LOCATION: o local do bucket cujo insight você quer receber.
  • INSIGHT_ID: o ID do insight que você quer ver. Se você não souber o ID, é possível encontrá-lo listando os insights no seu projeto. O ID de um insight é tudo o que aparece depois de insights/ no campo name do insight.

Método HTTP e URL:

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

Para enviar a solicitação, expanda uma destas opções:

A resposta contém o insight. Por exemplo, o insight a seguir indica que todos os usuários (allUsers) têm o papel de Leitor de bucket legado do Storage (roles/storage.legacyBucketReader) no bucket bucket-1, mas que apenas duas permissões nessa função foram usadas nos últimos 90 dias:

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

Para saber mais sobre os componentes de um insight, consulte Analisar insights de política no nível do bucket nesta página.

Analisar insights de políticas no nível do bucket

Depois de receber um único insight, é possível analisar o conteúdo para entender o padrão de uso de recursos destacado

Console

Quando você clica em um insight de política no Console do Google Cloud, o Console do Google Cloud abre um painel mostrando os detalhes do insight. A aparência desses detalhes depende de o insight estar associado a uma recomendação.

Se o insight estiver associado a uma recomendação, o painel mostrará os detalhes da recomendação.

Se o insight não estiver associado a uma recomendação, o painel mostrará uma lista de todas as permissões no papel. As permissões usadas pelo principal aparecem no topo da lista, seguidas das permissões em excesso.

gcloud

O conteúdo do insight é determinado pelos subtipos dele. Os insights de política no nível do bucket (google.iam.policy.Insight) têm o subtipo PERMISSIONS_USAGE_STORAGE_BUCKET.

Os insights PERMISSIONS_USAGE_STORAGE_BUCKET têm os seguintes componentes, não necessariamente nesta ordem:

  • associatedRecommendations: os identificadores de qualquer recomendação associada ao insight. Se não houver recomendações associadas ao insight, esse campo estará vazio.
  • category: a categoria dos insights do IAM é sempre SECURITY.
  • content: relata o uso das permissões de um membro referentes a um papel específico. Este campo contém os seguintes componentes:

    • condition: qualquer condição anexada à vinculação que concede o papel ao principal. Se não houver condições, esse campo conterá uma condição vazia.
    • exercisedPermissions: as permissões do papel que o principal usou durante o período de observação.
    • inferredPermissions: as permissões do papel que o recomendador determinou por ML e que o principal provavelmente precisará com base nas permissões que ele usou.
    • member: o principal com o uso analisado das permissões.
    • role: o papel com o uso analisado das permissões.
  • description: um resumo legível do insight.
  • etag: um identificador exclusivo do estado atual de um insight. Sempre que o insight for alterado, um novo valor de etag será atribuído.

    Para alterar o estado de um insight, informe a etag do insight atual. O uso de etag ajuda a garantir que qualquer operação seja executada somente se o insight não tiver sido alterado desde a última vez que você o recuperou.

  • insightSubtype: o subtipo de insight.
  • lastRefreshTime: a data em que o insight foi atualizado pela última vez, o que indica a atualização dos dados usados para gerá-lo.
  • name: o nome do insight no seguinte formato:

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

    Os marcadores têm os seguintes valores:

    • PROJECT_ID: o ID do projeto em que o insight foi gerado.
    • LOCATION: o local do bucket para o qual o insight se destina.
    • INSIGHT_ID: um ID exclusivo para o insight.
  • observationPeriod: o período antes do insight. Os dados de origem usados para gerar o insight terminam em lastRefreshTime e começam em lastRefreshTime menos observationPeriod.
  • stateInfo: os insights passam por várias transições de estado após serem propostos:

    • ACTIVE: o insight foi gerado, mas nenhuma ação foi realizada, ou uma ação foi realizada sem atualizar o estado dele. Os insights ativos são atualizados quando os dados subjacentes são alterados.
    • ACCEPTED: ocorreu uma ação com base no insight. Os insights são aceitos quando uma recomendação associada é marcada como CLAIMED, SUCCEEDED ou FAILED, ou quando o insight é aceito diretamente. Quando o estado do insight é ACCEPTED, o conteúdo dele não pode ser alterado. Os insights aceitos são mantidos por 90 dias após a aceitação.
  • targetResources: o nome completo do recurso do bucket relacionado ao insight. Por exemplo, //storage.googleapis.com/my-bucket.

REST

O conteúdo do insight é determinado pelos subtipos dele. Os insights de política no nível do bucket (google.iam.policy.Insight) têm o subtipo PERMISSIONS_USAGE_STORAGE_BUCKET.

Os insights PERMISSIONS_USAGE_STORAGE_BUCKET têm os seguintes componentes, não necessariamente nesta ordem:

  • associatedRecommendations: os identificadores de qualquer recomendação associada ao insight. Se não houver recomendações associadas ao insight, esse campo estará vazio.
  • category: a categoria dos insights do IAM é sempre SECURITY.
  • content: relata o uso das permissões de um membro referentes a um papel específico. Este campo contém os seguintes componentes:

    • condition: qualquer condição anexada à vinculação que concede o papel ao principal. Se não houver condições, esse campo conterá uma condição vazia.
    • exercisedPermissions: as permissões do papel que o principal usou durante o período de observação.
    • inferredPermissions: as permissões do papel que o recomendador determinou por ML e que o principal provavelmente precisará com base nas permissões que ele usou.
    • member: o principal com o uso analisado das permissões.
    • role: o papel com o uso analisado das permissões.
  • description: um resumo legível do insight.
  • etag: um identificador exclusivo do estado atual de um insight. Sempre que o insight for alterado, um novo valor de etag será atribuído.

    Para alterar o estado de um insight, informe a etag do insight atual. O uso de etag ajuda a garantir que qualquer operação seja executada somente se o insight não tiver sido alterado desde a última vez que você o recuperou.

  • insightSubtype: o subtipo de insight.
  • lastRefreshTime: a data em que o insight foi atualizado pela última vez, o que indica a atualização dos dados usados para gerá-lo.
  • name: o nome do insight no seguinte formato:

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

    Os marcadores têm os seguintes valores:

    • PROJECT_ID: o ID do projeto em que o insight foi gerado.
    • LOCATION: o local do bucket para o qual o insight se destina.
    • INSIGHT_ID: um ID exclusivo para o insight.
  • observationPeriod: o período antes do insight. Os dados de origem usados para gerar o insight terminam em lastRefreshTime e começam em lastRefreshTime menos observationPeriod.
  • stateInfo: os insights passam por várias transições de estado após serem propostos:

    • ACTIVE: o insight foi gerado, mas nenhuma ação foi realizada, ou uma ação foi realizada sem atualizar o estado dele. Os insights ativos são atualizados quando os dados subjacentes são alterados.
    • ACCEPTED: ocorreu uma ação com base no insight. Os insights são aceitos quando uma recomendação associada é marcada como CLAIMED, SUCCEEDED ou FAILED, ou quando o insight é aceito diretamente. Quando o estado do insight é ACCEPTED, o conteúdo dele não pode ser alterado. Os insights aceitos são mantidos por 90 dias após a aceitação.
  • targetResources: o nome completo do recurso do bucket relacionado ao insight. Por exemplo, //storage.googleapis.com/my-bucket.

Marcar um insight de política no nível do bucket como ACCEPTED

Se você executar uma ação com base em um insight ativo, será possível marcá-lo como ACCEPTED. O estado ACCEPTED informa à API Recommender que você tomou medidas com base nesse insight, o que ajuda a refinar as recomendações.

Os insights aceitos são mantidos por 90 dias depois de serem marcados como ACCEPTED.

Console

Se um insight estiver associado a uma recomendação, aplicar a recomendação mudará o estado do insight para ACCEPTED.

Para marcar um insight como ACCEPTED sem aplicar uma recomendação, use a CLI gcloud ou a API REST.

gcloud

Use o comando gcloud recommender insights mark-accepted com o ID do insight para marcar um insight como ACCEPTED.

  • INSIGHT_ID: o ID do insight que você quer ver. Para encontrar o ID, liste os insights do projeto.
  • PROJECT_ID: o ID do projeto para o qual você quer gerenciar insights.
  • LOCATION: o local do bucket cujo insight você quer marcar como ACCEPTED.
  • ETAG: um identificador de uma versão do insight. Para receber o etag, faça o seguinte:

    1. Receba o insight usando o comando gcloud recommender insights describe.
    2. Encontre e copie o valor da etag na saída, incluindo as aspas delimitadoras. Por exemplo, "d3cdec23cc712bd0".
gcloud recommender insights mark-accepted INSIGHT_ID \
    --insight-type=google.iam.policy.Insight \
    --project=PROJECT_ID \
    --location=LOCATION \
    --etag=ETAG

A saída mostra o insight, agora com o estado 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

Para saber mais sobre as informações de estado de um insight, consulte Analisar insights de política no nível do bucket nesta página.

REST

O método insights.markAccepted da API Recommender marca um insight como ACCEPTED.

Antes de usar os dados da solicitação abaixo, faça as substituições a seguir:

  • PROJECT_ID: o ID do projeto para o qual você quer gerenciar insights.
  • LOCATION: o local do bucket cujo insight você quer marcar como ACCEPTED.
  • INSIGHT_ID: o ID do insight que você quer ver. Se você não souber o ID, é possível encontrá-lo listando os insights no seu projeto. O ID de um insight é tudo o que aparece depois de insights/ no campo name do insight.
  • ETAG: identificador de uma versão do insight. Para receber o etag, faça o seguinte:
    1. Receba o insight usando o método insights.get.
    2. Encontre e copie o valor etag da resposta.

Método HTTP e URL:

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

Corpo JSON da solicitação:

{
  "etag": "ETAG"
}

Para enviar a solicitação, expanda uma destas opções:

A resposta contém o insight, agora com o estado 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"
}

Para saber mais sobre as informações de estado de um insight, consulte Analisar insights de política no nível do bucket nesta página.

A seguir