Revisa y aplica recomendaciones de roles para proyectos, carpetas y organizaciones

En esta página, se explica cómo ver, comprender y aplicar recomendaciones de funciones para proyectos, carpetas y organizaciones. Las recomendaciones de roles te ayudan a aplicar el principio de privilegio mínimo, ya que garantizan que las principales solo tengan los permisos que en verdad necesitan.

Antes de comenzar

Funciones de IAM obligatorias

En esta sección, se describen los roles y los permisos de IAM que necesitas para trabajar con las recomendaciones de roles.

Ver recomendaciones

Si quieres obtener los permisos que necesitas para ver las recomendaciones de roles, pídele a tu administrador que te otorgue los siguientes roles de IAM en el recurso del que deseas ver recomendaciones (proyecto, organización o carpeta):

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

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

Permisos necesarios

Se requieren los siguientes permisos para ver las recomendaciones de roles:

  • iam.roles.get
  • iam.roles.list
  • recommender.iamPolicyRecommendations.get
  • recommender.iamPolicyRecommendations.list
  • recommender.iamPolicyInsights.get
  • recommender.iamPolicyInsights.list
  • recommender.iamPolicyLateralMovementInsights.get
  • recommender.iamPolicyLateralMovementInsights.list
  • Para ver las recomendaciones en la consola de Google Cloud: resourcemanager.RESOURCE.getIamPolicy, donde RESOURCE es el tipo de recurso para el que quieres ver recomendaciones (projects, folders o organizations).

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

Aplica y descarta las recomendaciones

Si quieres obtener los permisos que necesitas para ver, aplicar y descartar las recomendaciones de roles, pídele a tu administrador que te otorgue los siguientes roles de IAM en el recurso para el que deseas administrar las recomendaciones (proyecto, organización o carpeta):

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

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

Permisos necesarios

Se requieren los siguientes permisos para ver, aplicar y descartar las recomendaciones de roles:

  • iam.roles.get
  • iam.roles.list
  • recommender.iamPolicyRecommendations.get
  • recommender.iamPolicyRecommendations.list
  • recommender.iamPolicyInsights.get
  • recommender.iamPolicyInsights.list
  • recommender.iamPolicyLateralMovementInsights.get
  • recommender.iamPolicyLateralMovementInsights.list
  • recommender.iamPolicyRecommendations.update
  • resourcemanager.RESOURCE.getIamPolicy, en el que RESOURCE es el tipo de recurso para el que deseas administrar las recomendaciones (projects, folders o organizations).
  • resourcemanager.RESOURCE.setIamPolicy, en el que RESOURCE es el tipo de recurso para el que deseas administrar las recomendaciones (projects, folders o organizations).

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

Revisa y aplica recomendaciones

La forma más fácil de revisar y aplicar tus recomendaciones es usar la consola de Google Cloud. Además, si quieres crear automáticamente una función personalizada cuando aplicas una recomendación, debes usar la consola de Google Cloud.

También puedes revisar y aplicar recomendaciones con Google Cloud CLI y la API del recomendador.

