Configura la generación de recomendaciones de roles

Si cambias la configuración del recomendador de IAM, puedes personalizar cómo se generan las recomendaciones de roles. 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.

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

Antes de comenzar

Roles obligatorios

Para obtener los permisos que necesitas para configurar 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:

  • Consulta los detalles de la configuración: Visualizador de recomendaciones de IAM (roles/recommender.iamViewer)
  • Modifica tu configuración: Administrador de recomendaciones de IAM (roles/recommender.iamAdmin)

Para obtener más información sobre cómo otorgar roles, consulta Administra el acceso a proyectos, carpetas y organizaciones.

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.update

También puedes obtener estos permisos con roles personalizados o con otros roles predefinidos.

Consulta tu configuración actual

Consulta 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 roles.

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

gcloud

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

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

  • PROJECT_NUMBER: Es el ID numérico de tu proyecto de Google Cloud.
  • 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:

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 del proyecto. 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 de para qué recommender se usa. Las configuraciones del recomendador de IAM tienen los siguientes componentes, que no necesariamente están en este orden:

  • name: Es el identificador de 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. En este campo, se encuentran los siguientes parámetros:

    • minimum_observation_period: Es la cantidad de días de datos de uso de permisos que el recomendador de IAM necesita para comenzar a generar recomendaciones de roles.
  • etag: Es un identificador del estado actual de una configuración que se usa para 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 vez más reciente en que se actualizó la configuración, en formato UTC (RFC 3339).

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

Edita tu configuración

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

gcloud

Para editar la configuración del recomendador de IAM de un proyecto, 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 de observación mínimo que deseas establecer. Usa uno de los siguientes valores: P30D (30 días), P60D (60 días) o P90D (90 días).
  • ETAG: Es el etag actual de la configuración, que puedes encontrar si obtienes la configuración actual y copias 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 gcloud beta recommender recommender-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 de un proyecto, usa el método projects.locations.recommenders.updateConfig de la API de Recommender.

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

  • PROJECT_NUMBER: Es el ID numérico de tu proyecto de Google Cloud.
  • OBSERVATION_PERIOD: Es el período de observación mínimo que deseas establecer. Usa uno de los siguientes valores: P30D (30 días), P60D (60 días) o P90D (90 días).
  • ETAG: Es el etag actual de la configuración, que puedes encontrar si obtienes la configuración actual y copias 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?