Configurar a geração de recomendações de função

Ao mudar a configuração do recomendador do IAM, você pode personalizar como as recomendações de papel são geradas. Nesta página, explicamos como editar de configuração para mudar a rapidez com que as recomendações são projeto.

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

Antes de começar

Funções exigidas

Para receber as permissões necessárias para configurar recomendações de função 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:

  • Veja os detalhes da configuração: Leitor de recomendações do IAM (roles/recommender.iamViewer)
  • Modifique sua 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 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:

  • Veja os detalhes da configuração: recommender.iamPolicyRecommenderConfig.get
  • Modifique sua configuração: recommender.iamPolicyRecommenderConfig.update

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

Ver a configuração atual

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

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

gcloud

Para conferir a configuração do recomendador do IAM de um projeto, 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 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 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 conferir 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 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 do projeto. Por exemplo, ela 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 para o qual ela é feita. As configurações do recomendador do IAM têm os seguintes componentes, não necessariamente nesta ordem:

  • name: o identificador da configuração, no elemento formam projects/PROJECT_NUMBER/locations/global/recommenders/google.iam.policy.Recommender/config.
  • recommenderGenerationConfig: os parâmetros que o 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ão que o recomendador do IAM precisa iniciar geração de recomendações de papéis.
  • etag: um identificador do estado atual de uma configuração, usado para evitar atualizações simultâneas. Toda vez 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: apenas saída. Um identificador da revisão atual da configuração. Esse valor é atualizado sempre que a configuração é editado.

Editar a configuração

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

gcloud

Para editar a configuração do recomendador do IAM de um projeto, 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 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: a Etag atual da configuração, que pode ser encontrada buscando 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 gcloud beta recommender recommender-config update comando:

    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 poderá se 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 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: a Etag atual da configuração, que pode ser encontrada buscando 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, ele pode ter esta aparência:

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