En esta página, se explica cómo analizar las políticas Identity and Access Management (IAM) de forma asíncrona y escribir resultados en Cloud Storage. En general, la funcionalidad es equivalente a analizar políticas de IAM, excepto que el resultado del análisis se escribe en un depósito de Cloud Storage.
Antes de comenzar
Habilita Cloud Asset API.
Debes habilitar la API en la organización o el proyecto que usarás para enviar la consulta. No es necesario que sea el mismo recurso al que apliques tu consulta.
Funciones y permisos requeridos
Se requieren las siguientes funciones y permisos para ejecutar un análisis de políticas y exportar los resultados a Cloud Storage.
Roles de IAM obligatorios
Para obtener los permisos que necesitas a fin de analizar una política y exportar los resultados a BigQuery, pídele al administrador que te otorgue los siguientes roles de IAM en el proyecto, la carpeta o la organización que definirás en tu consulta:
-
Visualizador de recursos de Cloud (
roles/cloudasset.viewer
) -
Creador de objetos de almacenamiento (
roles/storage.objectCreator
) -
Para analizar políticas con roles de IAM personalizados, haz lo siguiente:
Visualizador de funciones (
roles/iam.roleViewer
) -
Para usar Google Cloud CLI a fin de analizar políticas, haz lo siguiente:
Consumidor de Service Usage (
roles/serviceusage.serviceUsageConsumer
)
Si quieres obtener más información para otorgar roles, consulta Administra el acceso.
Estas funciones predefinidas contienen los permisos necesarios para analizar una política y exportar los resultados a BigQuery. Para ver los permisos exactos que son necesarios, expande la sección Permisos requeridos:
Permisos necesarios
Se requieren los siguientes permisos para analizar una política y exportar los resultados a BigQuery:
-
cloudasset.assets.analyzeIamPolicy
-
cloudasset.assets.searchAllResources
-
cloudasset.assets.searchAllIamPolicies
-
storage.objects.create
-
Para analizar políticas con roles de IAM personalizados, haz lo siguiente:
iam.roles.get
-
Para usar Google Cloud CLI a fin de analizar políticas, haz lo siguiente:
serviceusage.services.use
Es posible que también puedas obtener estos permisos con funciones personalizadas o con otras funciones predefinidas.
Permisos obligatorios de Google Workspace
Si deseas ver si una principal tiene ciertos roles o permisos como resultado
de su membresía en un grupo de Google Workspace, necesitas el permiso groups.read
de Google Workspace. Este permiso se encuentra en los roles de Administrador de grupos de lector y en roles más potentes, como los roles Administrador de grupos o Administrador avanzado. Consulta Asigna funciones de administrador específicas para obtener más información.
Analiza las políticas y exporta los resultados
El método
AnalyzeIamPolicyLongrunning
te permite emitir una solicitud de análisis y obtener resultados en el bucket de Cloud Storage especificado.
gcloud
Antes de usar cualquiera de los datos de comando a continuación, realiza los siguientes reemplazos:
RESOURCE_TYPE
: Es el tipo de recurso en el que deseas definir el alcance de la búsqueda. Solo se analizarán las políticas de IAM permitidas a este recurso y a sus subordinadas. Usa el valorproject
,folder
oorganization
.RESOURCE_ID
: El ID del proyecto, la carpeta o la organización de Google Cloud en el que deseas definir el alcance de la búsqueda. Solo se analizarán las políticas de IAM permitidas a este recurso y a sus subordinados. Los ID de proyecto son strings alfanuméricas, comomy-project
. Los ID de carpeta y organización son numéricos, como123456789012
.PRINCIPAL
: Es la principal cuyo acceso deseas analizar en el formatoPRINCIPAL_TYPE:ID
, por ejemplo,user:my-user@example.com
. Para obtener una lista completa de los tipos principales, consulta Identificadores principales.PERMISSIONS
: Es una lista separada por comas de los permisos que deseas verificar, por ejemplo,compute.instances.get,compute.instances.start
. Si enumeras varios permisos, el Analizador de políticas verificará todos los permisos que se indican.STORAGE_OBJECT_URI
: El identificador de recurso único del objeto de Cloud Storage al que deseas exportar los resultados del análisis, en 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 que figura a continuación:
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 de Cloud Asset Inventory.
Antes de usar cualquiera de los datos de solicitud a continuación, realiza los siguientes reemplazos:
RESOURCE_TYPE
: Es el tipo de recurso en el que deseas definir el alcance de la búsqueda. Solo se analizarán las políticas de IAM permitidas a este recurso y a sus subordinadas. Usa el valorprojects
,folders
oorganizations
.RESOURCE_ID
: El ID del proyecto, la carpeta o la organización de Google Cloud en el que deseas definir el alcance de la búsqueda. Solo se analizarán las políticas de IAM permitidas a este recurso y a sus subordinados. Los ID de proyecto son strings alfanuméricas, comomy-project
. Los ID de carpeta y organización son numéricos, como123456789012
.-
FULL_RESOURCE_NAME
: Opcional El nombre completo del recurso para el que deseas analizar el acceso. Para obtener una lista de los formatos de nombres de recursos completos, consulta Formato del nombre de los recursos. PRINCIPAL
: Opcional La principal cuyo acceso quieres analizar, en el formatoPRINCIPAL_TYPE:ID
, por ejemplo,user:my-user@example.com
. Para obtener una lista completa de los tipos principales, consulta Identificadores principales.PERMISSION_1
,PERMISSION_2
...PERMISSION_N
: Opcional. Los permisos que deseas verificar, por ejemplo,compute.instances.get
Si enumeras varios permisos, el Analizador de políticas verificará cualquiera de los que se mencionan.STORAGE_OBJECT_URI
: El identificador de recurso único del objeto de Cloud Storage al que deseas exportar los resultados del análisis, en 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, expande una de estas opciones:
Deberías recibir una respuesta JSON similar a la que se muestra a continuación:
{ "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 resultados de análisis de políticas de IAM
Para ver los resultados del análisis de las políticas de IAM, sigue estos pasos:
En la consola de Google Cloud, ve a la página Buckets.
Abre el archivo nuevo al que exportaste tu análisis.
Los resultados muestran las tuplas de {identity, role(s)/permission(s), resource}
junto con las políticas de IAM que generan esas tuplas.