Configurar a geração de recomendações de papéis

Ao mudar a configuração do recomendador do IAM, você pode personalizar a forma como as recomendações de papéis são geradas. Esta página explica como editar a configuração para mudar a rapidez com que as recomendações são geradas para o projeto.

Embora o recomendador do IAM gere recomendações de papéis para vários recursos, só é possível editar como as recomendações de papéis são geradas para projetos.

Antes de começar

Funções exigidas

Para receber as permissões necessárias para configurar as recomendações de papéis do IAM, peça ao administrador para conceder a você os seguintes papéis do IAM no projeto em que você quer configurar o recomendador do IAM:

  • Ver detalhes da configuração: leitor do recomendador do IAM (roles/recommender.iamViewer)
  • Modificar a configuração: administrador do recomendador do IAM (roles/recommender.iamAdmin)

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 têm as permissões necessárias para configurar as recomendações de papéis do IAM. Para acessar 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 configurar as recomendações de papéis do IAM:

  • Ver detalhes da configuração: recommender.iamPolicyRecommenderConfig.get
  • Modificar a configuração: recommender.iamPolicyRecommenderConfig.update

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

Ver sua configuração atual

Confira sua configuração atual para saber quantos dias de dados de uso de permissões o recomendador do IAM espera antes de gerar recomendações de papéis.

É possível conferir a configuração usando a CLI gcloud ou a API REST.

gcloud

Para acessar a configuração do recomendador do IAM de um projeto, use o gcloud beta recommender recommender-config describe comando.

Antes de usar os dados do comando abaixo, faça estas substituições:

  • PROJECT_ID: o ID do projeto do. Google Cloud Os IDs do projeto são strings alfanuméricas, como my-project.

Execute o comando gcloud beta recommender recommender-config describe:

Linux, macOS ou Cloud Shell

gcloud beta recommender recommender-config describe \
google.iam.policy.Recommender \
--project="PROJECT_ID" \
--location="global"

Windows (PowerShell)