Console

  1. En la consola de Google Cloud, ve a la página IAM.

    Ir a IAM

  2. Selecciona un proyecto, una carpeta o una organización.

  3. En la lista de principales que tienen acceso al proyecto, busca la columna Estadísticas de seguridad.

    Para cada función otorgada a una principal, en esta columna, se muestran las estadísticas relacionadas con la seguridad. En estas estadísticas, se destacan los patrones de acceso de las principales a los recursos. Por ejemplo, algunas estadísticas destacan exceso de permisos o permisos que una principal no necesita. Otras estadísticas destacan las cuentas de servicio con capacidades de movimiento laterales:

    Si hay una recomendación disponible para abordar una estadística, la consola de Google Cloud muestra el ícono de recomendación disponible .

  4. Si hay recomendaciones para revisar, haz clic en el ícono Recomendación disponible  a fin de obtener detalles sobre la recomendación.

    Si la recomendación es reemplazar la función, el recomendador de funciones siempre sugiere un conjunto de funciones predefinidas que puedes aplicar.

    En algunos casos, la recomendación de la función también sugiere crear una nueva función personalizada a nivel de proyecto. Si hay una recomendación de función personalizada disponible, la consola de Google Cloud la muestra de forma predeterminada. Para cambiar a la recomendación de función predefinida, haz clic en Ver función predefinida recomendada.

  5. Revisa la recomendación con atención y asegúrate de comprender cómo cambiará el acceso de las principales a los recursos de Google Cloud. Excepto en el caso de las recomendaciones para las cuentas de servicio administradas por Google, una recomendación nunca aumentará el nivel de acceso de una principal. Consulta Cómo se generan las recomendaciones de funciones para obtener más información.

    Para obtener información sobre cómo revisar las recomendaciones en Console, consulta Revisa las recomendaciones en esta página.

  6. Si la recomendación es crear una función personalizada, actualiza el Título, la Descripción, el ID y la Etapa de lanzamiento de la función según sea necesario (opcional).

    Si necesitas agregar permisos a la función personalizada, haz clic en Agregar permisos.

    Si necesitas quitar permisos de la función personalizada, desmarca la casilla de verificación de cada permiso que deseas quitar.

  7. Toma medidas con respecto a la recomendación.

    Para aplicar la recomendación, haz clic en Aplicar o en Crear y aplicar. Si cambias de opinión en los siguientes 90 días, usa el historial de recomendaciones para revertir tu elección.

    Para descartar la recomendación, haz clic en Descartar y, luego, confirma tu elección. Puedes restablecer una recomendación descartada siempre y cuando la recomendación siga siendo válida.

  8. Repite los pasos anteriores hasta que hayas revisado todas las recomendaciones.

gcloud

Revisa las recomendaciones:

Para enumerar tus recomendaciones, ejecuta el comando gcloud recommender recommendations list:

gcloud recommender recommendations list \
    --location=global \
    --recommender=google.iam.policy.Recommender \
    --RESOURCE_TYPE=RESOURCE_ID \
    --format=json

Reemplaza los siguientes valores:

  • RESOURCE_TYPE: el tipo de recurso para el que deseas enumerar las recomendaciones. Usa el valor project, folder o organization.
  • RESOURCE_ID: el ID del proyecto, la carpeta o la organización de Google Cloud para el que deseas enumerar las recomendaciones. Los ID de proyecto son strings alfanuméricas, como my-project. Los ID de carpeta y organización son numéricos, como 123456789012.

La respuesta es similar al ejemplo a continuación. En este ejemplo, una cuenta de servicio no usó ningún permiso de la función Administrador de Compute (roles/compute.admin) en los últimos 90 días. Como resultado, la recomendación de función sugiere que revoques la función:

[
  {
    "associatedInsights": [
      {
        "insight": "projects/123456789012/locations/global/insightTypes/google.iam.policy.Insight/insights/279ef748-408f-44db-9a4a-1ff8865b9839"
      }
    ],
    "content": {
      "operationGroups": [
        {
          "operations": [
            {
              "action": "remove",
              "path": "/iamPolicy/bindings/*/members/*",
              "pathFilter": {
                "/iamPolicy/bindings/*/condition/expression": "",
                "/iamPolicy/bindings/*/members/*": "serviceAccount:id-1234567890@example-project.iam.gserviceaccount.com",
                "/iamPolicy/bindings/*/role": "roles/compute.admin"
              },
              "resource": "//cloudresourcemanager.googleapis.com/projects/example-project",
              "resourceType": "cloudresourcemanager.googleapis.com/Project"
            }
          ]
        }
      ]
    },
    "description": "This role has not been used during the observation window.",
    "recommenderSubtype": "REMOVE_ROLE",
    "etag": "\"770237e2c0decf40\"",
    "lastRefreshTime": "2020-01-09T06:06:17Z",
    "name": "projects/123456789012/locations/global/recommenders/google.iam.policy.Recommender/recommendations/fb927dc1-9695-4436-0000-f0f285007c0f",
    "primaryImpact": {
      "category": "SECURITY",
      "securityProjection": {
        "details": {
          "revokedIamPermissionsCount": 708
        }
      }
    },
    "priority": "P4",
    "stateInfo": {
      "state": "ACTIVE"
    }
  }
]

