Revise y aplique las recomendaciones

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

Antes de comenzar

Permisos de IAM obligatorios

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

Ver recomendaciones

Si deseas ver las recomendaciones de funciones, debes tener los siguientes permisos para el proyecto, la carpeta o la organización que estás viendo, en los que RESOURCE_TYPE es el tipo de recurso que ves para las recomendaciones (projects, folders o organizations).

  • iam.roles.get
  • iam.roles.list
  • recommender.iamPolicyRecommendations.get
  • recommender.iamPolicyRecommendations.list
  • resourcemanager.RESOURCE_TYPE.getIamPolicy

Para obtener estos permisos y seguir el principio de privilegio mínimo, pídele a tu administrador que te otorgue las siguientes funciones predefinidas:

  • Visualizador de funciones (roles/iam.roleViewer)
  • Visualizador del recomendador de IAM (roles/recommender.iamViewer) o revisor de seguridad de IAM (roles/iam.securityReviewer)

Como alternativa, el administrador puede otorgarte una función diferente que incluya los permisos necesarios, como una función personalizada o una función predefinida con más permisos.

Aplica y descarta las recomendaciones

Si deseas aplicar y descartar las recomendaciones de funciones de recomendaciones, debes tener los siguientes permisos en el proyecto, la carpeta o la organización que administras, en los que RESOURCE_TYPE es el tipo de recurso para el que administras recomendaciones (projects, folders o organizations).

  • iam.roles.get
  • iam.roles.list
  • recommender.iamPolicyRecommendations.get
  • recommender.iamPolicyRecommendations.list
  • recommender.iamPolicyRecommendations.update
  • resourcemanager.RESOURCE_TYPE.getIamPolicy
  • resourcemanager.RESOURCE_TYPE.setIamPolicy

Para obtener estos permisos y seguir el principio de privilegio mínimo, pídele a tu administrador que te otorgue las siguientes funciones predefinidas:

  • Visualizador de funciones (roles/iam.roleViewer)
  • Administrador del recomendador de IAM (roles/recommender.iamAdmin)
  • Una de las siguientes funciones, según el tipo de recurso para el que administras las recomendaciones:

    • Proyectos: Administrador de IAM de proyecto (roles/resourcemanager.projectIamAdmin)
    • Carpetas: Administrador de IAM de carpeta (roles/resourcemanager.folderIamAdmin)
    • Organizaciones: Administrador de la organización (roles/resourcemanager.organizationAdmin).

Como alternativa, el administrador puede otorgarte una función diferente que incluya los permisos necesarios, como una función personalizada o una función predefinida con más permisos.

Revise y aplique las recomendaciones

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

También puedes revisar y aplicar recomendaciones con la herramienta de línea de comandos de gcloud y la API del recomendador.

Las recomendaciones para las vinculaciones de funciones a nivel de carpeta y organización no están disponibles en Cloud Console. Para ver esas recomendaciones, usa la herramienta de gcloud o la API de REST.

Console

  1. En Cloud Console, ve a la página IAM.

    Ir a la página IAM

  2. En la lista de miembros de tu proyecto, busca la columna Permisos analizados.

    Para cada función otorgada a un miembro, en esta columna, se muestra la cantidad de permisos no utilizados o los permisos que el miembro no necesita, seguidos de la cantidad total de permisos en la función:

    El ícono Recomendación disponible  indica que hay una recomendación disponible para una función, ya sea a fin de revocar la función o reemplazarla por una función que incluya menos permisos.

  3. 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, Cloud Console la muestra de forma predeterminada. Para cambiar a la recomendación de función predefinida, haz clic en Ver función predefinida recomendada.

  4. Revisa la recomendación con atención y asegúrate de comprender cómo cambiará el acceso de los miembros 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 un miembro. Consulta Cómo se generan las recomendaciones de funciones para obtener más información.

    Para ayudarte a comprender el impacto de la recomendación, Cloud Console muestra una lista de permisos codificada por colores y símbolos. En esta lista, se indica cómo cambiarán los permisos del miembro si aplicas la recomendación.

    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 del miembro y en las funciones recomendadas.

    • Color rojo con un signo menos : Son permisos que se encuentran en la función actual del miembro, pero no en las funciones recomendadas, ya que el miembro 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 del miembro, 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 del miembro y en las funciones recomendadas, no porque el miembro los haya usado en los últimos 90 días, sino porque el recomendador determinó mediante el aprendizaje automático que es probable que el miembro necesite esos permisos en el futuro.

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

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

  7. 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=FORMAT

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.
  • FORMAT: El formato de la respuesta. Usa json o yaml

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, se 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"
    }
  }
]

Para obtener más información sobre los campos de una recomendación, consulta la referencia de Recommendation.

Revisa cada recomendación con atención y considera cómo cambiará el acceso del miembro a los recursos de Google Cloud. 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 asociadas con la recomendación. Estas estadísticas se enumeran en el campo associatedInsights. Para ver una estadística, haz lo siguiente:

  • Copie el ID de estadística. El ID de estadística 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 información valiosa con el ID de estadística que copiaste y el ID de tipo de estadística google.iam.policy.Insight.

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 IAM para el proyecto y, luego, modifica la política 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:

    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:

Con el método recommendations.list de la API de recomendador, se enumeran todas las recomendaciones disponibles para el proyecto.

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

  • RESOURCE_TYPE: 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".

Método HTTP y 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"
      }
  ]
}

Para obtener más información sobre los campos de una recomendación, consulta la referencia de Recommendation.

Revisa cada recomendación con atención y considera cómo cambiará el acceso del miembro a los recursos de Google Cloud. 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 asociadas con la recomendación. Estas estadísticas se enumeran en el campo associatedInsights. Para ver una estadística, haz lo siguiente:

  • Copie el ID de estadística. El ID de estadística 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 información valiosa con el ID de estadística que copiaste y el ID de tipo de estadística google.iam.policy.Insight.

Para aplicar una recomendación, sigue estos pasos:

  1. Marca la recomendación como CLAIMED:

    Con el método recommendations.markClaimed de la API de recomendador, se marca una recomendación como CLAIMED, lo que evita que la recomendación cambie mientras la aplicas.

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

    • RESOURCE_TYPE: 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.

    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 IAM para el proyecto y, luego, modifica la política 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

    Con el método recommendations.markSucceeded de la API de recomendador, se marca una recomendación como SUCCEEDED, lo que indica que pudiste aplicarla.

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

    • RESOURCE_TYPE: 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.

    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

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

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

    • RESOURCE_TYPE: 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.

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

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 Cloud Console, ve a la página IAM.

    Ir a la página IAM

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

    Cloud Console muestra una lista de acciones anteriores en tus recomendaciones de IAM.

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

    Cloud Console muestra detalles sobre la acción que se realizó, incluido el miembro que realizó la acción:

  4. 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. Cloud Console revierte los cambios a las funciones del miembro. La recomendación ya no aparece en Cloud Console.

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

¿Qué sigue?