Reveja as estatísticas de políticas para projetos, pastas e organizações

Esta página mostra como gerir as estatísticas de políticas, que são conclusões baseadas na aprendizagem automática sobre a utilização de autorizações. As estatísticas de políticas podem ajudar a identificar os responsáveis que têm autorizações de que não precisam.

Esta página centra-se nas estatísticas de políticas para projetos, pastas e organizações. O Recommender também oferece estatísticas de políticas para os seguintes tipos de recursos:

Por vezes, as estatísticas de políticas estão associadas a recomendações de funções. As recomendações de funções sugerem ações que pode realizar para corrigir os problemas identificados pelas estatísticas de políticas.

Antes de começar

Funções necessárias

Para receber as autorizações de que precisa para gerir as estatísticas de políticas, peça ao seu administrador que lhe conceda as seguintes funções de IAM no projeto, na pasta ou na organização para os quais quer gerir estatísticas:

Para mais informações sobre a atribuição de funções, consulte o artigo Faça a gestão do acesso a projetos, pastas e organizações.

Estas funções predefinidas contêm as autorizações necessárias para gerir as estatísticas de políticas. Para ver as autorizações exatas que são necessárias, expanda a secção Autorizações necessárias:

Autorizações necessárias

São necessárias as seguintes autorizações para gerir as estatísticas de políticas:

  • Para ver estatísticas de políticas:
    • recommender.iamPolicyInsights.get
    • recommender.iamPolicyInsights.list
  • Para modificar as estatísticas de políticas: recommender.iamPolicyInsights.update

Também pode conseguir estas autorizações com funções personalizadas ou outras funções predefinidas.

Indicar estatísticas de políticas

Para apresentar uma lista de todas as estatísticas de políticas do seu projeto, pasta ou organização, use um dos seguintes métodos:

Consola

  1. Na Google Cloud consola, aceda à página IAM.

    Aceda ao IAM

  2. Selecione um projeto, uma pasta ou uma organização.

A coluna Estatísticas de segurança mostra todas as estatísticas relacionadas com a segurança do seu projeto, incluindo estatísticas de políticas. As estatísticas de políticas têm o formato EXCESS/TOTAL excess permissions, em que EXCESS é o número de autorizações na função que o principal não precisa e TOTAL é o número total de autorizações na função.

gcloud

Use o comando gcloud recommender insights list para ver todas as estatísticas de políticas do seu projeto, pasta ou organização.

Antes de executar o comando, substitua os seguintes valores:

  • RESOURCE_TYPE: o tipo de recurso para o qual quer listar estatísticas. Use o valor project, folder, ou organization.
  • RESOURCE_ID: o ID do projeto, pasta ou organização para o qual quer apresentar estatísticas.
gcloud recommender insights list --insight-type=google.iam.policy.Insight \
    --RESOURCE_TYPE=RESOURCE_ID \
    --location=global

O resultado apresenta todas as estatísticas de políticas do seu projeto, pasta ou organização. Por exemplo:

INSIGHT_ID                            CATEGORY  INSIGHT_STATE  LAST_REFRESH_TIME     SEVERITY  INSIGHT_SUBTYPE    DESCRIPTION
00133c0b-5431-4b30-9172-7c903aa4af24  SECURITY  ACTIVE         2022-05-24T07:00:00Z  LOW       PERMISSIONS_USAGE  9 of the permissions in this role binding were used in the past 90 days.
0161f2eb-acb7-4a5e-ad52-50284beaa312  SECURITY  ACTIVE         2022-05-24T07:00:00Z  LOW       PERMISSIONS_USAGE  0 of the permissions in this role binding were used in the past 90 days.
01ea0d0d-e9a1-4073-9367-5a934a857fb4  SECURITY  ACTIVE         2022-05-24T07:00:00Z  LOW       PERMISSIONS_USAGE  1 of the permissions in this role binding were used in the past 90 days.
039407bc-a25b-4aeb-b573-5c851f2e9833  SECURITY  ACTIVE         2022-05-24T07:00:00Z  HIGH      PERMISSIONS_USAGE  52 of the permissions in this role binding were used in the past 90 days.
0541df88-8bc3-44b3-ad5d-9cb372630aeb  SECURITY  ACTIVE         2022-05-24T07:00:00Z  HIGH      PERMISSIONS_USAGE  31 of the permissions in this role binding were used in the past 90 days.
07841f74-02ce-4de8-bbe6-fc4eabb68568  SECURITY  ACTIVE         2022-05-24T07:00:00Z  HIGH      PERMISSIONS_USAGE  0 of the permissions in this role binding were used in the past 90 days.
07713094-fdee-4475-9c43-cd53d52c9de1  SECURITY  ACTIVE         2022-05-24T07:00:00Z  LOW       PERMISSIONS_USAGE  2 of the permissions in this role binding were used in the past 90 days.
0a438d19-9d63-4749-aadd-578aa4e77908  SECURITY  ACTIVE         2022-05-24T07:00:00Z  LOW       PERMISSIONS_USAGE  0 of the permissions in this role binding were used in the past 90 days.
f4292f55-105b-4744-9dc3-fcacf59685bb  SECURITY  ACTIVE         2022-05-24T07:00:00Z  HIGH      PERMISSIONS_USAGE  4 of the permissions in this role binding were used in the past 90 days.

