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
Enable the Cloud Asset API.
Debes habilitar la API en el proyecto o la organización que usarás para enviar la para cada búsqueda. No tiene que ser el mismo recurso al que defines tu consulta.
Funciones y permisos requeridos
Se requieren los siguientes roles y permisos para ejecutar un análisis y una exportación de políticas los resultados a Cloud Storage.
Roles de IAM obligatorios
A fin de obtener los permisos que necesitas para analizar una política y exportar los resultados a BigQuery solicita a tu administrador que te otorgue el los siguientes roles de IAM en el proyecto, la carpeta o la organización que permitirás tu consulta a:
-
Visualizador de recursos de Cloud (
roles/cloudasset.viewer
) -
Creador de objetos de Storage (
roles/storage.objectCreator
) -
Para analizar políticas con funciones de IAM personalizadas, haz lo siguiente:
Visualizador de roles (
roles/iam.roleViewer
) -
Si quieres usar Google Cloud CLI para analizar políticas, sigue estos pasos:
Consumidor de Service Usage (
roles/serviceusage.serviceUsageConsumer
)
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 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, sigue estos pasos:
iam.roles.get
-
Para usar Google Cloud CLI y analizar políticas, haz lo siguiente:
serviceusage.services.use
También puedes obtener estos permisos con roles personalizados o con otros roles predefinidos.
Permisos necesarios de Google Workspace
Si quieres ver si una principal tiene ciertos roles o permisos como resultado
de su membresía en un grupo de Google Workspace, necesitas la groups.read
permiso de Google Workspace. Este permiso se incluye en el rol de administrador de lectores de grupos y en roles más potentes, como los roles de administrador de grupos o administrador avanzado. Consulta Asigna roles de administrador específicos 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. del recurso al que quieres definir el alcance de tu búsqueda. Solo políticas de permisos de IAM adjuntos a este recurso y a sus elementos subordinados. Usa el valorproject
,folder
oorganization
.RESOURCE_ID
: Es el ID del El proyecto, la carpeta o la organización de Google Cloud al que quieres definir el alcance de la búsqueda. Solo Se analizarán las políticas de permisos de IAM adjuntas a este recurso y a sus elementos subordinados. Los ID de proyecto son strings alfanuméricas, comomy-project
. Los ID de carpeta y organización son numéricos, como123456789012
.PRINCIPAL
: La principal de datos que quieres analizar, de la formaPRINCIPAL_TYPE:ID
, por ejemplo,user:my-user@example.com
Para obtener una lista completa de los tipos de principales, consulta Identificadores de principal.PERMISSIONS
: A una lista separada por comas de los permisos que deseas verificar, por ejemplo,compute.instances.get,compute.instances.start
Si incluyes varias permisos, el Analizador de políticas verificará cualquiera de los permisos enumerados.STORAGE_OBJECT_URI
: Es el recurso único. identificador del objeto de Cloud Storage al que quieres exportar los resultados de su análisis, en el formulariogs://BUCKET_NAME/OBJECT_NAME
, por ejemplo,gs://my-bucket/analysis.json
Ejecuta el 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 las APIs de Cloud Asset Inventory
analyzeIamPolicyLongrunning
.
Antes de usar cualquiera de los datos de solicitud a continuación, realiza los siguientes reemplazos:
RESOURCE_TYPE
: Es el tipo. del recurso al que quieres definir el alcance de tu búsqueda. Solo políticas de permisos de IAM adjuntos a este recurso y a sus elementos subordinados. Usa el valorprojects
,folders
oorganizations
.RESOURCE_ID
: El ID del proyecto, la carpeta o la organización de Google Cloud para el que deseas acotar la búsqueda. Solo Se analizarán las políticas de permisos de IAM adjuntas a este recurso y a sus elementos 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 que en las que quieres analizar el acceso. Para obtener una lista de los formatos de nombre de recurso completos, consulta Formato de nombre de recurso. PRINCIPAL
: Opcional El 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 de principales, consulta Identificadores principales.PERMISSION_1
,PERMISSION_2
...PERMISSION_N
: Opcional. El permisos que deseas verificar, por ejemplo,compute.instances.get
. Si enumeras varios permisos, Policy Analyzer verificará cualquiera de ellos.STORAGE_OBJECT_URI
: Es el recurso único. identificador del objeto de Cloud Storage al que quieres exportar los resultados de su análisis, en el formulariogs://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" } }
Visualiza los resultados del análisis de las 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.