En esta página, se explica cómo ver, comprender y aplicar las recomendaciones de roles 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
Enable the IAM and Recommender APIs.
Aprende sobre las recomendaciones de funciones.
Revisa las Prácticas recomendadas para las recomendaciones de funciones.
Opcional: Si deseas ver y administrar las recomendaciones de roles para roles no básicos y personalizados, asegúrate de tener una activación a nivel de la organización del nivel premium de Security Command Center. Para obtener más información, consulta Preguntas sobre facturación.
Roles de IAM obligatorios
En esta sección, se describen los roles y los permisos de IAM que necesitas para trabajar con las recomendaciones de roles.
Ver recomendaciones
Para 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 para el que deseas ver las recomendaciones (proyecto, carpeta u organización):
-
Visualizador de roles (
roles/iam.roleViewer
) -
Visualizador del recomendador de IAM (
roles/recommender.iamViewer
) -
Para ver las recomendaciones a nivel del proyecto en la consola de Google Cloud, haz lo siguiente:
Administrador de IAM de proyecto (
roles/resourcemanager.projectIamAdmin
) -
Para ver las recomendaciones a nivel de carpeta en la consola de Google Cloud, ve a Administrador de IAM de carpetas (
roles/resourcemanager.folderIamAdmin
). -
Para ver las recomendaciones a nivel de la organización en la consola de Google Cloud, debes ser administrador de la organización (
roles/resourcemanager.organizationAdmin
).
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 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, usa
resourcemanager.RESOURCE.getIamPolicy
, en el queRESOURCE
es el tipo de recurso para el que deseas ver las recomendaciones (projects
,folders
oorganizations
).
También puedes obtener estos permisos con roles personalizados o con otros roles predefinidos.
Aplica y descarta las recomendaciones
Para 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, carpeta u organización):
-
Visualizador de roles (
roles/iam.roleViewer
) -
Administrador del recomendador de IAM (
roles/recommender.iamAdmin
) -
Para administrar recomendaciones a nivel de proyecto: Administrador de IAM de proyecto (
roles/resourcemanager.projectIamAdmin
) -
Para administrar recomendaciones a nivel de carpeta: Administrador de IAM de carpetas (
roles/resourcemanager.folderIamAdmin
) -
Para administrar recomendaciones a nivel de la organización: Administrador de la organización (
roles/resourcemanager.organizationAdmin
)
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 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 queRESOURCE
es el tipo de recurso para el que deseas administrar las recomendaciones (projects
,folders
oorganizations
). -
resourcemanager.RESOURCE.setIamPolicy
, en el queRESOURCE
es el tipo de recurso para el que deseas administrar las recomendaciones (projects
,folders
oorganizations
).
También puedes obtener estos permisos con roles personalizados o con otros roles predefinidos.
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 deseas crear un rol personalizado de forma automática 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
En la consola de Google Cloud, ve a la página IAM.
Selecciona un proyecto, una carpeta o una organización.
En la lista de principales que tienen acceso a tu 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 mostrará el ícono Recomendación disponible .
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 rol personalizado 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.
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 los agentes de servicio, 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.
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.
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.
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 valorproject
,folder
oorganization
.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, comomy-project
. Los ID de carpeta y organización son numéricos, como123456789012
.
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:
Usa el comando
gcloud recommender recommendations mark-claimed
para cambiar el estado de la recomendación aCLAIMED,
, 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 camponame
en la recomendación. En el ejemplo anterior, el ID esfb927dc1-9695-4436-0000-f0f285007c0f
-
RESOURCE_TYPE
: el tipo de recurso para el que deseas administrar las recomendaciones. Usa el valorproject
,folder
oorganization
. -
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, comomy-project
. Los ID de carpeta y organización son numéricos, como123456789012
. -
FORMAT
: El formato de la respuesta. Usajson
oyaml
-
ETAG
: El valor del campoetag
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 campostateInfo.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" } } } ]
-
Obtén la política de permisos para el proyecto y, luego, modifica y configura la política de permisos para que refleje la recomendación.
Actualiza el estado de la recomendación a
SUCCEEDED
, si pudiste aplicar la recomendación, oFAILED
, 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
: Usamark-succeeded
si pudiste aplicar la recomendación omark-failed
si no pudiste aplicarla.-
RECOMMENDATION_ID
: El identificador único de la recomendación. Este valor aparece al final del camponame
en la recomendación. En el ejemplo anterior, el ID esfb927dc1-9695-4436-0000-f0f285007c0f
-
RESOURCE_TYPE
: el tipo de recurso para el que deseas administrar las recomendaciones. Usa el valorproject
,folder
oorganization
. -
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, comomy-project
. Los ID de carpeta y organización son numéricos, como123456789012
. -
FORMAT
: El formato de la respuesta. Usajson
oyaml
-
ETAG
: El valor del campoetag
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 campostateInfo.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:
Para enumerar todas las recomendaciones disponibles para tu proyecto, carpeta o organización, usa el método recommendations.list
de la API de Recommender.
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 valorprojects
,folders
oorganizations
.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, comomy-project
. Los ID de carpeta y organización son numéricos, como123456789012
.-
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 campostateInfo.state
. Por ejemplo,stateInfo.state:"DISMISSED"
ostateInfo.state:"FAILED"
. PROJECT_ID
: El ID del proyecto de Google Cloud Los ID de proyecto son strings alfanuméricas, comomy-project
.
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" } ] }
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:
Marca la recomendación como
CLAIMED
:Para marcar una recomendación como
CLAIMED
, lo que evita que la recomendación cambie mientras la aplicas, usa el métodorecommendations.markClaimed
de la API de Recommender.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 valorprojects
,folders
oorganizations
.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, comomy-project
. Los ID de carpeta y organización son numéricos, como123456789012
.RECOMMENDATION_ID
: El identificador único de la recomendación. Este valor aparece al final del camponame
en la recomendación. Por ejemplo, si el camponame
esprojects/example-project/locations/global/recommenders/google.iam.policy.Recommender/recommendations/fb927dc1-9695-4436-0000-f0f285007c0f
, el ID de recomendación esfb927dc1-9695-4436-0000-f0f285007c0f
.ETAG
: El valor del campoetag
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 campostateInfo.stateMetadata
en la recomendación.PROJECT_ID
: El ID del proyecto de Google Cloud Los ID de proyecto son strings alfanuméricas, comomy-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" }
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.
Actualiza el estado de la recomendación a
SUCCEEDED
, si pudiste aplicar la recomendación, oFAILED
, si no pudiste aplicarla:SUCCEEDED
Para marcar una recomendación como
SUCCEEDED
, lo que indica que pudiste aplicarla, usa el métodorecommendations.markSucceeded
de la API de Recommender.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 valorprojects
,folders
oorganizations
.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, comomy-project
. Los ID de carpeta y organización son numéricos, como123456789012
.RECOMMENDATION_ID
: El identificador único de la recomendación. Este valor aparece al final del camponame
en la recomendación. Por ejemplo, si el camponame
esprojects/example-project/locations/global/recommenders/google.iam.policy.Recommender/recommendations/fb927dc1-9695-4436-0000-f0f285007c0f
, el ID de recomendación esfb927dc1-9695-4436-0000-f0f285007c0f
.ETAG
: El valor del campoetag
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 campostateInfo.stateMetadata
en la recomendación.PROJECT_ID
: El ID del proyecto de Google Cloud Los ID de proyecto son strings alfanuméricas, comomy-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étodorecommendations.markFailed
de la API de Recommender.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 valorprojects
,folders
oorganizations
.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, comomy-project
. Los ID de carpeta y organización son numéricos, como123456789012
.RECOMMENDATION_ID
: El identificador único de la recomendación. Este valor aparece al final del camponame
en la recomendación. Por ejemplo, si el camponame
esprojects/example-project/locations/global/recommenders/google.iam.policy.Recommender/recommendations/fb927dc1-9695-4436-0000-f0f285007c0f
, el ID de recomendación esfb927dc1-9695-4436-0000-f0f285007c0f
.ETAG
: El valor del campoetag
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 campostateInfo.stateMetadata
en la recomendación.PROJECT_ID
: El ID del proyecto de Google Cloud Los ID de proyecto son strings alfanuméricas, comomy-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" }
Comprende 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 políticas asociada con la recomendación. Por ejemplo, puede mostrar una lista como la siguiente:
Para ayudarte a comprender el impacto de la aplicación de 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 recomendaciones para los agentes de servicio.
: 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 lasColor azul con un ícono de aprendizaje automático aprendizaje automático que es probable que la principal necesite esos permisos en el futuro.
: 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
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 movimiento 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ísticagoogle.iam.policy.insight
. Este tipo aparece después deinsightTypes
en el campoinsight
. - 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 campoinsight
. En el ejemplo anterior, el ID de estadística es279ef748-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ísticagoogle.iam.policy.LateralMovementInsight
. Este tipo aparece después deinsightTypes
en el campoinsight
. - 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 campoinsight
. En el ejemplo anterior, el ID de estadística es279ef748-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:
- Identifica qué estadísticas del campo
associatedInsights
son estadísticas de políticas. Las estadísticas de políticas tienen el tipo de estadísticagoogle.iam.policy.insight
. Este tipo aparece después deinsightTypes
en el campoinsight
. - 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 campoinsight
. Por ejemplo, si el campoinsight
diceprojects/123456789012/locations/global/insightTypes/google.iam.policy.Insight/insights/279ef748-408f-44db-9a4a-1ff8865b9839
, el ID de la estadística es279ef748-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ísticagoogle.iam.policy.LateralMovementInsight
. Este tipo aparece después deinsightTypes
en el campoinsight
. - 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 campoinsight
. Por ejemplo, si el campoinsight
diceprojects/123456789012/locations/global/insightTypes/google.iam.policy.LateralMovementInsight/insights/13088eec-9573-415f-81a7-46e1a260e860
, el ID de la estadística es13088eec-9573-415f-81a7-46e1a260e860
. - 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:
En la consola de Google Cloud, ve a la página IAM.
Selecciona un proyecto, una carpeta o una organización.
Haz clic en Historial de recomendaciones, cerca de la parte superior de la pantalla.
La consola de Google Cloud muestra una lista de acciones anteriores en tus recomendaciones de roles.
Para ver los detalles de una recomendación, haz clic en la flecha de expansión
.La consola de Google Cloud muestra detalles sobre la acción que se realizó, incluida la principal que realizó la acción:
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 hace visible en la página de IAM en la consola de Google Cloud. No se cambiaron las funciones ni los permisos.
¿Qué sigue?
- Obtén más información sobre el recomendador.
- Obtén información para usar las estadísticas de la política de permisos.
- Aprende a usar las estadísticas de movimiento lateral.