Revisa cada recomendación con atención y considera cómo cambiará el acceso de las principales a los recursos de Google Cloud. Para aprender a revisar las recomendaciones de la CLI de gcloud, consulta Revisa las recomendaciones en esta página.

Para aplicar una recomendación, sigue estos pasos:

  1. Usa el comando gcloud recommender recommendations mark-claimed para cambiar el estado de la recomendación a CLAIMED,, lo que evita que la recomendación cambie mientras la aplicas:

    gcloud recommender recommendations mark-claimed \
        RECOMMENDATION_ID \
        --location=global \
        --recommender=google.iam.policy.Recommender \
        --RESOURCE_TYPE=RESOURCE_ID \
        --format=FORMAT \
        --etag=ETAG \
        --state-metadata=STATE_METADATA
    

    Reemplaza los siguientes valores:

    • RECOMMENDATION_ID: El identificador único de la recomendación. Este valor aparece al final del campo name en la recomendación. En el ejemplo anterior, el ID es fb927dc1-9695-4436-0000-f0f285007c0f
    • RESOURCE_TYPE: el tipo de recurso para el que deseas administrar las recomendaciones. Usa el valor project, folder o organization.
    • RESOURCE_ID: el ID del proyecto, la carpeta o la organización de Google Cloud para el que quieres administrar las recomendaciones. Los ID de proyecto son strings alfanuméricas, como my-project. Los ID de carpeta y organización son numéricos, como 123456789012.
    • FORMAT: El formato de la respuesta. Usa json o yaml
    • ETAG: El valor del campo etag en la recomendación, como "dd0686e7136a4cbb". Ten en cuenta que este valor puede incluir comillas
    • STATE_METADATA: Opcional. Pares clave-valor separados por comas que contienen la selección de metadatos sobre la recomendación. Por ejemplo: --state-metadata=reviewedBy=alice,priority=high. Los metadatos reemplazan el campo stateInfo.stateMetadata en la recomendación.

    Si el comando se ejecuta de forma correcta, la respuesta muestra la recomendación en un estado CLAIMED, como se muestra en el siguiente ejemplo. Para mayor claridad, en el ejemplo, se omiten la mayoría de los campos:

    [
      {
        "description": "This role has not been used during the observation window.",
        "recommenderSubtype": "REMOVE_ROLE",
        "etag": "\"df7308cca9719dcc\"",
        "name": "projects/123456789012/locations/global/recommenders/google.iam.policy.Recommender/recommendations/fb927dc1-9695-4436-0000-f0f285007c0f",
        "stateInfo": {
          "state": "CLAIMED",
          "stateMetadata": {
            "reviewedBy": "alice",
            "priority": "high"
          }
        }
      }
    ]
  2. Obtén la política de permisos del proyecto y, luego, modifica y establece la política de permisos para que refleje la recomendación.

  3. Actualiza el estado de la recomendación a SUCCEEDED, si pudiste aplicar la recomendación, o FAILED, si no pudiste aplicarla:

    gcloud recommender recommendations COMMAND \
        RECOMMENDATION_ID \
        --location=global \
        --recommender=google.iam.policy.Recommender \
        --RESOURCE_TYPE=RESOURCE_ID \
        --format=FORMAT \
        --etag=ETAG \
        --state-metadata=STATE_METADATA
    

    Reemplaza los siguientes valores:

    • COMMAND: Usa mark-succeeded si pudiste aplicar la recomendación o mark-failed si no pudiste aplicarla.
    • RECOMMENDATION_ID: El identificador único de la recomendación. Este valor aparece al final del campo name en la recomendación. En el ejemplo anterior, el ID es fb927dc1-9695-4436-0000-f0f285007c0f
    • RESOURCE_TYPE: el tipo de recurso para el que deseas administrar las recomendaciones. Usa el valor project, folder o organization.
    • RESOURCE_ID: el ID del proyecto, la carpeta o la organización de Google Cloud para el que quieres administrar las recomendaciones. Los ID de proyecto son strings alfanuméricas, como my-project. Los ID de carpeta y organización son numéricos, como 123456789012.
    • FORMAT: El formato de la respuesta. Usa json o yaml
    • ETAG: El valor del campo etag en la recomendación, como "dd0686e7136a4cbb". Ten en cuenta que este valor puede incluir comillas
    • STATE_METADATA: Opcional. Pares clave-valor separados por comas que contienen la selección de metadatos sobre la recomendación. Por ejemplo: --state-metadata=reviewedBy=alice,priority=high. Los metadatos reemplazan el campo stateInfo.stateMetadata en la recomendación.

    Por ejemplo, si marcaste la recomendación como correcta, la respuesta muestra la recomendación en un estado SUCCEEDED. Para mayor claridad, en este ejemplo, se omiten la mayoría de los campos:

    [
      {
        "description": "This role has not been used during the observation window.",
        "recommenderSubtype": "REMOVE_ROLE",
        "etag": "\"dd0686e7136a4cbb\"",
        "name": "projects/123456789012/locations/global/recommenders/google.iam.policy.Recommender/recommendations/fb927dc1-9695-4436-0000-f0f285007c0f",
        "stateInfo": {
          "state": "SUCCEEDED",
          "stateMetadata": {
            "reviewedBy": "alice",
            "priority": "high"
          }
        }
      }
    ]

