El Analizador de políticas para políticas de permisos te permite descubrir qué principales (por ejemplo, usuarios, cuentas de servicio, grupos y dominios) tienen qué tipo de acceso a cuáles Google Cloud recursos en función de tus políticas de permisos de IAM.
El Analizador de políticas para políticas de permiso puede ayudarte a responder preguntas como las siguientes:
- ¿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 información de identificación personal (PII)?
- ¿Qué roles y permisos tiene el grupo
dev-testerspara 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 las políticas de permiso
Para usar el Analizador de políticas en políticas de permiso, crea una consulta de análisis, especifica un alcance para 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:
- Entidades: Son las identidades (por ejemplo, usuarios, cuentas de servicio, grupos y dominios) cuyo acceso deseas verificar.
- Acceso: Los permisos y roles que deseas verificar
- Recursos: Son los recursos a los que quieres verificar el acceso.
- (Solo para la API) Contexto de la condición: Es el contexto (por ejemplo, la hora del día) en el que deseas verificar el acceso.
Por lo general, especificas uno o dos de estos campos en la consulta de análisis y, luego, usas los resultados de la consulta para obtener más información sobre los campos que no especificaste. Por ejemplo, si quieres saber quién tiene un permiso determinado en un recurso específico, debes especificar el acceso y el recurso en la consulta de análisis, pero no debes especificar la principal.
Para obtener más ejemplos de los tipos de consultas que puedes crear, consulta Tipos de consultas comunes.
Alcance del análisis
Para ejecutar una consulta de análisis, debes especificar un alcance para analizar. El alcance es una organización, una carpeta o un proyecto al que deseas restringir tu análisis. Solo se analizarán las políticas de IAM de permiso adjuntas al recurso que se usa como alcance y a sus descendientes.
En la API de REST y en gcloud CLI, debes especificar el alcance de forma manual. En la consola de Google Cloud , el alcance se determina automáticamente según el proyecto, la carpeta o la organización que administras.
Después de crear una consulta de análisis y especificar el alcance, puedes ejecutar la consulta para analizar las políticas en ese alcance.
Resultados de la consulta
Cuando ejecutas una consulta de análisis, el Analizador de políticas informa cualquier vinculación de roles que contenga las principales, el acceso y los recursos que especificaste en la consulta. Para cada vinculación de rol, se informa sobre las principales en la vinculación, el acceso (rol y permisos) que otorga la vinculación y el recurso al que otorga acceso la vinculación.
Puedes revisar estos resultados para comprender mejor el acceso en tu proyecto, carpeta o organización. Por ejemplo, si ejecutaste una consulta para averiguar qué principales tienen acceso a un recurso específico, revisarías las principales en los resultados de la consulta.
Puedes ajustar la información en los resultados de la búsqueda habilitando las opciones de consulta.
Tipos de políticas admitidas
El Analizador de políticas para políticas de permisos solo admite políticas de permisos de IAM.
El Analizador de políticas para las políticas de permisos no admite las siguientes formas de control de acceso:
- Políticas de rechazo de IAM
- Políticas de Límite de Acceso de las Principales 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 las consultas del Analizador de políticas no tienen en cuenta los tipos de políticas no admitidos. Por ejemplo, imagina que un usuario tiene el permiso iam.roles.get en un proyecto debido a una política de permisos, pero una política de denegación le impide usar el permiso. El Analizador de políticas informará que tiene el permiso iam.roles.get, 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 permisos pertinentes dentro del alcance especificado, independientemente de su ubicación en la jerarquía de recursos.
Por ejemplo, imagina que intentas averiguar quién puede acceder a una cuenta de servicio de IAM:
- Si limitas 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 política de permisos del proyecto.
- Si limitas el alcance de 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 propietario de 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 roles tiene una condición, solo otorga acceso a una principal cuando se cumple esa condición. El Analizador de políticas siempre informa las condiciones adjuntas a las vinculaciones de roles pertinentes. Las vinculaciones de roles relevantes son aquellas que contienen las principales, el acceso y los recursos que especificaste en la consulta de análisis.
En algunos casos, el Analizador de políticas 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 tipos de recursos que proporcionan un nombre de recurso.
- Condiciones de fecha y hora (solo en la API y gcloud CLI). Para que el Analizador de políticas analice estas condiciones, debes proporcionar la hora del acceso (
accessTime) en tu consulta de análisis. Para obtener más información sobre cómo proporcionar este contexto, consulta Cómo determinar el acceso en un momento específico.
Si una vinculación de rol pertinente contiene una condición, el Analizador de políticas realiza una de las siguientes acciones:
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 la vinculación del 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 el rol en los resultados de la búsqueda.
- Si la condición se evalúa como verdadera, el Analizador de políticas incluye la vinculación del 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 pertinente, 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 actualidad de los datos con el mejor esfuerzo. Si bien casi todas las actualizaciones de políticas aparecen en el Analizador de políticas en cuestión de minutos, es posible que el Analizador de políticas no incluya las actualizaciones de políticas más recientes.
Tipos de búsquedas comunes
En esta sección, se describe cómo usar las consultas de análisis para responder preguntas comunes 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 búsquedas pueden ayudarte a responder preguntas como las siguientes:
- ¿Quién tiene acceso a esta cuenta de servicio de IAM?
- ¿Quién tiene permiso para suplantar la identidad de esta cuenta de servicio de IAM?
- ¿Quiénes son los administradores de facturación del proyecto A?
- (Solo para la API y gcloud CLI): ¿Quién puede actualizar el proyecto A si actúa en nombre de una cuenta de servicio?
Para obtener información sobre cómo crear y enviar estas consultas, consulta Determina qué principales pueden acceder a un recurso.
¿Qué principales tienen estos roles y permisos?
Para determinar qué principales tienen ciertos roles y permisos, crea una consulta de análisis que especifique una principal y un conjunto de roles y permisos que deseas verificar.
Estas búsquedas pueden ayudarte a responder preguntas como las siguientes:
- ¿Quién tiene permiso para actuar en nombre de las cuentas de servicio de 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 para la API y la gcloud CLI): ¿Quién de mi organización puede leer un conjunto de datos de BigQuery si usa 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 este principal en este recurso?
Para determinar qué roles y permisos tiene una principal en un recurso específico, crea una consulta de análisis que especifique una principal y un recurso para el que deseas verificar los permisos.
Estas búsquedas pueden ayudarte a responder preguntas como las siguientes:
- ¿Qué roles y permisos tiene el usuario Sasha en este conjunto de datos de BigQuery?
- ¿Qué roles y permisos tiene el grupo
dev-testerspara los recursos de este proyecto? - (Solo para la API y la gcloud CLI): ¿Qué roles y permisos tiene el usuario Dana en este conjunto de datos de BigQuery si Dana usa la identidad de una cuenta de servicio?
Para obtener información sobre cómo crear y enviar estas consultas, consulta Determina qué acceso tiene una principal a un recurso.
¿A qué recursos puede acceder esta principal?
Para determinar a qué recursos puede acceder una principal específica, crea una consulta de análisis que especifique una principal y los roles y permisos que deseas verificar.
Estas búsquedas pueden ayudarte a responder preguntas como las siguientes:
- ¿En qué conjuntos de datos de BigQuery el usuario Mahan tiene permiso para leer?
- ¿En qué conjuntos de datos de BigQuery posee datos el grupo
dev-testers? - ¿Qué VMs puede borrar Tal en el proyecto A?
- (Solo para la API y gcloud CLI): ¿Qué VMs puede borrar el usuario John si actúa en nombre de una cuenta de servicio?
Para obtener información sobre cómo crear y enviar estas consultas, consulta Cómo determinar a qué recursos puede acceder una principal.
Consultas de análisis guardadas
Si usas la API de REST, puedes guardar consultas de análisis para reutilizarlas o compartirlas con otras personas. Puedes ejecutar una consulta guardada de la misma manera que ejecutarías cualquier otra consulta.
Para obtener más información sobre cómo guardar consultas, consulta Cómo administrar consultas guardadas.
Exportar resultados de consultas
Puedes ejecutar consultas de forma asíncrona y exportar los resultados a BigQuery o Cloud Storage con analyzeIamPolicyLongrunning.
Para obtener información sobre cómo exportar los resultados de las consultas a BigQuery, consulta Escribe análisis de políticas en BigQuery.
Si quieres obtener información para exportar resultados de consultas a Cloud Storage, consulta Cómo escribir análisis de políticas en Cloud Storage.
Opciones de consulta
El Analizador de políticas ofrece varias opciones que agregan más detalles a los resultados de tu búsqueda.
Para obtener información sobre cómo habilitar estas opciones, consulta Habilita opciones.
Expansión del grupo
Si habilitas la expansión de grupos, todos los grupos en los resultados de la búsqueda se expandirán en miembros individuales. Esta expansión tiene un límite de 1,000 miembros por grupo. Si tienes suficientes permisos de grupo, también se expandirán los grupos anidados. Esta opción solo es efectiva si no especificas una principal en tu búsqueda.
Por ejemplo, imagina que habilitas la expansión de grupos para la búsqueda "¿Quién tiene el permiso de storage.buckets.delete para project-1?". Si el Analizador de políticas encuentra grupos que tienen el permiso de storage.buckets.delete, los resultados de la búsqueda mostrarán no solo el identificador del grupo, sino también todos los miembros individuales del grupo.
Esta opción te permite comprender el acceso de los usuarios individuales, incluso si ese acceso es el resultado de su membresía en un grupo.
Expansión del rol
Si habilitas la expansión de roles, la lista de resultados de la búsqueda mostrará 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 búsqueda.
Por ejemplo, imagina que habilitas la expansión de roles para la búsqueda "¿Qué acceso tiene my-user@example.com al bucket bucket-1?". Si el Analizador de políticas encuentra roles que le otorgan acceso a my-user@example.com a bucket-1, los resultados de la búsqueda no solo mostrarán el nombre del rol, sino también todos los permisos incluidos en él.
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, la lista de resultados de la consulta incluirá todos los recursos descendientes pertinentes para cualquier recurso superior (proyectos, carpetas y organizaciones) en los resultados de la consulta. Esta expansión se limita a 1,000 recursos por recurso principal para las consultas del Analizador de políticas y a 100,000 recursos por recurso principal para las consultas de larga duración del Analizador de políticas.
Por ejemplo, considera cómo la expansión de recursos afectaría las siguientes consultas:
¿Quién tiene permiso de
storage.buckets.deleteparaproject-1?Si habilitas la expansión de recursos para esta búsqueda, en la sección de recursos de los resultados de la búsqueda, se mostrará no solo el proyecto, sino también todos los buckets de almacenamiento dentro del proyecto.
¿En qué recursos tiene
my-user@example.comel permisocompute.instances.setIamPolicy?Si habilitas la expansión de recursos para esta consulta y el Analizador de políticas detecta que
my-user@example.comtiene un rol a nivel del proyecto que contiene ese permiso, en la sección de recursos de los resultados de la consulta, se enumerará no solo el proyecto, sino también todas las instancias de Compute Engine dentro del proyecto.
Esta opción te permite obtener una comprensión detallada de los recursos a los que pueden acceder tus principales.
Identidad temporal como cuenta de servicio
Si usas la API de REST o gcloud CLI, puedes habilitar el análisis de la suplantación 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 suplantar las cuentas de servicio que tienen el acceso especificado a los recursos especificados. El Analizador de políticas ejecuta una consulta para cada cuenta de servicio en los resultados de la consulta. Estas consultas analizan quién tiene alguno de los siguientes permisos en la cuenta de servicio:
iam.serviceAccounts.actAsiam.serviceAccounts.getAccessTokeniam.serviceAccounts.getOpenIdTokeniam.serviceAccounts.implicitDelegationiam.serviceAccounts.signBlobiam.serviceAccounts.signJwt
Cuotas y límites
Cloud Asset Inventory aplica la frecuencia de solicitudes entrantes, incluidas las solicitudes de análisis de políticas, en función del proyecto de consumidor. Cloud Asset Inventory también limita la expansión de grupos dentro de las membresías de grupos 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 consultas de análisis por día sin cargo. Este límite incluye el análisis de políticas de permiso y el análisis de políticas de la organización.
Si deseas ejecutar más de 20 consultas de análisis por día, debes tener una activación a nivel de la organización del nivel Premium o Enterprise de Security Command Center. Para obtener más información, consulta Preguntas sobre facturación.
¿Qué sigue?
- Obtén información para usar el Analizador de políticas y analizar una política de permiso.
- Consulta cómo puedes usar la API de REST para guardar consultas de Análisis de políticas.