REST

O método insights.list da API Recommender apresenta todas as estatísticas de políticas para o seu projeto, pasta ou organização.

Antes de usar qualquer um dos dados do pedido, faça as seguintes substituições:

  • RESOURCE_TYPE: o tipo de recurso para o qual quer apresentar estatísticas. Use o valor projects, folders, ou organizations.
  • RESOURCE_ID: o ID do projeto, pasta ou organização para o qual quer apresentar estatísticas.
  • PROJECT_ID: O ID do Google Cloud projeto. Os IDs dos projetos são strings alfanuméricas, como my-project.

Método HTTP e URL:

GET https://recommender.googleapis.com/v1/RESOURCE_TYPE/RESOURCE_ID/locations/global/insightTypes/google.iam.policy.Insight/insights

Para enviar o seu pedido, expanda uma destas opções:

A resposta apresenta todas as estatísticas de políticas para o seu projeto, pasta ou organização. Por exemplo:

{
  "insights": [
    {
      "name": "projects/123456789012/locations/global/insightTypes/google.iam.policy.Insight/insights/07841f74-02ce-4de8-bbe6-fc4eabb68568",
      "description": "0 of the permissions in this role binding were used in the past 90 days.",
      "content": {
        "role": "roles/viewer",
        "member": "serviceAccount:my-service-account@my-project.iam.gserviceaccount.com",
        "condition": {
          "expression": "",
          "title": "",
          "description": "",
          "location": ""
        },
        "exercisedPermissions": [],
        "inferredPermissions": []
      },
      "lastRefreshTime": "2022-05-24T07:00:00Z",
      "observationPeriod": "7776000s",
      "stateInfo": {
        "state": "ACTIVE"
      },
      "category": "SECURITY",
      "associatedRecommendations": [
        {
          "recommendation": "projects/123456789012/locations/global/recommenders/google.iam.policy.Recommender/recommendations/b1932220-867d-43d1-bd74-fb95876ab656"
        }
      ],
      "targetResources": [
        "//cloudresourcemanager.googleapis.com/projects/123456789012"
      ],
      "insightSubtype": "PERMISSIONS_USAGE",
      "etag": "\"b153ab487e4ae100\"",
      "severity": "HIGH"
    },
    {
      "name": "projects/123456789012/locations/global/insightTypes/google.iam.policy.Insight/insights/f4292f55-105b-4744-9dc3-fcacf59685bb",
      "description": "4 of the permissions in this role binding were used in the past 90 days.",
      "content": {
        "role": "roles/owner",
        "member": "serviceAccount:my-service-account2@my-project.iam.gserviceaccount.com",
        "condition": {
          "expression": "",
          "title": "",
          "description": "",
          "location": ""
        },
        "exercisedPermissions": [
          {
            "permission": "iam.roles.create"
          },
          {
            "permission": "iam.roles.delete"
          },
          {
            "permission": "iam.roles.list"
          },
          {
            "permission": "iam.roles.update"
          }
        ],
        "inferredPermissions": []
      },
      "lastRefreshTime": "2022-05-24T07:00:00Z",
      "observationPeriod": "7776000s",
      "stateInfo": {
        "state": "ACTIVE"
      },
      "category": "SECURITY",
      "associatedRecommendations": [
        {
          "recommendation": "projects/123456789012/locations/global/recommenders/google.iam.policy.Recommender/recommendations/6ab16c1d-edce-45e5-8d82-570fdd49892a"
        }
      ],
      "targetResources": [
        "//cloudresourcemanager.googleapis.com/projects/123456789012"
      ],
      "insightSubtype": "PERMISSIONS_USAGE",
      "etag": "\"49bb705553338fc3\"",
      "severity": "HIGH"
    }
  ]
}