REST

En estas instrucciones, se supone que autenticaste y configuraste la variable de entorno GOOGLE_APPLICATION_CREDENTIALS.

Revisa las recomendaciones:

Si quieres enumerar todas las recomendaciones disponibles para tu proyecto, organización o carpeta, usa el método recommendations.list de la API de recomendador.

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

  • RESOURCE_TYPE: Es el tipo de recurso para el que deseas administrar las recomendaciones. Usa el valor projects, folders o organizations.
  • RESOURCE_ID: el ID del proyecto, la carpeta o la organización de Google Cloud para el que deseas administrar las recomendaciones. Los ID de proyecto son strings alfanuméricas, como my-project. Los ID de carpeta y organización son numéricos, como 123456789012.
  • PAGE_SIZE: Opcional La cantidad máxima de resultados que se mostrarán con esta solicitud. Si no se especifica, el servidor determinará la cantidad de resultados que se mostrarán. Si la cantidad de recomendaciones es mayor que el tamaño de la página, la respuesta contiene un token de paginación que puedes usar para recuperar la siguiente página de resultados.
  • PAGE_TOKEN: Opcional Es el token de paginación que se mostró en una respuesta anterior de este método. Si se especifica, la lista de recomendaciones comenzará donde finalizó la solicitud anterior.
  • FILTER: Opcional Una expresión de filtro para restringir las recomendaciones que se muestran. Puedes filtrar recomendaciones según el campo stateInfo.state. Por ejemplo, stateInfo.state:"DISMISSED" o stateInfo.state:"FAILED".
  • 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/v1/RESOURCE_TYPE/RESOURCE_ID/locations/global/recommenders/google.iam.policy.Recommender/recommendations?pageSize=PAGE_SIZE&pageToken=PAGE_TOKEN&filter=FILTER

Para enviar tu solicitud, expande una de estas opciones:

La respuesta es similar al ejemplo a continuación. En este ejemplo, una cuenta de servicio en el proyecto example-project no usó ningún permiso de la función de administrador de Compute (roles/compute.admin) en los últimos 90 días. Como resultado, el recomendador sugiere que revoques la función:

