En esta página se explica cómo analizar las políticas de Gestión de Identidades y Accesos (IAM) de forma asíncrona y escribir los resultados en Cloud Storage. Esta función es prácticamente igual a la de analizar políticas de IAM, pero el resultado del análisis se escribe en un segmento de Cloud Storage.
Antes de empezar
Enable the Cloud Asset API.
Roles required to enable APIs
To enable APIs, you need the Service Usage Admin IAM
role (roles/serviceusage.serviceUsageAdmin
), which
contains the serviceusage.services.enable
permission. Learn how to grant
roles.
Debes habilitar la API en el proyecto que vayas a usar para enviar la consulta. No tiene por qué ser el mismo recurso al que acotas tu consulta.
Roles y permisos necesarios
Para ejecutar un análisis de políticas y exportar los resultados a Cloud Storage, se necesitan los siguientes roles y permisos.
Roles de gestión de identidades y accesos necesarios
Para obtener los permisos que necesitas para analizar una política y exportar los resultados a BigQuery, pide a tu administrador que te conceda los siguientes roles de gestión de identidades y accesos en el proyecto, la carpeta o la organización en los que quieras acotar tu consulta:
-
Visor de recursos de Cloud (
roles/cloudasset.viewer
) -
Creador de objetos de Storage (
roles/storage.objectCreator
) -
Para analizar políticas con roles de gestión de identidades y accesos personalizados, sigue estos pasos:
Lector de roles (
roles/iam.roleViewer
) -
Para usar Google Cloud CLI y analizar las políticas, sigue estos pasos:
Consumidor de uso de servicios (
roles/serviceusage.serviceUsageConsumer
)
Para obtener más información sobre cómo conceder roles, consulta el artículo Gestionar el acceso a proyectos, carpetas y organizaciones.
Estos roles predefinidos contienen los permisos necesarios para analizar una política y exportar los resultados a BigQuery. Para ver los permisos exactos que se necesitan, despliega la sección Permisos necesarios:
Permisos obligatorios
Para analizar una política y exportar los resultados a BigQuery, se necesitan los siguientes permisos:
-
cloudasset.assets.analyzeIamPolicy
-
cloudasset.assets.searchAllResources
-
cloudasset.assets.searchAllIamPolicies
-
storage.objects.create
-
Para analizar políticas con roles personalizados de gestión de identidades y accesos, sigue estos pasos:
iam.roles.get
-
Para usar Google Cloud CLI y analizar las políticas, sigue estos pasos:
serviceusage.services.use
También puedes obtener estos permisos con roles personalizados u otros roles predefinidos.
Permisos de Google Workspace necesarios
Si quieres ver si una cuenta principal tiene determinados roles o permisos como resultado de su pertenencia a un grupo de Google Workspace, necesitas el permiso de groups.read
Google Workspace. Este permiso se incluye en el rol Administrador de lector de grupos y en roles más potentes, como los de administrador de grupos o superadministrador. Consulta más información en el artículo Asignar roles de administrador específicos.
Analizar políticas y exportar resultados
El método
AnalyzeIamPolicyLongrunning
te permite enviar una solicitud de análisis y obtener los resultados en el segmento de Cloud Storage especificado.
gcloud
Antes de usar los datos de los comandos que se indican a continuación, haz los siguientes cambios:
RESOURCE_TYPE
: el tipo de recurso al que quieres acotar la búsqueda. Solo se analizarán las políticas de permiso de gestión de identidades y accesos asociadas a este recurso y a sus descendientes. Usa el valorproject
,folder
oorganization
.RESOURCE_ID
: el ID delGoogle Cloud proyecto, la carpeta o la organización en los que quieres acotar la búsqueda. Solo se analizarán las políticas de permiso de gestión de identidades y accesos asociadas a este recurso y a sus descendientes. Los IDs de proyecto son cadenas alfanuméricas, comomy-project
. Los IDs de carpetas y organizaciones son numéricos, como123456789012
.PRINCIPAL
: la entidad de seguridad principal cuyo acceso quieres analizar, con el formatoPRINCIPAL_TYPE:ID
. Por ejemplo,user:my-user@example.com
. Para ver una lista completa de los tipos de principales, consulta Identificadores de principales.PERMISSIONS
: una lista separada por comas de los permisos que quieres comprobar. Por ejemplo,compute.instances.get,compute.instances.start
. Si incluyes varios permisos, Analizador de políticas comprobará si se ha concedido alguno de ellos.STORAGE_OBJECT_URI
: el identificador de recurso único del objeto de Cloud Storage al que quieres exportar los resultados del análisis, con el formatogs://BUCKET_NAME/OBJECT_NAME
. Por ejemplo,gs://my-bucket/analysis.json
.
Ejecuta el comando gcloud asset analyze-iam-policy-longrunning:
Linux, macOS o Cloud Shell
gcloud asset analyze-iam-policy-longrunning --RESOURCE_TYPE=RESOURCE_ID \ --full-resource-name=FULL_RESOURCE_NAME \ --identity=PRINCIPAL \ --permissions='PERMISSIONS' \ --gcs-output-path=STORAGE_OBJECT_URI
Windows (PowerShell)
gcloud asset analyze-iam-policy-longrunning --RESOURCE_TYPE=RESOURCE_ID ` --full-resource-name=FULL_RESOURCE_NAME ` --identity=PRINCIPAL ` --permissions='PERMISSIONS' ` --gcs-output-path=STORAGE_OBJECT_URI
Windows (cmd.exe)
gcloud asset analyze-iam-policy-longrunning --RESOURCE_TYPE=RESOURCE_ID ^ --full-resource-name=FULL_RESOURCE_NAME ^ --identity=PRINCIPAL ^ --permissions='PERMISSIONS' ^ --gcs-output-path=STORAGE_OBJECT_URI
Deberías recibir una respuesta similar a la siguiente:
Analyze IAM Policy in progress. Use [gcloud asset operations describe projects/my-project/operations/AnalyzeIamPolicyLongrunning/1195028485971902504711950280359719028666] to check the status of the operation.
REST
Para analizar una política de permisos de IAM y exportar los resultados a Cloud Storage, usa el método analyzeIamPolicyLongrunning
de la API Cloud Asset Inventory.
Antes de usar los datos de la solicitud, haz las siguientes sustituciones:
RESOURCE_TYPE
: el tipo de recurso al que quieres acotar la búsqueda. Solo se analizarán las políticas de permiso de gestión de identidades y accesos asociadas a este recurso y a sus descendientes. Usa el valorprojects
,folders
oorganizations
.RESOURCE_ID
: el ID delGoogle Cloud proyecto, la carpeta o la organización en los que quieres acotar la búsqueda. Solo se analizarán las políticas de permiso de gestión de identidades y accesos asociadas a este recurso y a sus descendientes. Los IDs de proyecto son cadenas alfanuméricas, comomy-project
. Los IDs de carpetas y organizaciones son numéricos, como123456789012
.-
FULL_RESOURCE_NAME
: opcional. Nombre de recurso completo del recurso del que quieres analizar el acceso. Para ver una lista de los formatos de nombre de recurso completo, consulta Formato de nombre de recurso. PRINCIPAL
: opcional. La principal cuyo acceso quiere analizar, con el formatoPRINCIPAL_TYPE:ID
, por ejemplo,user:my-user@example.com
. Para ver una lista completa de los tipos de principales, consulta Identificadores de principales.PERMISSION_1
,PERMISSION_2
...PERMISSION_N
: opcional. Los permisos que quieres comprobar (por ejemplo,compute.instances.get
). Si incluye varios permisos, Analizador de políticas comprobará si se ha concedido alguno de ellos.STORAGE_OBJECT_URI
: el identificador de recurso único del objeto de Cloud Storage al que quieres exportar los resultados del análisis, con el formatogs://BUCKET_NAME/OBJECT_NAME
. Por ejemplo,gs://my-bucket/analysis.json
.
Método HTTP y URL:
POST https://cloudasset.googleapis.com/v1/RESOURCE_TYPE/RESOURCE_ID:analyzeIamPolicyLongrunning
Cuerpo JSON de la solicitud:
{ "analysisQuery": { "resourceSelector": { "fullResourceName": "FULL_RESOURCE_NAME" }, "identitySelector": { "identity": "PRINCIPAL" }, "accessSelector": { "permissions": [ "PERMISSION_1", "PERMISSION_2", "PERMISSION_N" ] }, "outputConfig": { "gcsDestination": { "uri": "STORAGE_OBJECT_URI" } } } }
Para enviar tu solicitud, despliega una de estas opciones:
Deberías recibir una respuesta JSON similar a la siguiente:
{ "name": "projects/my-project/operations/AnalyzeIamPolicyLongrunning/1206385342502762515812063858425027606003", "metadata": { "@type": "type.googleapis.com/google.cloud.asset.v1.AnalyzeIamPolicyLongrunningMetadata", "createTime": "2022-04-12T21:31:10.753173929Z" } }
Ver los resultados del análisis de la política de gestión de identidades y accesos
Para ver los resultados del análisis de la política de gestión de identidades y accesos, sigue estos pasos:
En la Google Cloud consola, ve a la página Buckets.
Abre el nuevo archivo en el que has escrito el análisis.
Los resultados muestran tuplas de {identity, role(s)/permission(s), resource}
junto con las políticas de gestión de identidades y accesos que generan esas tuplas.