Para saber mais sobre os componentes de uma estatística, consulte Reveja as estatísticas das políticas nesta página.

Obtenha uma única estatística de política

Para obter mais informações sobre uma única estatística, incluindo a descrição, o estado e as recomendações associadas, use um dos seguintes métodos:

Consola

  1. Na Google Cloud consola, aceda à página IAM.

    Aceda ao IAM

  2. Selecione um projeto, uma pasta ou uma organização.
  3. Na coluna Estatísticas de segurança, clique numa estatística de política. As estatísticas de políticas têm o formato EXCESS/TOTAL excess permissions, em que EXCESS é o número de autorizações na função que o principal não precisa e TOTAL é o número total de autorizações na função.

A Google Cloud consola abre um painel que mostra os detalhes da estatística.

gcloud

Use o comando gcloud recommender insights describe com o ID da estatística para ver informações sobre uma única estatística.

  • INSIGHT_ID: o ID da estatística que quer ver. Para encontrar o ID, liste as estatísticas do seu projeto, pasta ou organização.
  • RESOURCE_TYPE: o tipo de recurso para o qual quer gerir estatísticas. Use o valor project, folder, ou organization.
  • RESOURCE_ID: o ID do projeto, pasta ou organização para o qual quer gerir estatísticas.
gcloud recommender insights describe INSIGHT_ID \
    --insight-type=google.iam.policy.Insight \
    --RESOURCE_TYPE=RESOURCE_ID \
    --location=global

O resultado mostra a estatística detalhadamente. Por exemplo, a seguinte estatística indica que my-service-account@my-project.iam.gserviceaccount.com usou zero autorizações da função de leitor (roles/viewer) nos últimos 90 dias:

associatedRecommendations:
- recommendation: projects/123456789012/locations/global/recommenders/google.iam.policy.Recommender/recommendations/0573b702-96a5-4622-a916-c762e7b0731f
category: SECURITY
content:
  condition:
    description: ''
    expression: ''
    location: ''
    title: ''
  exercisedPermissions: []
  inferredPermissions: []
  member: serviceAccount:my-service-account@my-project.iam.gserviceaccount.com
  role: roles/viewer
description: 0 of the permissions in this role binding were used in the past 90 days.
etag: '"d3cdec23cc712bd0"'
insightSubtype: PERMISSIONS_USAGE
lastRefreshTime: '2020-07-11T07:00:00Z'
name: projects/123456789012/locations/global/insightTypes/google.iam.policy.Insight/insights/0d3ce433-f067-4e78-b6ae-03d7d1f6f040
observationPeriod: 7776000s
severity: HIGH
stateInfo:
  state: ACTIVE
targetResources:
- //cloudresourcemanager.googleapis.com/projects/123456789012

Para saber mais sobre os componentes de uma estatística, consulte Reveja as estatísticas de políticas nesta página.

REST

O método insights.get da API Recommender recebe uma única estatística.

Antes de usar qualquer um dos dados do pedido, faça as seguintes substituições:

  • RESOURCE_TYPE: o tipo de recurso para o qual quer gerir as estatísticas. Use o valor projects, folders, ou organizations.
  • RESOURCE_ID: o ID do projeto, pasta ou organização para o qual quer gerir estatísticas.
  • INSIGHT_ID: o ID da estatística que quer ver. Se não souber o ID das estatísticas, pode encontrá-lo listando as estatísticas no seu projeto, pasta ou organização. O ID de uma estatística é tudo o que se encontra depois de insights/ no campo name da estatística.
  • PROJECT_ID: O ID do Google Cloud projeto. Os IDs dos projetos são strings alfanuméricas, como my-project.

Método HTTP e URL:

GET https://recommender.googleapis.com/v1/RESOURCE_TYPE/RESOURCE_ID/locations/global/insightTypes/google.iam.policy.Insight/insights/INSIGHT_ID

Para enviar o seu pedido, expanda uma destas opções: