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

Ao alterar a configuração do recomendador do IAM, pode personalizar a forma como as recomendações de funções são geradas. Esta página explica como editar a configuração para alterar a rapidez com que as recomendações são geradas para o seu projeto.

Embora o Serviço de Recomendação de IAM gere recomendações de funções para uma variedade de recursos, só pode editar a forma como as recomendações de funções são geradas para projetos.

Antes de começar

Funções necessárias

Para receber as autorizações de que precisa para configurar as recomendações de funções de IAM, peça ao seu administrador para lhe conceder as seguintes funções de IAM no projeto cujo recomendador de IAM quer configurar:

  • Ver detalhes da configuração: Visualizador do Recommender do IAM (roles/recommender.iamViewer)
  • Modifique a sua configuração: Administrador do IAM Recommender (roles/recommender.iamAdmin)

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

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

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

Veja a sua configuração atual

Veja a sua configuração atual para saber quantos dias de dados de utilização de autorizações o recomendador do IAM aguarda antes de gerar recomendações de funções.

Pode ver a configuração através da CLI gcloud ou da API REST.

gcloud

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

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

  • PROJECT_ID: O ID do Google Cloud projeto. Os IDs dos projetos 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 de IAM do projeto. Por exemplo, pode ter o seguinte aspeto:

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

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

  • PROJECT_NUMBER: o ID numérico do seu projeto Google Cloud .
  • 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/v1beta1/projects/PROJECT_NUMBER/locations/global/recommenders/google.iam.policy.Recommender/config

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

A resposta contém a configuração do recomendador de IAM do projeto. Por exemplo, pode ter o seguinte aspeto:

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

Compreenda os detalhes de configuração

O conteúdo de uma configuração depende do recomendador a que se destina. As configurações do Recomendador do IAM têm os seguintes componentes, não necessariamente por esta 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 quando gera recomendações. Este campo contém os seguintes parâmetros:

    • minimum_observation_period: o número de dias de dados de utilização de autorizações que o recomendador do IAM precisa para começar a gerar recomendações de funções.
  • etag: um identificador do estado atual de uma configuração, usado para impedir atualizações simultâneas. Sempre que a configuração é alterada, é atribuído um novo valor de ETag.

  • updateTime: a data/hora da atualização mais recente da configuração, no formato UTC (RFC 3339).

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

Edite a configuração

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

gcloud

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

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

  • OBSERVATION_PERIOD: o período de observação mínimo que 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 encontrar ao obter a configuração atual e copiar o valor do campo etag da resposta.
  • PROJECT_ID: O ID do Google Cloud projeto. Os IDs dos projetos são strings alfanuméricas, como my-project.
  • Guarde o seguinte conteúdo num ficheiro denominado 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, pode ter o seguinte aspeto:

    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 qualquer um dos dados do pedido, faça as seguintes substituições:

  • PROJECT_NUMBER: o ID numérico do seu projeto Google Cloud .
  • OBSERVATION_PERIOD: o período de observação mínimo que 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 encontrar ao obter a configuração atual e copiar o valor do campo etag da resposta. Use barras invertidas para ignorar as aspas, por exemplo, "\"df7308cca9719dcc\"".
  • 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:

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

    Corpo JSON do pedido:

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

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

    A resposta contém a configuração atualizada. Por exemplo, pode ter o seguinte aspeto:

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

O que se segue?