Reveja e aplique recomendações de funções para projetos, pastas e organizações

Esta página explica como ver, compreender e aplicar recomendações de funções para projetos, pastas e organizações. As recomendações de funções ajudam a aplicar o princípio do menor privilégio, garantindo que os principais têm apenas as autorizações de que realmente precisam.

Antes de começar

  • Enable the IAM and Recommender APIs.

    Roles required to enable APIs

    To enable APIs, you need the Service Usage Admin IAM role (roles/serviceusage.serviceUsageAdmin), which contains the serviceusage.services.enable permission. Learn how to grant roles.

    Enable the APIs

  • Compreenda as recomendações de funções.

  • Reveja as práticas recomendadas para recomendações de funções.

  • Opcional: se quiser ver e gerir recomendações de funções para funções não básicas e personalizadas, certifique-se de que tem uma ativação ao nível da organização ou do projeto do nível Premium ou Enterprise do Security Command Center. Para mais informações, consulte o artigo Perguntas sobre faturação.

  • Configurar autenticação.

    Select the tab for how you plan to use the samples on this page:

    gcloud

    In the Google Cloud console, activate Cloud Shell.

    Activate Cloud Shell

    At the bottom of the Google Cloud console, a Cloud Shell session starts and displays a command-line prompt. Cloud Shell is a shell environment with the Google Cloud CLI already installed and with values already set for your current project. It can take a few seconds for the session to initialize.

    REST

    Para usar os exemplos da API REST nesta página num ambiente de desenvolvimento local, usa as credenciais que fornece à CLI gcloud.

      Instale a CLI Google Cloud. Após a instalação, inicialize a CLI gcloud executando o seguinte comando:

      gcloud init

      Se estiver a usar um fornecedor de identidade (IdP) externo, primeiro tem de iniciar sessão na CLI gcloud com a sua identidade federada.

    Para mais informações, consulte o artigo Autenticar para usar REST na Google Cloud documentação de autenticação.

Funções de IAM necessárias

Esta secção descreve as funções e as autorizações do IAM de que precisa para trabalhar com as recomendações de funções.

Ver recomendações

Para receber as autorizações de que precisa para ver as recomendações de funções, peça ao seu administrador que lhe conceda as seguintes funções de IAM no recurso para o qual quer ver recomendações (projeto, pasta ou organização):

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 ver recomendações de funções. 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 ver recomendações de funções:

  • iam.roles.get
  • iam.roles.list
  • recommender.iamPolicyRecommendations.get
  • recommender.iamPolicyRecommendations.list
  • recommender.iamPolicyInsights.get
  • recommender.iamPolicyInsights.list
  • recommender.iamPolicyLateralMovementInsights.get
  • recommender.iamPolicyLateralMovementInsights.list
  • Para ver recomendações na Google Cloud consola: resourcemanager.RESOURCE.getIamPolicy, onde RESOURCE é o tipo de recurso para o qual quer ver recomendações (projects, folders ou organizations)

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

Aplique e ignore recomendações

Para receber as autorizações de que precisa para ver, aplicar e ignorar recomendações de funções, peça ao seu administrador que lhe conceda as seguintes funções de IAM no recurso para o qual quer gerir recomendações (projeto, pasta ou organização):

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 ver, aplicar e ignorar recomendações de funções. 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 ver, aplicar e ignorar recomendações de funções:

  • iam.roles.get
  • iam.roles.list
  • recommender.iamPolicyRecommendations.get
  • recommender.iamPolicyRecommendations.list
  • recommender.iamPolicyInsights.get
  • recommender.iamPolicyInsights.list
  • recommender.iamPolicyLateralMovementInsights.get
  • recommender.iamPolicyLateralMovementInsights.list
  • recommender.iamPolicyRecommendations.update
  • resourcemanager.RESOURCE.getIamPolicy, onde RESOURCE é o tipo de recurso para o qual quer gerir recomendações (projects, folders ou organizations)
  • resourcemanager.RESOURCE.setIamPolicy, onde RESOURCE é o tipo de recurso para o qual quer gerir recomendações (projects, folders ou organizations)

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