gcloud beta recommender recommender-config describe `
google.iam.policy.Recommender `
--project="PROJECT_ID" `
--location="global"

Windows (cmd.exe)

gcloud beta recommender recommender-config describe ^
google.iam.policy.Recommender ^
--project="PROJECT_ID" ^
--location="global"

A resposta contém a configuração do recomendador do IAM do projeto. Por exemplo, ela pode ser semelhante a esta:

etag: '"d3e779ee3f34f276"'
name: projects/123456789012/locations/global/recommenders/google.iam.policy.Recommender/config
recommenderGenerationConfig:
  params:
    minimum_observation_period: P90D
revisionId: DEFAULT
updateTime: '2022-10-02T22:57:33Z'

REST

Para acessar a configuração do recomendador do IAM de um projeto, use o método projects.locations.recommenders.getConfig da API Recommender.

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

  • PROJECT_NUMBER: o ID numérico do projeto do . Google Cloud
  • PROJECT_ID: o ID do projeto do. Google Cloud Os IDs do projeto são strings alfanuméricas, como my-project.

Método HTTP e URL:

GET https://recommender.googleapis.com/v1beta1/projects/PROJECT_NUMBER/locations/global/recommenders/google.iam.policy.Recommender/config

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

A resposta contém a configuração do recomendador do IAM do projeto. Por exemplo, ela pode ser semelhante a esta:

{
  "name": "projects/123456789012/locations/global/recommenders/google.iam.policy.Recommender/config",
  "recommenderGenerationConfig": {
    "params": {
      "minimum_observation_period": "P90D"
    }
  },
  "etag": "\"d3e779ee3f34f276\"",
  "updateTime": "2022-10-02T22:57:33Z",
  "revisionId": "DEFAULT"
}

Entender os detalhes da configuração

O conteúdo de uma configuração depende do recomendador a que ela se destina. As configurações do recomendador do IAM têm os seguintes componentes, não necessariamente nesta ordem:

  • name: o identificador da configuração, no formato projects/PROJECT_NUMBER/locations/global/recommenders/google.iam.policy.Recommender/config.
  • recommenderGenerationConfig: os parâmetros que o recomendador do IAM usa ao gerar recomendações. Este campo contém os seguintes parâmetros:

    • minimum_observation_period: o número de dias de dados de uso de permissões que o recomendador do IAM precisa para começar a gerar recomendações de papéis. Se você acessar a configuração do recomendador do IAM de um projeto e esse campo não tiver sido definido, o valor dele será 0.
  • etag: um identificador do estado atual de uma configuração, usado para evitar atualizações simultâneas. Sempre que a configuração muda, um novo valor de ETag é atribuído.

  • updateTime: o carimbo de data/hora da última vez em que a configuração foi atualizada, no formato UTC (RFC 3339).

  • revisionId: saída apenas. Um identificador da revisão atual da configuração. Esse valor é atualizado sempre que a configuração é editada.

Editar sua configuração

Edite a configuração para mudar a rapidez com que as recomendações são geradas para o projeto.

gcloud

Para editar a configuração do recomendador do IAM de um projeto, use o gcloud beta recommender recommender-config update comando.

Antes de usar os dados do comando abaixo, faça estas substituições:

  • OBSERVATION_PERIOD: o período mínimo de observação que você quer definir. Use um dos seguintes valores: P30D (30 dias), P60D (60 dias) ou P90D (90 dias).
  • ETAG: O ETag atual da configuração, que pode ser encontrado acessando a configuração atual e copiando o valor do campo etag da resposta.
  • PROJECT_ID: o ID do projeto do. Google Cloud Os IDs do projeto são strings alfanuméricas, como my-project.
  • Salve o conteúdo a seguir em um arquivo chamado request.json:

    {
      "params": {
        "minimum_observation_period": "OBSERVATION_PERIOD"
      }
    }

    Execute o comando gcloud beta recommender recommender-config update:

    Linux, macOS ou Cloud Shell

    gcloud beta recommender recommender-config update \
    google.iam.policy.Recommender \
    --etag="ETAG" \
    --project="PROJECT_ID" \
    --location="global" \
    --config-file="request.json"

    Windows (PowerShell)

    gcloud beta recommender recommender-config update `
    google.iam.policy.Recommender `
    --etag="ETAG" `
    --project="PROJECT_ID" `
    --location="global" `
    --config-file="request.json"

    Windows (cmd.exe)

    gcloud beta recommender recommender-config update ^
    google.iam.policy.Recommender ^
    --etag="ETAG" ^
    --project="PROJECT_ID" ^
    --location="global" ^
    --config-file="request.json"

    A resposta contém a configuração atualizada. Por exemplo, ela pode ser semelhante a esta:

    etag: '"2549af0942332910"'
    name: projects/123456789012/locations/global/recommenders/google.iam.policy.Recommender/config
    recommenderGenerationConfig:
      params:
        minimum_observation_period: P60D
    revisionId: 288c60eb
    updateTime: '2022-10-05T21:42:21.069170Z'
    

REST

Para editar a configuração do recomendador do IAM de um projeto, use o método projects.locations.recommenders.updateConfig da API Recommender.

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

  • PROJECT_NUMBER: o ID numérico do projeto do . Google Cloud
  • OBSERVATION_PERIOD: o período mínimo de observação que você quer definir. Use um dos seguintes valores: P30D (30 dias), P60D (60 dias) ou P90D (90 dias).
  • ETAG: O ETag atual da configuração, que pode ser encontrado acessando a configuração atual e copiando o valor do campo etag da resposta. Use barras invertidas para escapar das aspas, por exemplo, "\"df7308cca9719dcc\"".
  • PROJECT_ID: o ID do projeto do. Google Cloud Os IDs do projeto são strings alfanuméricas, como my-project.
  • Método HTTP e URL:

    PATCH https://recommender.googleapis.com/v1beta1/projects/PROJECT_NUMBER/locations/global/recommenders/google.iam.policy.Recommender/config

    Corpo JSON da solicitação:

    {
      "name": "projects/PROJECT_NUMBER/locations/global/recommenders/google.iam.policy.Recommender/config",
      "recommenderGenerationConfig": {
        "params": {
          "minimum_observation_period": "OBSERVATION_PERIOD"
        }
      },
      "etag": "ETAG"
    }
    

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

    A resposta contém a configuração atualizada. Por exemplo, ela pode ser semelhante a esta:

    {
      "name": "projects/123456789012/locations/global/recommenders/google.iam.policy.Recommender/config",
      "recommenderGenerationConfig": {
        "params": {
          "minimum_observation_period": "P60D"
        }
      },
      "etag": "\"2549af0942332910\"",
      "updateTime": "2022-10-05T21:26:52.127512Z",
      "revisionId": "b5fc0053"
    }
    

A seguir