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

Ao alterar a configuração do recomendador do IAM, é possível personalizar como as recomendações de papel são geradas. Nesta página, explicamos como editar sua configuração para mudar a velocidade com que as recomendações são geradas para seu projeto.

Ainda que o recomendador do IAM gere recomendações de papel para uma variedade de recursos, só é possível editar a forma como as recomendações de papel são geradas para projetos.

Antes de começar

Funções exigidas

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

  • Mais detalhes da configuração: Leitor do recomendador do IAM (roles/recommender.iamViewer)
  • Modifique sua configuração: Administrador do recomendador do IAM (roles/recommender.iamAdmin)

Para mais informações sobre como conceder papéis, consulte Gerenciar acesso.

Esses papéis predefinidos contêm as permissões necessárias para configurar as recomendações de papéis do IAM. Para conferir as permissões exatas necessárias, expanda a seção Permissões necessárias:

Permissões necessárias

As seguintes permissões são necessárias para configurar recomendações de papéis do IAM:

  • Mais detalhes da configuração: recommender.iamPolicyRecommenderConfig.get
  • Modifique sua configuração: recommender.iamPolicyRecommenderConfig.get

Talvez você também consiga receber essas permissões com papéis personalizados ou outros papéis predefinidos.

Conferir a configuração atual

Consulte sua configuração atual para saber quantos dias de dados de uso de permissão o recomendador do IAM aguarda antes de gerar recomendações de papel.

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

gcloud

Para receber a configuração do recomendador do IAM, use o comando gcloud beta recommender recommender-config describe.

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 Recommendeder-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. Por exemplo, ele pode ter esta aparência:

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 receber a configuração do recomendador do IAM, use o método projects.locations.recommenders.getConfig da API Recommender.

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

  • PROJECT_NUMBER: o ID numérico do seu 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. Por exemplo, ele pode ter esta aparência:

{
  "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 de para qual recomendador 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. Esse campo contém os seguintes parâmetros:

    • minimum_observation_period: o número de dias de dados de uso de permissão que o recomendador do IAM precisa para começar a gerar recomendações de papel.
  • 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 do horário mais recente em que a configuração foi atualizada, no formato UTC (RFC 3339).

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

Editar sua configuração

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

gcloud

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

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

  • OBSERVATION_PERIOD: o período de observação mínimo que você quer definir. Use um dos seguintes valores: P30D (30 dias), P60D (60 dias) ou P90D (90 dias).
  • ETAG: a ETag atual da configuração, encontrada ao conseguir a configuração atual e copiar 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 Recommendeder-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, ele pode parecer com o seguinte:

    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, use o método projects.locations.recommenders.updateConfig da API Recommender.

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

  • PROJECT_NUMBER: o ID numérico do seu projeto do Google Cloud.
  • OBSERVATION_PERIOD: o período de observação mínimo que você quer definir. Use um dos seguintes valores: P30D (30 dias), P60D (60 dias) ou P90D (90 dias).
  • ETAG: a ETag atual da configuração, encontrada ao conseguir a configuração atual e copiar o valor do campo etag da resposta. Use barras invertidas para escapar 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, ele pode parecer com o seguinte:

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