Reveja e aplique recomendações

A forma mais fácil de rever e aplicar as recomendações é usar a Google Cloud consola. Além disso, se quiser criar automaticamente uma função personalizada quando aplicar uma recomendação, tem de usar a Google Cloud consola.

Também pode rever e aplicar recomendações com a CLI Google Cloud e a API Recommender.

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 lista de responsáveis que têm acesso ao seu projeto, encontre a coluna Estatísticas de segurança.

    Para cada função concedida a um principal, esta coluna mostra quaisquer estatísticas relacionadas com a segurança. Estas estatísticas realçam padrões na forma como os seus principais acedem aos recursos. Por exemplo, algumas estatísticas realçam as autorizações excessivas ou as autorizações de que um principal não precisa. Outras estatísticas realçam as contas de serviço com capacidades de movimento lateral:

    Se estiver disponível uma recomendação para resolver uma estatística, a Google Cloud consola apresenta o ícone Recomendação disponível .

  4. Se existirem recomendações para rever, clique no ícone Recomendação disponível para ver detalhes sobre a recomendação.

    Se a recomendação for substituir a função, a recomendação de função sugere sempre um conjunto de funções predefinidas que pode aplicar.

    Em alguns casos, a recomendação de função também sugere a criação de uma nova função personalizada ao nível do projeto. Se estiver disponível uma recomendação de função personalizada, a consola apresenta-a por predefinição. Google Cloud Para mudar para a recomendação de função predefinida, clique em Ver função predefinida recomendada.

  5. Reveja cuidadosamente a recomendação e certifique-se de que compreende como vai alterar o acesso do principal aos Google Cloud recursos. Exceto no caso das recomendações para agentes de serviços, uma recomendação nunca aumenta o nível de acesso de um principal. Consulte o artigo Como são geradas as recomendações de funções para mais informações.

    Para saber como rever as recomendações na consola, consulte a secção Reveja as recomendações nesta página.

  6. Opcional: se a recomendação for criar uma função personalizada, atualize o título, a descrição, o ID e a fase de lançamento da função, conforme necessário.

    Se precisar de adicionar autorizações à função personalizada, clique em Adicionar autorizações.

    Se precisar de remover autorizações da função personalizada, desmarque a caixa de verificação de cada autorização que quer remover.

  7. Tome medidas com base na recomendação.

    Para aplicar a recomendação, clique em Aplicar ou Criar e aplicar. Se mudar de ideias nos próximos 90 dias, use o histórico de recomendações para reverter a sua escolha.

    Para ignorar a recomendação, clique em Ignorar e, de seguida, confirme a sua escolha. Pode restaurar uma recomendação ignorada, desde que a recomendação ainda seja válida.

  8. Repita os passos anteriores até rever todas as suas recomendações.

gcloud

Reveja as suas recomendações:

Para apresentar uma lista das suas recomendações, execute o comando gcloud recommender recommendations list:

gcloud recommender recommendations list \
    --location=global \
    --recommender=google.iam.policy.Recommender \
    --RESOURCE_TYPE=RESOURCE_ID \
    --format=json

Substitua os seguintes valores:

  • RESOURCE_TYPE: o tipo de recurso para o qual quer apresentar recomendações. Use o valor project, folder ou organization.
  • RESOURCE_ID: o ID do Google Cloud projeto, da pasta ou da organização para os quais quer apresentar recomendações. Os IDs dos projetos são strings alfanuméricas, como my-project. Os IDs das pastas e das organizações são numéricos, como 123456789012.

A resposta é semelhante ao seguinte exemplo. Neste exemplo, uma conta de serviço não usou nenhuma autorização da função de administrador de computação (roles/compute.admin) nos últimos 90 dias. Como tal, a recomendação de função sugere que revogue a função:

[
  {
    "associatedInsights": [
      {
        "insight": "projects/123456789012/locations/global/insightTypes/google.iam.policy.Insight/insights/279ef748-408f-44db-9a4a-1ff8865b9839"
      }
    ],
    "content": {
      "operationGroups": [
        {
          "operations": [
            {
              "action": "remove",
              "path": "/iamPolicy/bindings/*/members/*",
              "pathFilter": {
                "/iamPolicy/bindings/*/condition/expression": "",
                "/iamPolicy/bindings/*/members/*": "serviceAccount:id-1234567890@example-project.iam.gserviceaccount.com",
                "/iamPolicy/bindings/*/role": "roles/compute.admin"
              },
              "resource": "//cloudresourcemanager.googleapis.com/projects/example-project",
              "resourceType": "cloudresourcemanager.googleapis.com/Project"
            }
          ]
        }
      ]
    },
    "description": "This role has not been used during the observation window.",
    "recommenderSubtype": "REMOVE_ROLE",
    "etag": "\"770237e2c0decf40\"",
    "lastRefreshTime": "2020-01-09T06:06:17Z",
    "name": "projects/123456789012/locations/global/recommenders/google.iam.policy.Recommender/recommendations/fb927dc1-9695-4436-0000-f0f285007c0f",
    "primaryImpact": {
      "category": "SECURITY",
      "securityProjection": {
        "details": {
          "revokedIamPermissionsCount": 708
        }
      }
    },
    "priority": "P4",
    "stateInfo": {
      "state": "ACTIVE"
    }
  }
]

Reveja cuidadosamente cada recomendação e considere como vai alterar o acesso do principal aos recursos do Google Cloud . Para saber como rever as recomendações da CLI gcloud, consulte o artigo Reveja as recomendações nesta página.

