Configura la generación de recomendaciones de roles

Si cambias la configuración del recomendador de IAM, puedes personalizar la forma en que se generan las recomendaciones de funciones. En esta página, se explica cómo editar la configuración para cambiar la rapidez con la que se generan las recomendaciones para tu proyecto.

Aunque el recomendador de IAM genera recomendaciones de funciones para una variedad de recursos, solo puedes editar cómo se generan las recomendaciones de funciones para los proyectos.

Antes de comenzar

Funciones obligatorias

A fin de obtener los permisos necesarios para configurar las recomendaciones de roles de IAM, pídele a tu administrador que te otorgue los siguientes roles de IAM en el proyecto cuyo recomendador de IAM deseas configurar:

  • Ver detalles de configuración: Visualizador del recomendador de IAM (roles/recommender.iamViewer)
  • Modifica tu configuración: Administrador del recomendador de IAM (roles/recommender.iamAdmin)

Si quieres obtener más información para otorgar funciones, consulta Administra el acceso.

Estos roles predefinidos contienen los permisos necesarios para configurar las recomendaciones de roles de IAM. Para ver los permisos exactos que son necesarios, expande la sección Permisos requeridos:

Permisos necesarios

Se requieren los siguientes permisos para configurar las recomendaciones de roles de IAM:

  • Ver detalles de configuración: recommender.iamPolicyRecommenderConfig.get
  • Modifica tu configuración: recommender.iamPolicyRecommenderConfig.get

Es posible que también puedas obtener estos permisos con funciones personalizadas o con otras funciones predefinidas.

Consulta tu configuración actual

Visualiza tu configuración actual para ver cuántos días de datos de uso de permisos espera el recomendador de IAM antes de generar recomendaciones de funciones.

Puedes ver la configuración con gcloud CLI o la API de REST.

gcloud

Para obtener la configuración del recomendador de IAM, usa el comando gcloud beta recommender recommender-config describe.

Antes de usar cualquiera de los datos de comando a continuación, realiza los siguientes reemplazos:

  • PROJECT_ID: El ID del proyecto de Google Cloud Los ID de proyecto son strings alfanuméricas, como my-project.

Ejecuta el comando gcloud beta recomendadorrecommender-config describe:

Linux, macOS o 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"

La respuesta contiene la configuración del recomendador de IAM. Por ejemplo, podría verse de la siguiente manera:

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 obtener la configuración del recomendador de IAM, usa el método projects.locations.recommenders.getConfig de la API de recomendador.

Antes de usar cualquiera de los datos de solicitud a continuación, realiza los siguientes reemplazos:

  • PROJECT_NUMBER: Es el ID numérico del proyecto de Google Cloud.
  • PROJECT_ID: El ID del proyecto de Google Cloud Los ID de proyecto son strings alfanuméricas, como my-project.

HTTP method and URL:

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

Para enviar tu solicitud, expande una de estas opciones:

La respuesta contiene la configuración del recomendador de IAM. Por ejemplo, podría verse de la siguiente manera:

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

Comprende los detalles de configuración

El contenido de una configuración depende del recomendador para el que se encuentra la configuración. Las configuraciones del recomendador de IAM tienen los siguientes componentes (no necesariamente en este orden):

  • name: Es el identificador para la configuración, en el formato projects/PROJECT_NUMBER/locations/global/recommenders/google.iam.policy.Recommender/config.
  • recommenderGenerationConfig: Son los parámetros que usa el recomendador de IAM cuando genera recomendaciones. Este campo contiene los siguientes parámetros:

    • minimum_observation_period: La cantidad de días de datos de uso de permisos que el recomendador de IAM necesita para comenzar a generar recomendaciones de funciones.
  • etag: Un identificador para el estado actual de una configuración, que se usa a fin de evitar actualizaciones simultáneas. Cada vez que cambia la configuración, se asigna un valor de ETag nuevo.

  • updateTime: Es la marca de tiempo de la hora más reciente en la que se actualizó la configuración, en formato UTC (RFC 3339).

  • revisionId: Solo salida. Un identificador para la revisión actual de la configuración. Este valor se actualiza cada vez que se edita la configuración.

Edita la configuración

Edita la configuración a fin de cambiar la rapidez con la que se generan las recomendaciones para tu proyecto.

gcloud

Para editar la configuración del recomendador de IAM, usa el comando gcloud beta recommender recommender-config update.

Antes de usar cualquiera de los datos de comando a continuación, realiza los siguientes reemplazos:

  • OBSERVATION_PERIOD: Es el período mínimo de observación que deseas establecer. Usa uno de los siguientes valores: P30D (30 días), P60D (60 días) o P90D (90 días).
  • ETAG: La ETag actual de la configuración, que puedes encontrar obtén la configuración actual y copia el valor del campo etag de la respuesta.
  • PROJECT_ID: El ID del proyecto de Google Cloud Los ID de proyecto son strings alfanuméricas, como my-project.
  • Guarda el siguiente código en un archivo llamado request.json.

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

    Ejecuta el comando de gcloud beta recomendadorrecommender-config update:

    Linux, macOS o 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"
    

    La respuesta contiene la configuración actualizada. Por ejemplo, podría verse de la siguiente manera:

    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 la configuración del recomendador de IAM, usa el método projects.locations.recommenders.updateConfig de la API de recomendador.

Antes de usar cualquiera de los datos de solicitud a continuación, realiza los siguientes reemplazos:

  • PROJECT_NUMBER: Es el ID numérico del proyecto de Google Cloud.
  • OBSERVATION_PERIOD: Es el período mínimo de observación que deseas establecer. Usa uno de los siguientes valores: P30D (30 días), P60D (60 días) o P90D (90 días).
  • ETAG: La ETag actual de la configuración, que puedes encontrar obtén la configuración actual y copia el valor del campo etag de la respuesta. Usa barras inversas para escapar las comillas, por ejemplo, "\"df7308cca9719dcc\"".
  • PROJECT_ID: El ID del proyecto de Google Cloud Los ID de proyecto son strings alfanuméricas, como my-project.
  • Método HTTP y URL:

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

    Cuerpo JSON de la solicitud:

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

    Para enviar tu solicitud, expande una de estas opciones:

    La respuesta contiene la configuración actualizada. Por ejemplo, podría verse de la siguiente manera:

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

¿Qué sigue?