{
  "recommendations": [
    "name": "projects/123456789012/locations/global/recommenders/google.iam.policy.Recommender/recommendations/fb927dc1-9695-4436-0000-f0f285007c0f",
    "description": "This role has not been used during the observation window.",
    "lastRefreshTime": "2020-01-09T06:06:17Z",
    "primaryImpact": {
      "category": "SECURITY",
      "securityProjection": {
        "details": {
          "revokedIamPermissionsCount": 708
        }
      }
    },
    "priority": "P4",
    "content": {
      "operationGroups": [
        {
          "operations": [
            {
              "action": "remove",
              "path": "/iamPolicy/bindings/*/members/*",
              "pathFilter": {
                "/iamPolicy/bindings/*/condition/expression": "",
                "/iamPolicy/bindings/*/members/*": "serviceAccount:id-1234567890@example-project.iam.gserviceaccount.com",
                "/iamPolicy/bindings/*/role": "roles/compute.admin"
              },
              "resource": "//cloudresourcemanager.googleapis.com/projects/example-project",
              "resourceType": "cloudresourcemanager.googleapis.com/Project"
            }
          ]
        }
      ]
    },
    "stateInfo": {
      "state": "ACTIVE"
    }
    "etag": "\"770237e2c0decf40\"",
    "recommenderSubtype": "REMOVE_ROLE",
    "associatedInsights": [
      {
        "insight": "projects/123456789012/locations/global/insightTypes/google.iam.policy.Insight/insights/279ef748-408f-44db-9a4a-1ff8865b9839"
      }
  ]
}

Revisa cada recomendación con atención y considera cómo cambiará el acceso de las principales a los recursos de Google Cloud. Para obtener información sobre cómo revisar las recomendaciones de la API de REST, consulta Revisa las recomendaciones en esta página.

Para aplicar una recomendación, sigue estos pasos:

  1. Marca la recomendación como CLAIMED:

    Para marcar una recomendación como CLAIMED, que evita que cambie mientras la aplicas, usa el método recommendations.markClaimed de la API de recomendador.

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

    • RESOURCE_TYPE: Es el tipo de recurso para el que deseas administrar las recomendaciones. Usa el valor projects, folders o organizations.
    • RESOURCE_ID: el ID del proyecto, la carpeta o la organización de Google Cloud para el que deseas administrar las recomendaciones. Los ID de proyecto son strings alfanuméricas, como my-project. Los ID de carpeta y organización son numéricos, como 123456789012.
    • RECOMMENDATION_ID: El identificador único de la recomendación. Este valor aparece al final del campo name en la recomendación. Por ejemplo, si el campo name es projects/example-project/locations/global/recommenders/google.iam.policy.Recommender/recommendations/fb927dc1-9695-4436-0000-f0f285007c0f, el ID de recomendación es fb927dc1-9695-4436-0000-f0f285007c0f.
    • ETAG: El valor del campo etag en la recomendación, como "dd0686e7136a4cbb". Usa barras inversas para escapar las comillas, por ejemplo, "\"df7308cca9719dcc\"".
    • STATE_METADATA: Opcional Un objeto que contiene pares clave-valor con tu elección de metadatos sobre la recomendación. Por ejemplo, {"reviewedBy": "alice", "priority": "high"} Los metadatos reemplazan el campo stateInfo.stateMetadata en la recomendación.
    • 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:

    POST https://recommender.googleapis.com/v1/RESOURCE_TYPE/RESOURCE_ID/locations/global/recommenders/google.iam.policy.Recommender/recommendations/RECOMMENDATION_ID:markClaimed

    Cuerpo JSON de la solicitud:

    {
      "etag": "ETAG",
      "stateMetadata": {
        "STATE_METADATA"
      }
    }
    

    Para enviar tu solicitud, expande una de estas opciones:

    La respuesta muestra la recomendación en un estado CLAIMED, como se muestra en el siguiente ejemplo. Para mayor claridad, en este ejemplo, se omiten la mayoría de los campos:

    {
      "description": "This role has not been used during the observation window.",
      "stateInfo": {
        "state": "CLAIMED",
        "stateMetadata": {
          "reviewedBy": "alice",
          "priority": "high"
        }
      },
      "etag": "\"dd0686e7136a4cbb\"",
      "recommenderSubtype": "REMOVE_ROLE"
    }
    

  2. Obtén la política de permisos para el proyecto y, luego, modifica la política de permisos a fin de que refleje la recomendación.

  3. Actualiza el estado de la recomendación a SUCCEEDED, si pudiste aplicar la recomendación, o FAILED, si no pudiste aplicarla:

    SUCCEEDED

    Para marcar una recomendación como SUCCEEDED, lo que indica que pudiste aplicarla, usa el método recommendations.markSucceeded de la API de recomendador.

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

    • RESOURCE_TYPE: Es el tipo de recurso para el que deseas administrar las recomendaciones. Usa el valor projects, folders o organizations.
    • RESOURCE_ID: el ID del proyecto, la carpeta o la organización de Google Cloud para el que deseas administrar las recomendaciones. Los ID de proyecto son strings alfanuméricas, como my-project. Los ID de carpeta y organización son numéricos, como 123456789012.
    • RECOMMENDATION_ID: El identificador único de la recomendación. Este valor aparece al final del campo name en la recomendación. Por ejemplo, si el campo name es projects/example-project/locations/global/recommenders/google.iam.policy.Recommender/recommendations/fb927dc1-9695-4436-0000-f0f285007c0f, el ID de recomendación es fb927dc1-9695-4436-0000-f0f285007c0f.
    • ETAG: El valor del campo etag en la recomendación, como "dd0686e7136a4cbb". Usa barras inversas para escapar las comillas, por ejemplo, "\"df7308cca9719dcc\"".
    • STATE_METADATA: Opcional Un objeto que contiene pares clave-valor con tu elección de metadatos sobre la recomendación. Por ejemplo, {"reviewedBy": "alice", "priority": "high"} Los metadatos reemplazan el campo stateInfo.stateMetadata en la recomendación.
    • 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:

    POST https://recommender.googleapis.com/v1/RESOURCE_TYPE/RESOURCE_ID/locations/global/recommenders/google.iam.policy.Recommender/recommendations/RECOMMENDATION_ID:markSucceeded

    Cuerpo JSON de la solicitud:

    {
      "etag": "ETAG",
      "stateMetadata": {
        "STATE_METADATA"
      }
    }
    

    Para enviar tu solicitud, expande una de estas opciones:

    La respuesta muestra la recomendación en un estado SUCCEEDED, como se muestra en el siguiente ejemplo. Para mayor claridad, en este ejemplo, se omiten la mayoría de los campos:

    {
      "description": "This role has not been used during the observation window.",
      "stateInfo": {
        "state": "SUCCEEDED",
        "stateMetadata": {
          "reviewedBy": "alice",
          "priority": "high"
        }
      },
      "etag": "\"dd0686e7136a4cbb\"",
      "recommenderSubtype": "REMOVE_ROLE"
    }
    

    FAILED

    Para marcar una recomendación como FAILED, lo que indica que no pudiste aplicarla, usa el método recommendations.markFailed de la API de recomendador.

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

    • RESOURCE_TYPE: Es el tipo de recurso para el que deseas administrar las recomendaciones. Usa el valor projects, folders o organizations.
    • RESOURCE_ID: el ID del proyecto, la carpeta o la organización de Google Cloud para el que deseas administrar las recomendaciones. Los ID de proyecto son strings alfanuméricas, como my-project. Los ID de carpeta y organización son numéricos, como 123456789012.
    • RECOMMENDATION_ID: El identificador único de la recomendación. Este valor aparece al final del campo name en la recomendación. Por ejemplo, si el campo name es projects/example-project/locations/global/recommenders/google.iam.policy.Recommender/recommendations/fb927dc1-9695-4436-0000-f0f285007c0f, el ID de recomendación es fb927dc1-9695-4436-0000-f0f285007c0f.
    • ETAG: El valor del campo etag en la recomendación, como "dd0686e7136a4cbb". Usa barras inversas para escapar las comillas, por ejemplo, "\"df7308cca9719dcc\"".
    • STATE_METADATA: Opcional Un objeto que contiene pares clave-valor con tu elección de metadatos sobre la recomendación. Por ejemplo, {"reviewedBy": "alice", "priority": "high"} Los metadatos reemplazan el campo stateInfo.stateMetadata en la recomendación.
    • 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:

    POST https://recommender.googleapis.com/v1/RESOURCE_TYPE/RESOURCE_ID/locations/global/recommenders/google.iam.policy.Recommender/recommendations/RECOMMENDATION_ID:markFailed

    Cuerpo JSON de la solicitud:

    {
      "etag": "ETAG",
      "stateMetadata": {
        "STATE_METADATA"
      }
    }
    

    Para enviar tu solicitud, expande una de estas opciones:

    La respuesta muestra la recomendación en un estado FAILED, como se muestra en el siguiente ejemplo. Para mayor claridad, en este ejemplo, se omiten la mayoría de los campos:

    {
      "description": "This role has not been used during the observation window.",
      "stateInfo": {
        "state": "FAILED",
        "stateMetadata": {
          "reviewedBy": "alice",
          "priority": "high"
        }
      },
      "etag": "\"dd0686e7136a4cbb\"",
      "recommenderSubtype": "REMOVE_ROLE"
    }
    

Información sobre las recomendaciones

Cada recomendación incluye información para ayudarte a comprender por qué se hizo la recomendación.

Console

Para ayudarte a comprender por qué se hizo la recomendación, la consola de Google Cloud muestra el uso de permisos de la principal, como lo informa la estadística de la política asociada con la recomendación. Por ejemplo, puede mostrar una lista como la siguiente:

Para ayudarte a comprender el impacto de aplicar la recomendación, la consola de Google Cloud también muestra una lista de permisos codificada por colores y símbolos. En esta lista, se indica cómo cambiarán los permisos de la principal si aplicas la recomendación. Por ejemplo, puede mostrar una lista como la siguiente:

Los tipos de permisos asociados con cada color y símbolo son los siguientes:

  • Color gris sin símbolo: Son permisos que se encuentran en la función actual de la principal y en las funciones recomendadas.

  • Color rojo con un signo menos : Son permisos que se encuentran en la función actual de la principal, pero no en las funciones recomendadas, ya que la principal no las usó en los últimos 90 días.

  • Color verde con un signo más : son permisos que no se encuentran en la función actual de la principal, pero que están en las funciones recomendadas. Este tipo de permiso solo aparece en las recomendaciones para las cuentas de servicio administradas por Google.

  • Color azul con un ícono de aprendizaje automático : Son permisos que se encuentran en la función actual de la principal y en las funciones recomendadas, no porque la principal los haya usado en los últimos 90 días, sino porque el recomendador determinó mediante el aprendizaje automático que es probable que la principal necesite esos permisos en el futuro.

Algunas recomendaciones también se asocian con las estadísticas de movimiento lateral. Las estadísticas de movimiento posteriores identifican funciones que permiten que una cuenta de servicio en un proyecto actúe en nombre de una cuenta de servicio en otro proyecto. Si una recomendación está asociada con una estadística de desplazamiento lateral, la consola de Google Cloud también muestra lo siguiente:

  • Proyecto de origen de la cuenta de servicio: El proyecto en el que se creó la cuenta de servicio con permisos de robo de identidad.

  • Cuentas de servicio que se pueden suplantar en este proyecto: Una lista de todas las cuentas de servicio del proyecto actual que la cuenta de servicio con permisos de suplantación puede suplantar.

gcloud

Para obtener detalles sobre los campos de una recomendación, consulta la referencia de Recommendation.

Para ver el uso de permisos en el que se basa esta recomendación, consulta las estadísticas de políticas asociadas con la recomendación. Estas estadísticas se enumeran en el campo associatedInsights. Para ver una estadística de políticas asociada con la recomendación, haz lo siguiente:

  • Identifica qué estadísticas del campo associatedInsights son estadísticas de políticas. Las estadísticas de políticas tienen el tipo de estadística google.iam.policy.insight. Este tipo aparece después de insightTypes en el campo insight.
  • Copia el ID de la estadística de la política. El ID es todo lo que se encuentra después de insights/ en el campo insight. En el ejemplo anterior, el ID de estadística es 279ef748-408f-44db-9a4a-1ff8865b9839.
  • Sigue las instrucciones para obtener una estadística de política con el ID de estadística que copiaste.

Algunas recomendaciones también se asocian a las estadísticas de movimiento lateral, que identifican las funciones que permiten que las cuentas de servicio de un proyecto actúen en nombre de las cuentas de servicio en otro proyecto. Estas estadísticas también se enumeran en el campo associatedInsights. Para ver una estadística de movimiento lateral que está asociada con la recomendación, haz lo siguiente:

  • Identifica qué estadísticas del campo associatedInsights son estadísticas de movimiento lateral. Las estadísticas de movimiento lateral tienen el tipo de estadística google.iam.policy.LateralMovementInsight. Este tipo aparece después de insightTypes en el campo insight.
  • Copia el ID de la estadística de la política. El ID es todo lo que se encuentra después de insights/ en el campo insight. En el ejemplo anterior, el ID de estadística es 279ef748-408f-44db-9a4a-1ff8865b9839.
  • Sigue las instrucciones para obtener una estadística de movimiento lateral con el ID de estadística que copiaste.

REST

Para obtener detalles sobre los campos de una recomendación, consulta la referencia de Recommendation.

Para ver el uso de permisos en el que se basa esta recomendación, consulta las estadísticas de políticas asociadas con la recomendación. Estas estadísticas se enumeran en el campo associatedInsights. Para ver una estadística de políticas asociada con la recomendación, haz lo siguiente:

  1. Identifica qué estadísticas del campo associatedInsights son estadísticas de políticas. Las estadísticas de políticas tienen el tipo de estadística google.iam.policy.insight. Este tipo aparece después de insightTypes en el campo insight.
  2. Copia el ID de la estadística de la política. El ID es todo lo que se encuentra después de insights/ en el campo insight. Por ejemplo, si el campo insight dice projects/123456789012/locations/global/insightTypes/google.iam.policy.Insight/insights/279ef748-408f-44db-9a4a-1ff8865b9839, el ID de estadística es 279ef748-408f-44db-9a4a-1ff8865b9839.
  3. Sigue las instrucciones para obtener una estadística de política con el ID de estadística que copiaste.

Algunas recomendaciones también se asocian a las estadísticas de movimiento lateral, que identifican las funciones que permiten que las cuentas de servicio de un proyecto actúen en nombre de las cuentas de servicio en otro proyecto. Estas estadísticas también se enumeran en el campo associatedInsights. Para ver una estadística de movimiento lateral que está asociada con la recomendación, haz lo siguiente:

  1. Identifica qué estadísticas del campo associatedInsights son estadísticas de movimiento lateral. Las estadísticas de movimiento lateral tienen el tipo de estadística google.iam.policy.LateralMovementInsight. Este tipo aparece después de insightTypes en el campo insight.
  2. Copia el ID de la estadística de la política. El ID es todo lo que se encuentra después de insights/ en el campo insight. Por ejemplo, si el campo insight dice projects/123456789012/locations/global/insightTypes/google.iam.policy.LateralMovementInsight/insights/13088eec-9573-415f-81a7-46e1a260e860, el ID de estadística es 13088eec-9573-415f-81a7-46e1a260e860.
  3. Sigue las instrucciones para obtener una estadística de movimiento lateral con el ID de estadística que copiaste.

Visualiza, revierte y restablece cambios

Después de aplicar o descartar una recomendación para una vinculación de función a nivel de proyecto, esa acción aparece en el historial de recomendaciones.

Para ver el historial de recomendaciones, haz lo siguiente:

  1. En la consola de Google Cloud, ve a la página IAM.

    Ir a IAM

  2. Selecciona un proyecto, una carpeta o una organización.

  3. Haz clic en Historial de recomendaciones, cerca de la parte superior de la pantalla.

    En la consola de Google Cloud, se muestra una lista de acciones anteriores en las recomendaciones de roles.

  4. Para ver los detalles de una recomendación, haz clic en la flecha de expansión .

    En la consola de Google Cloud, se muestran detalles sobre la acción que se realizó, incluida la principal que la realizó:

  5. Si es necesario, puedes revertir la recomendación, lo que deshace los cambios en la recomendación o restablece una recomendación que descartaste (opcional).

    Para revertir un cambio aplicado antes a una recomendación, haz clic en Revertir. La consola de Google Cloud revierte los cambios a los roles de la principal. La recomendación ya no aparece en la consola de Google Cloud.

    Para restablecer una recomendación que se descartó, haz clic en Restablecer. La recomendación se puede ver en la página de IAM de la consola de Google Cloud. No se cambiaron las funciones ni los permisos.

¿Qué sigue?