Para aplicar uma recomendação:

  1. Use o comando gcloud recommender recommendations mark-claimed para alterar o estado da recomendação para CLAIMED,, o que impede que a recomendação seja alterada enquanto a aplica:

    gcloud recommender recommendations mark-claimed \
        RECOMMENDATION_ID \
        --location=global \
        --recommender=google.iam.policy.Recommender \
        --RESOURCE_TYPE=RESOURCE_ID \
        --format=FORMAT \
        --etag=ETAG \
        --state-metadata=STATE_METADATA
    

    Substitua os seguintes valores:

    • RECOMMENDATION_ID: o identificador exclusivo da recomendação. Este valor aparece no final do campo name na recomendação. No exemplo apresentado acima, o ID é fb927dc1-9695-4436-0000-f0f285007c0f.
    • RESOURCE_TYPE: o tipo de recurso para o qual quer gerir recomendações. Use o valor project, folder ou organization.
    • RESOURCE_ID: o ID do projeto, da pasta ou da organização que quer gerir as recomendações. Google Cloud Os IDs dos projetos são strings alfanuméricas, como my-project. Os IDs das pastas e das organizações são numéricos, como 123456789012.
    • FORMAT: o formato da resposta. Use json ou yaml.
    • ETAG: o valor do campo etag na recomendação, como "dd0686e7136a4cbb". Tenha em atenção que este valor pode incluir aspas.
    • STATE_METADATA: opcional. Pares de chave-valor separados por vírgulas que contêm a sua escolha de metadados sobre a recomendação. Por exemplo, --state-metadata=reviewedBy=alice,priority=high. Os metadados substituem o campo stateInfo.stateMetadata na recomendação.

    Se o comando for bem-sucedido, a resposta mostra a recomendação no estado CLAIMED, conforme mostrado no exemplo seguinte. Para esclarecer, o exemplo omite a maioria dos campos:

    [
      {
        "description": "This role has not been used during the observation window.",
        "recommenderSubtype": "REMOVE_ROLE",
        "etag": "\"df7308cca9719dcc\"",
        "name": "projects/123456789012/locations/global/recommenders/google.iam.policy.Recommender/recommendations/fb927dc1-9695-4436-0000-f0f285007c0f",
        "stateInfo": {
          "state": "CLAIMED",
          "stateMetadata": {
            "reviewedBy": "alice",
            "priority": "high"
          }
        }
      }
    ]
  2. Obtenha a política de permissão para o projeto e, em seguida, modifique e defina a política de permissão para que reflita a recomendação.

  3. Atualize o estado da recomendação para SUCCEEDED, se conseguiu aplicar a recomendação, ou FAILED, se não conseguiu aplicar a recomendação:

    gcloud recommender recommendations COMMAND \
        RECOMMENDATION_ID \
        --location=global \
        --recommender=google.iam.policy.Recommender \
        --RESOURCE_TYPE=RESOURCE_ID \
        --format=FORMAT \
        --etag=ETAG \
        --state-metadata=STATE_METADATA
    

    Substitua os seguintes valores:

    • COMMAND: use mark-succeeded se conseguiu aplicar a recomendação ou mark-failed se não conseguiu aplicar a recomendação.
    • RECOMMENDATION_ID: o identificador exclusivo da recomendação. Este valor aparece no final do campo name na recomendação. No exemplo apresentado acima, o ID é fb927dc1-9695-4436-0000-f0f285007c0f.
    • RESOURCE_TYPE: o tipo de recurso para o qual quer gerir recomendações. Use o valor project, folder ou organization.
    • RESOURCE_ID: o ID do projeto, da pasta ou da organização que quer gerir as recomendações. Google Cloud Os IDs dos projetos são strings alfanuméricas, como my-project. Os IDs das pastas e das organizações são numéricos, como 123456789012.
    • FORMAT: o formato da resposta. Use json ou yaml.
    • ETAG: o valor do campo etag na recomendação, como "dd0686e7136a4cbb". Tenha em atenção que este valor pode incluir aspas.
    • STATE_METADATA: opcional. Pares de chave-valor separados por vírgulas que contêm a sua escolha de metadados sobre a recomendação. Por exemplo, --state-metadata=reviewedBy=alice,priority=high. Os metadados substituem o campo stateInfo.stateMetadata na recomendação.

    Por exemplo, se marcou a recomendação como tendo sido bem-sucedida, a resposta mostra a recomendação num estado SUCCEEDED. Para esclarecer, este exemplo omite a maioria dos campos:

    [
      {
        "description": "This role has not been used during the observation window.",
        "recommenderSubtype": "REMOVE_ROLE",
        "etag": "\"dd0686e7136a4cbb\"",
        "name": "projects/123456789012/locations/global/recommenders/google.iam.policy.Recommender/recommendations/fb927dc1-9695-4436-0000-f0f285007c0f",
        "stateInfo": {
          "state": "SUCCEEDED",
          "stateMetadata": {
            "reviewedBy": "alice",
            "priority": "high"
          }
        }
      }
    ]

REST

Reveja as suas recomendações:

Para listar todas as recomendações disponíveis para o seu projeto, pasta ou organização, use o método recommendations.list da API Recommender.

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 recomendações. Use o valor projects, folders ou organizations.
  • RESOURCE_ID: o ID do Google Cloud projeto, da pasta ou da organização para a qual quer gerir recomendações. Os IDs dos projetos são strings alfanuméricas, como my-project. Os IDs das pastas e das organizações são numéricos, como 123456789012.
  • PAGE_SIZE: opcional. O número máximo de resultados a devolver deste pedido. Se não for especificado, o servidor determina o número de resultados a devolver. Se o número de recomendações for superior ao tamanho da página, a resposta contém um token de paginação que pode usar para obter a página seguinte de resultados.
  • PAGE_TOKEN: opcional. O token de paginação devolvido numa resposta anterior deste método. Se for especificado, a lista de recomendações começa onde o pedido anterior terminou.
  • FILTER: opcional. Uma expressão de filtro para restringir as recomendações devolvidas. Pode filtrar as recomendações com base no campo stateInfo.state. Por exemplo, stateInfo.state:"DISMISSED" ou stateInfo.state:"FAILED".
  • 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/recommenders/google.iam.policy.Recommender/recommendations?pageSize=PAGE_SIZE&pageToken=PAGE_TOKEN&filter=FILTER

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

A resposta é semelhante ao seguinte exemplo. Neste exemplo, uma conta de serviço no projeto example-project não usou nenhuma autorização da função de administrador de computação (roles/compute.admin) nos últimos 90 dias. Como resultado, o Recommender sugere que revogue a função:

