El Analizador de políticas te permite descubrir qué principales (por ejemplo, usuarios, cuentas cuentas, grupos y dominios) tienen qué tipo de acceso a qué recursos de Google Cloud según tus políticas de permisos de IAM.
El Analizador de políticas puede ayudarte a responder las siguientes preguntas:
- ¿Quién puede acceder a esta cuenta de servicio de IAM?
- Quién puede leer datos en este conjunto de datos de BigQuery que contiene datos personales información de identificación personal (PII)?
- ¿Qué roles y permisos tiene el grupo
dev-testers
para los recursos de este proyecto? - ¿Qué instancias de máquina virtual (VM) de Compute Engine puede borrar Tal en el proyecto? ¿A?
- ¿Quién puede acceder a este bucket de Cloud Storage a las 7 p.m.?
Cómo funciona el Analizador de políticas
Para usar el Analizador de políticas, crea una consulta de análisis, especifica un alcance para el el análisis y, luego, ejecuta la consulta.
Consultas de análisis
Para usar el analizador de políticas, debes crear una consulta de análisis en la que especifiques uno o más de los siguientes campos:
- Principales: las identidades (por ejemplo, usuarios, cuentas de servicio, grupos, y dominios) cuyo acceso quieras comprobar
- Acceso: Son los permisos y roles que deseas verificar.
- Recursos: Son los recursos a los que quieres verificar el acceso.
- (Solo API) Contexto de la condición: el contexto, por ejemplo, la hora del día, en los que quieres verificar el acceso
Por lo general, se especifican uno o dos de estos campos en la consulta de análisis y, luego, usa los resultados de la consulta para obtener más información sobre los campos que especificar. Por ejemplo, si quisieras saber quién tiene cierto permiso sobre un determinado recurso, debes especificar el acceso y el recurso en el análisis consulta, pero no especificarías la principal.
Para obtener más ejemplos de los tipos de consultas que puedes crear, lee el artículo Consulta común de la API de Google Ads.
Alcance del análisis
Para ejecutar una consulta de análisis, necesitas especificar un alcance para analizar. El permiso es una organización, una carpeta o un proyecto que desees restringir tu análisis. Solo las políticas de permiso de IAM se analizarán el recurso usado como alcance y sus elementos subordinados.
En la API de REST y la CLI de gcloud, especificas el permiso de forma manual. En la consola de Google Cloud, el permiso se determina automáticamente según el proyecto, organización o carpeta que estés administrando actualmente.
Después de crear una consulta de análisis y especificar el alcance, puedes ejecutar el consulta para analizar las políticas de ese permiso.
Resultados de la consulta
Cuando ejecutas una consulta de análisis, el Analizador de políticas informa las vinculaciones de roles que contienen los principales, el acceso y los recursos que especificaste en la consulta. Para cada vinculación de rol, informa las principales en la vinculación, el acceso (rol y permisos) que otorga la vinculación el recurso al que la vinculación otorga acceso.
Puedes revisar estos resultados para comprender mejor el acceso en tu proyecto, carpeta o organización. Por ejemplo, si ejecutas una consulta para averiguar cuál principales tienen acceso a un recurso específico, revisarías las principales en los resultados de la consulta.
Para ajustar la información de los resultados de tu consulta, habilita la opción query de la aplicación.
Tipos de políticas admitidas
El Analizador de políticas de IAM solo admite las funciones políticas.
El Analizador de políticas no admite las siguientes formas de control de acceso:
- Políticas de denegación de IAM
- Control de acceso basado en roles de Google Kubernetes Engine
- Listas de control de acceso de Cloud Storage
- Prevención del acceso público a Cloud Storage
Los resultados de la consulta del Analizador de políticas no tienen en cuenta los tipos de políticas no compatibles. Para
Por ejemplo, imagina que un usuario tiene el permiso iam.roles.get
en un proyecto
debido a una política de permiso, pero una de denegación les impide usar
permiso. El Analizador de políticas informará que tienen el iam.roles.get
permiso, a pesar de la política de denegación.
Herencia de políticas
Para tener en cuenta la herencia de políticas, el Analizador de políticas analiza automáticamente todas las políticas de permiso relevantes dentro del alcance especificado, independientemente de dónde se encuentren en la jerarquía de recursos.
Por ejemplo, imagina que estás tratando de averiguar quién puede acceder a un Cuenta de servicio de IAM:
- Si asignas el alcance de la consulta a un proyecto, el Analizador de políticas analiza la política de permisos de la cuenta de servicio y la del proyecto.
- Si limitas la consulta a una organización, el Analizador de políticas analiza la política de permisos de la cuenta de servicio, la política de permisos del proyecto al que pertenece la cuenta de servicio, las políticas de permisos de las carpetas que contienen el proyecto y la política de permisos de la organización.
Acceso condicional
Si una vinculación de rol tiene una condición, solo otorga una principal. el acceso cuando se cumple esa condición. El Analizador de políticas siempre informa las condiciones que se adjuntan a las vinculaciones de roles relevantes. Las vinculaciones de roles relevantes son vinculaciones que contienen las principales, los accesos y los recursos que especificaste en la consulta de análisis.
En algunos casos, Policy Analyzer también puede analizar la condición, lo que significa que puede informar si se cumpliría. El Analizador de políticas puede analizar los siguientes tipos de condiciones:
- Condiciones basadas en atributos de recursos, Para los tipos de recursos que proporcionan un nombre de recurso.
- Condiciones de fecha y hora (API y gcloud CLI
solo). Para que el Analizador de políticas analice estas condiciones, debes proporcionar
la hora del acceso (
accessTime
) en tu consulta de análisis. Para aprender a hacer lo siguiente: proporcionar este contexto, consulta Determinar el acceso en un tiempo.
Si una vinculación de rol relevante contiene una condición, el Analizador de políticas realiza una de las siguientes acciones: lo siguiente:
Si el Analizador de políticas puede analizar la condición, realiza una de las siguientes acciones:
- Si la condición se evalúa como verdadera, el Analizador de políticas incluye el rol
en los resultados de la consulta y marca la evaluación de la condición como
TRUE
- Si la condición se evalúa como falsa, el Analizador de políticas no incluye en los resultados de la consulta.
- Si la condición se evalúa como verdadera, el Analizador de políticas incluye el rol
en los resultados de la consulta y marca la evaluación de la condición como
Si el Analizador de políticas no puede analizar una condición para una vinculación de rol relevante, Incluye el rol en los resultados de la consulta y marca la evaluación de la condición. como
CONDITIONAL
.
Actualidad de los datos
El Analizador de políticas usa la API de Cloud Asset, que ofrece la mejor actualización de datos posible. Si bien casi todas las actualizaciones de políticas aparecen en el Analizador de políticas en minutos, es posible que el Analizador de políticas no incluya las actualizaciones de políticas más recientes.
Tipos de consultas comunes
En esta sección, se describe cómo usar las consultas de análisis para responder preguntas comunes preguntas relacionadas con el acceso.
¿Qué principales pueden acceder a este recurso?
Para determinar qué principales pueden acceder a un recurso, crea una consulta de análisis que especifique el recurso y, de manera opcional, los roles y permisos que deseas verificar.
Estas consultas pueden ayudarte a responder preguntas como las siguientes:
- ¿Quién tiene acceso a esta cuenta de servicio de IAM?
- Quién tiene permiso para usar la identidad de este servicio de IAM cuenta?
- ¿Quiénes son los administradores de facturación en el proyecto A?
- (Solo API y gcloud CLI): Quién puede actualizar el proyecto A robando la identidad de una cuenta de servicio?
Si deseas obtener información para crear y enviar estas consultas, visita Determina qué principales puede acceder a un recurso.
¿Qué principales tienen estos roles y permisos?
Para determinar qué principales tienen determinados roles y permisos, crea una consulta de análisis que especifica una principal y un conjunto de roles y permisos que quieres verificar.
Estas consultas pueden ayudarte a responder preguntas como las siguientes:
- ¿Quién tiene permiso para suplantar cuentas de servicio en mi organización?
- ¿Quiénes son los administradores de facturación en mi organización?
- ¿Quién puede leer datos en este conjunto de datos de BigQuery que contiene información de identificación personal (PII)?
- (Solo API y gcloud CLI): ¿Qué miembro de mi organización puede leer un conjunto de datos de BigQuery suplantando la identidad de una cuenta de servicio?
Para obtener información sobre cómo crear y enviar estas consultas, consulta Determina qué principales tienen ciertos roles o permisos.
¿Qué roles y permisos tiene esta principal en este recurso?
Para determinar qué roles y permisos tiene una principal sobre un recurso específico, sigue estos pasos: crear una consulta de análisis en la que se especifique una principal y un recurso en los que quieres verificar los permisos.
Estas consultas pueden ayudarte a responder preguntas como las siguientes:
- Qué roles y permisos tiene el usuario Sasha en esta en un conjunto de datos de BigQuery?
- ¿Qué roles y permisos tiene el grupo
dev-testers
para los recursos de este proyecto? - (Solo API y gcloud CLI): ¿Qué roles y permisos usuario Dana en este conjunto de datos de BigQuery si Dana se haga pasar por una cuenta de servicio?
Para obtener información sobre cómo crear y enviar estas consultas, visita Determinar qué tipo de acceso una principal en un recurso.
¿A qué recursos puede acceder esta principal?
Para determinar a qué recursos puede acceder una principal específica, crea un análisis que especifique una principal y los roles y permisos que quieres verificar.
Estas consultas pueden ayudarte a responder preguntas como las siguientes:
- ¿Qué conjuntos de datos de BigQuery tiene el usuario Mahan? permiso de lectura?
- ¿En qué conjuntos de datos de BigQuery posee datos el grupo
dev-testers
? - ¿Qué VMs puede borrar Tal en el proyecto A?
- (Solo API y gcloud CLI): ¿Qué VMs puede borrar el usuario Juan? suplantando la identidad de una cuenta de servicio?
Para obtener información sobre cómo crear y enviar estas consultas, visita Determinar qué recursos principal tiene acceso.
Consultas de análisis guardadas
Si usas la API de REST, puedes guardar las consultas de análisis para volver a usarlas o compartirlas con otras personas. Puedes ejecutar una consulta guardada como lo harías con cualquier otra consulta.
Para obtener más información sobre cómo guardar consultas, visita Administra consultas guardadas.
Exportar resultados de consultas
Puedes ejecutar consultas de forma asíncrona y exportar los resultados de la consulta a
BigQuery o Cloud Storage con
analyzeIamPolicyLongrunning
Para aprender a exportar resultados de consultas a BigQuery, consulta Escribe el análisis de políticas a BigQuery.
Para aprender a exportar resultados de consultas a Cloud Storage, consulta Escribe análisis de políticas a Cloud Storage.
Opciones de consulta
El Analizador de políticas ofrece varias opciones que agregan más detalles a tu consulta resultados.
Para saber cómo habilitar estas opciones, consulta Habilitar opciones.
Expansión de grupos
Si habilitas la expansión de grupos, los grupos de los resultados de la consulta se expandirán en miembros individuales. Esta expansión tiene un límite 1,000 miembros por grupo. Si tienes permisos de grupo suficientes, también se expandirán los grupos anidados. Esta opción solo es eficaz si no especificas una principal en la consulta.
Por ejemplo, imagina que habilitas la expansión de grupos para la consulta “¿Quién tiene
¿storage.buckets.delete
permiso para project-1
?" Si el Analizador de políticas encuentra
cualquier grupo que tenga el permiso storage.buckets.delete
, los resultados de la consulta
mostrará no solo el identificador del grupo, sino también todos los miembros individuales de la
grupo.
Esta opción te permite comprender las claves de acceso no autorizado, incluso si ese acceso como resultado de su pertenencia a un grupo.
Expansión de la función
Si habilitas la expansión de roles, los resultados de la consulta enumeran todos los permisos dentro de cada rol, además del rol en sí. Esta opción solo está disponible si no especificas ningún permiso o rol en tu consulta.
Por ejemplo, imagina que habilitas la expansión de roles para la consulta “¿Qué hace el acceso?
my-user@example.com
en el bucket bucket-1
?" Si el Analizador de políticas encuentra
cualquier rol que otorgue a my-user@example.com
acceso a bucket-1
, la consulta
En los resultados, no solo se mostrará el nombre del rol, sino también todos los permisos incluidos
en el puesto.
Esta opción te permite ver exactamente qué permisos tienen tus principales.
Expansión de recursos
Si habilitas la expansión de recursos para una consulta del Analizador de políticas, los resultados de la consulta Enumera todos los recursos subordinados relevantes de cualquier recurso superior. recursos (proyectos, carpetas y organizaciones) en los resultados de la consulta. Esta la expansión se limita a 1,000 recursos por recurso superior para las consultas del Analizador de políticas y 100,000 recursos por recurso superior para consultas del Analizador de políticas de larga duración.
Por ejemplo, considera cómo la expansión de recursos afectaría las siguientes consultas:
¿Quién tiene el permiso
storage.buckets.delete
paraproject-1
?Si habilitas la expansión de recursos para esta consulta, la sección de recursos de la los resultados de la consulta enumerarán no solo el proyecto, sino también todos los buckets de almacenamiento. dentro del proyecto.
¿Qué recursos tiene
my-user@example.com
¿El permisocompute.instances.setIamPolicy
está activado?Si habilitas la expansión de recursos para esta consulta y el Analizador de políticas descubre que
my-user@example.com
tiene un rol a nivel de proyecto que contiene ese permiso. la sección de recursos de los resultados de la consulta mostrará no solo el proyecto, sino también también todas las instancias de Compute Engine dentro del proyecto.
Esta opción te permite obtener una comprensión detallada de los recursos que tu principales pueden acceder.
Uso de identidad temporal como cuenta de servicio
Si usas la API de REST o gcloud CLI, puedes habilitar el análisis del robo de identidad de la cuenta de servicio.
Si esta opción está habilitada, el Analizador de políticas ejecuta consultas de análisis adicionales para determinar quién puede robar la identidad de las cuentas de servicio que tienen el acceso especificado a los recursos especificados. El Analizador de políticas ejecuta una consulta por cada cuenta de servicio en los resultados de la consulta. Estas consultas analizan quién tiene los siguientes permisos en la cuenta de servicio:
iam.serviceAccounts.actAs
iam.serviceAccounts.getAccessToken
iam.serviceAccounts.getOpenIdToken
iam.serviceAccounts.implicitDelegation
iam.serviceAccounts.signBlob
iam.serviceAccounts.signJwt
Cuotas y límites
Cloud Asset Inventory aplica la frecuencia de solicitudes entrantes, incluida la política y las solicitudes de análisis basadas en el proyecto del consumidor. Cloud Asset Inventory también limita la expansión de grupos dentro de la pertenencia a un grupo y la expansión de recursos dentro de la jerarquía de recursos.
Para ver las cuotas y los límites predeterminados del Analizador de políticas, consulta Cuotas y límites en la documentación de Cloud Asset Inventory.
Precios
Cada organización puede ejecutar hasta 20 de análisis por día sin cargo. Este límite incluye tanto la política de permisos y el análisis de políticas de la organización.
Si quieres ejecutar más de 20 análisis por día, debes tener una activación a nivel de la organización del plan de Security Command Center. Para obtener más información, consulta Facturación preguntas.
¿Qué sigue?
- Aprender a usar el Analizador de políticas para analizar un recurso política.
- Vea cómo puede usar la API de REST para guardar el análisis de políticas del usuario.