{
  "recommendations": [
    "name": "projects/123456789012/locations/global/recommenders/google.iam.policy.Recommender/recommendations/fb927dc1-9695-4436-0000-f0f285007c0f",
    "description": "This role has not been used during the observation window.",
    "lastRefreshTime": "2020-01-09T06:06:17Z",
    "primaryImpact": {
      "category": "SECURITY",
      "securityProjection": {
        "details": {
          "revokedIamPermissionsCount": 708
        }
      }
    },
    "priority": "P4",
    "content": {
      "operationGroups": [
        {
          "operations": [
            {
              "action": "remove",
              "path": "/iamPolicy/bindings/*/members/*",
              "pathFilter": {
                "/iamPolicy/bindings/*/condition/expression": "",
                "/iamPolicy/bindings/*/members/*": "serviceAccount:id-1234567890@example-project.iam.gserviceaccount.com",
                "/iamPolicy/bindings/*/role": "roles/compute.admin"
              },
              "resource": "//cloudresourcemanager.googleapis.com/projects/example-project",
              "resourceType": "cloudresourcemanager.googleapis.com/Project"
            }
          ]
        }
      ]
    },
    "stateInfo": {
      "state": "ACTIVE"
    }
    "etag": "\"770237e2c0decf40\"",
    "recommenderSubtype": "REMOVE_ROLE",
    "associatedInsights": [
      {
        "insight": "projects/123456789012/locations/global/insightTypes/google.iam.policy.Insight/insights/279ef748-408f-44db-9a4a-1ff8865b9839"
      }
  ]
}

Reveja cuidadosamente cada recomendação e considere como vai alterar o acesso do principal aos recursos do Google Cloud . Para saber como rever as recomendações da API REST, consulte o artigo Reveja as recomendações nesta página.

Para aplicar uma recomendação:

  1. Marque a recomendação como CLAIMED:

    Para marcar uma recomendação como CLAIMED, o que impede que a recomendação seja alterada enquanto a aplica, use o método recommendations.markClaimed da API Recommender.

    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 recomendações. Use o valor projects, folders ou organizations.
    • RESOURCE_ID: o ID do Google Cloud projeto, da pasta ou da organização para a qual quer gerir recomendações. Os IDs dos projetos são strings alfanuméricas, como my-project. Os IDs das pastas e das organizações são numéricos, como 123456789012.
    • RECOMMENDATION_ID: o identificador exclusivo da recomendação. Este valor aparece no final do campo name na recomendação. Por exemplo, se o campo name for projects/example-project/locations/global/recommenders/google.iam.policy.Recommender/recommendations/fb927dc1-9695-4436-0000-f0f285007c0f, o ID da recomendação é fb927dc1-9695-4436-0000-f0f285007c0f.
    • ETAG: o valor do campo etag na recomendação, como "dd0686e7136a4cbb". Use barras invertidas para escapar as aspas, por exemplo, "\"df7308cca9719dcc\"".
    • STATE_METADATA: opcional. Um objeto que contém pares de chave-valor com os metadados à sua escolha sobre a recomendação. Por exemplo, {"reviewedBy": "alice", "priority": "high"}. Os metadados substituem o campo stateInfo.stateMetadata na recomendação.
    • 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:

    POST https://recommender.googleapis.com/v1/RESOURCE_TYPE/RESOURCE_ID/locations/global/recommenders/google.iam.policy.Recommender/recommendations/RECOMMENDATION_ID:markClaimed

    Corpo JSON do pedido:

    {
      "etag": "ETAG",
      "stateMetadata": {
        "STATE_METADATA"
      }
    }
    

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

    A resposta mostra a recomendação no estado CLAIMED, conforme mostrado no exemplo seguinte. Para esclarecer, este exemplo omite a maioria dos campos:

    {
      "description": "This role has not been used during the observation window.",
      "stateInfo": {
        "state": "CLAIMED",
        "stateMetadata": {
          "reviewedBy": "alice",
          "priority": "high"
        }
      },
      "etag": "\"dd0686e7136a4cbb\"",
      "recommenderSubtype": "REMOVE_ROLE"
    }
    

  2. Obtenha a política de autorização para o projeto e, em seguida, modifique a política de autorização para que reflita a recomendação.

  3. Atualize o estado da recomendação para SUCCEEDED, se conseguiu aplicar a recomendação, ou FAILED, se não conseguiu aplicar a recomendação:

    SUCCEEDED

    Para marcar uma recomendação como SUCCEEDED, indicando que a conseguiu aplicar, use o método recommendations.markSucceeded da API Recommender.

    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 recomendações. Use o valor projects, folders ou organizations.
    • RESOURCE_ID: o ID do Google Cloud projeto, da pasta ou da organização para a qual quer gerir recomendações. Os IDs dos projetos são strings alfanuméricas, como my-project. Os IDs das pastas e das organizações são numéricos, como 123456789012.
    • RECOMMENDATION_ID: o identificador exclusivo da recomendação. Este valor aparece no final do campo name na recomendação. Por exemplo, se o campo name for projects/example-project/locations/global/recommenders/google.iam.policy.Recommender/recommendations/fb927dc1-9695-4436-0000-f0f285007c0f, o ID da recomendação é fb927dc1-9695-4436-0000-f0f285007c0f.
    • ETAG: o valor do campo etag na recomendação, como "dd0686e7136a4cbb". Use barras invertidas para escapar as aspas, por exemplo, "\"df7308cca9719dcc\"".
    • STATE_METADATA: opcional. Um objeto que contém pares de chave-valor com os metadados à sua escolha sobre a recomendação. Por exemplo, {"reviewedBy": "alice", "priority": "high"}. Os metadados substituem o campo stateInfo.stateMetadata na recomendação.
    • 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:

    POST https://recommender.googleapis.com/v1/RESOURCE_TYPE/RESOURCE_ID/locations/global/recommenders/google.iam.policy.Recommender/recommendations/RECOMMENDATION_ID:markSucceeded

    Corpo JSON do pedido:

    {
      "etag": "ETAG",
      "stateMetadata": {
        "STATE_METADATA"
      }
    }
    

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

    A resposta mostra a recomendação no estado SUCCEEDED, conforme mostrado no exemplo seguinte. Para esclarecer, este exemplo omite a maioria dos campos:

    {
      "description": "This role has not been used during the observation window.",
      "stateInfo": {
        "state": "SUCCEEDED",
        "stateMetadata": {
          "reviewedBy": "alice",
          "priority": "high"
        }
      },
      "etag": "\"dd0686e7136a4cbb\"",
      "recommenderSubtype": "REMOVE_ROLE"
    }
    

    FAILED

    Para marcar uma recomendação como FAILED, indicando que não a conseguiu aplicar, use o método recommendations.markFailed da API Recommender.

    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 recomendações. Use o valor projects, folders ou organizations.
    • RESOURCE_ID: o ID do Google Cloud projeto, da pasta ou da organização para a qual quer gerir recomendações. Os IDs dos projetos são strings alfanuméricas, como my-project. Os IDs das pastas e das organizações são numéricos, como 123456789012.
    • RECOMMENDATION_ID: o identificador exclusivo da recomendação. Este valor aparece no final do campo name na recomendação. Por exemplo, se o campo name for projects/example-project/locations/global/recommenders/google.iam.policy.Recommender/recommendations/fb927dc1-9695-4436-0000-f0f285007c0f, o ID da recomendação é fb927dc1-9695-4436-0000-f0f285007c0f.
    • ETAG: o valor do campo etag na recomendação, como "dd0686e7136a4cbb". Use barras invertidas para escapar as aspas, por exemplo, "\"df7308cca9719dcc\"".
    • STATE_METADATA: opcional. Um objeto que contém pares de chave-valor com os metadados à sua escolha sobre a recomendação. Por exemplo, {"reviewedBy": "alice", "priority": "high"}. Os metadados substituem o campo stateInfo.stateMetadata na recomendação.
    • 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:

    POST https://recommender.googleapis.com/v1/RESOURCE_TYPE/RESOURCE_ID/locations/global/recommenders/google.iam.policy.Recommender/recommendations/RECOMMENDATION_ID:markFailed

    Corpo JSON do pedido:

    {
      "etag": "ETAG",
      "stateMetadata": {
        "STATE_METADATA"
      }
    }
    

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

    A resposta mostra a recomendação no estado FAILED, conforme mostrado no exemplo seguinte. Para esclarecer, este exemplo omite a maioria dos campos:

    {
      "description": "This role has not been used during the observation window.",
      "stateInfo": {
        "state": "FAILED",
        "stateMetadata": {
          "reviewedBy": "alice",
          "priority": "high"
        }
      },
      "etag": "\"dd0686e7136a4cbb\"",
      "recommenderSubtype": "REMOVE_ROLE"
    }
    

Compreenda as recomendações

Cada recomendação inclui informações para ajudar a compreender o motivo pelo qual a recomendação foi feita.

Consola

Para ajudar a compreender o motivo da recomendação, aGoogle Cloud consola mostra a utilização de autorizações da entidade principal, conforme comunicado pela informação da política associada à recomendação. Por exemplo, pode mostrar uma lista como a seguinte:

Para ajudar a compreender o impacto da aplicação da recomendação, a Google Cloud consola também mostra uma lista de autorizações codificadas por cores e símbolos. Esta lista indica como as autorizações do principal vão mudar se aplicar a recomendação. Por exemplo, pode mostrar uma lista como a seguinte:

Os tipos de autorizações associados a cada cor e símbolo são os seguintes:

  • Cinza sem símbolo: autorizações que estão na função atual do principal e nas funções recomendadas.

  • Vermelho com um sinal de subtração : autorizações que estão na função atual do principal, mas não nas funções recomendadas, porque o principal não as usou nos últimos 90 dias.

  • Verde com um sinal de mais : autorizações que não estão na função atual do principal, mas que estão nas funções recomendadas. Este tipo de autorização só aparece nas recomendações para agentes de serviço.

  • Azul com um ícone de aprendizagem automática : Autorizações que estão na função atual do principal e nas funções recomendadas, não porque o principal tenha usado as autorizações nos últimos 90 dias, mas porque o Recomendador determinou através da aprendizagem automática que é provável que precise dessas autorizações no futuro.

Algumas recomendações também estão associadas a estatísticas de movimento lateral. As estatísticas de movimento lateral identificam funções que permitem a uma conta de serviço num projeto usar a identidade de uma conta de serviço noutro projeto. Se uma recomendação estiver associada a uma estatística de movimento lateral, a Google Cloud consola também mostra o seguinte:

  • O projeto de origem da conta de serviço: o projeto no qual a conta de serviço com autorizações de simulação foi criada.

  • Contas de serviço que podem ser simuladas neste projeto: uma lista de todas as contas de serviço no projeto atual que a conta de serviço com autorizações de simulação pode simular.

gcloud

Para ver detalhes sobre os campos de uma recomendação, consulte a Recommendation referência.

Para ver a utilização de autorizações em que esta recomendação se baseia, consulte as estatísticas de políticas associadas à recomendação. Estas estatísticas estão listadas no campo associatedInsights. Para ver uma estatística de políticas associada à recomendação, faça o seguinte:

  • Identifique as estatísticas no campo associatedInsights que são estatísticas de políticas. As estatísticas de políticas têm o tipo de estatísticas google.iam.policy.insight. Este tipo aparece após insightTypes no campo insight.
  • Copie o ID da estatística de políticas. O ID é tudo o que está depois de insights/ no campo insight. No exemplo anterior, o ID da estatística é 279ef748-408f-44db-9a4a-1ff8865b9839.
  • Siga as instruções para obter uma estatística de políticas através do ID da estatística que copiou.

Algumas recomendações também estão associadas a informações sobre o movimento lateral, que identificam funções que permitem que as contas de serviço num projeto se façam passar por contas de serviço noutro projeto. Estas estatísticas também estão listadas no campo associatedInsights. Para ver uma estatística de movimento lateral associada à recomendação, faça o seguinte:

  • Identificar as estatísticas no campo associatedInsights que são estatísticas de movimento lateral. As estatísticas de movimento lateral têm o tipo de estatísticas google.iam.policy.LateralMovementInsight. Este tipo aparece após insightTypes no campo insight.
  • Copie o ID da estatística de políticas. O ID é tudo o que está depois de insights/ no campo insight. No exemplo anterior, o ID da estatística é 279ef748-408f-44db-9a4a-1ff8865b9839.
  • Siga as instruções para obter uma análise detalhada de movimento lateral, usando o ID da análise detalhada que copiou.

REST

Para ver detalhes sobre os campos de uma recomendação, consulte a Recommendation referência.

Para ver a utilização de autorizações em que esta recomendação se baseia, consulte as estatísticas de políticas associadas à recomendação. Estas estatísticas estão listadas no campo associatedInsights. Para ver uma estatística de políticas associada à recomendação, faça o seguinte:

  1. Identifique as estatísticas no campo associatedInsights que são estatísticas de políticas. As estatísticas de políticas têm o tipo de estatísticas google.iam.policy.insight. Este tipo aparece após insightTypes no campo insight.
  2. Copie o ID da estatística de políticas. O ID é tudo o que está depois de insights/ no campo insight. Por exemplo, se o campo insight indicar projects/123456789012/locations/global/insightTypes/google.iam.policy.Insight/insights/279ef748-408f-44db-9a4a-1ff8865b9839, o ID da estatística é 279ef748-408f-44db-9a4a-1ff8865b9839.
  3. Siga as instruções para obter uma estatística de políticas através do ID da estatística que copiou.

Algumas recomendações também estão associadas a informações sobre o movimento lateral, que identificam funções que permitem que as contas de serviço num projeto se façam passar por contas de serviço noutro projeto. Estas estatísticas também estão listadas no campo associatedInsights. Para ver uma estatística de movimento lateral associada à recomendação, faça o seguinte:

  1. Identificar as estatísticas no campo associatedInsights que são estatísticas de movimento lateral. As estatísticas de movimento lateral têm o tipo de estatísticas google.iam.policy.LateralMovementInsight. Este tipo aparece após insightTypes no campo insight.
  2. Copie o ID da estatística de políticas. O ID é tudo o que está depois de insights/ no campo insight. Por exemplo, se o campo insight indicar projects/123456789012/locations/global/insightTypes/google.iam.policy.LateralMovementInsight/insights/13088eec-9573-415f-81a7-46e1a260e860, o ID da estatística é 13088eec-9573-415f-81a7-46e1a260e860.
  3. Siga as instruções para obter uma análise detalhada de movimento lateral, usando o ID da análise detalhada que copiou.

Veja, reverta e restaure alterações

Depois de aplicar ou ignorar uma recomendação para uma associação de função ao nível do projeto, essa ação aparece no histórico de recomendações.

Para ver o histórico de recomendações:

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

    Aceda ao IAM

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

  3. Junto à parte superior do ecrã, clique em Histórico de recomendações.

    A Google Cloud consola mostra uma lista de ações anteriores nas suas recomendações de funções.

  4. Para ver detalhes sobre uma recomendação, clique na seta do expansor.

    A Google Cloud consola mostra detalhes sobre a ação realizada, incluindo o principal que a realizou:

  5. (Opcional) Se necessário, pode reverter a recomendação, o que anula as alterações na recomendação, ou restaurar uma recomendação que ignorou.

    Para reverter uma alteração aplicada anteriormente a uma recomendação, clique em Reverter. A consola Google Cloud reverte as alterações às funções do principal. A recomendação já não aparece na Google Cloud consola.

    Para restaurar uma recomendação que foi ignorada, clique em Restaurar. A recomendação fica visível na página IAM naGoogle Cloud consola. Não são alteradas funções nem autorizações.

O que se segue?