Esta página contiene información sobre el análisis de la configuración de las políticas de tu organización para ver qué recursos están cubiertos por cada política de la organización. Con el Analizador de políticas para las políticas de la organización, puedes crear una consulta de análisis a fin de obtener información sobre políticas de la organización personalizadas y predefinidas.
Una consulta de análisis consta de un alcance y una restricción.
- Restricción: Especifica el nombre del recurso de una restricción.
- Alcance: Especifica una organización para determinar el alcance del análisis. Todas las políticas de la organización con la restricción especificada definida en este alcance se incluyen en el análisis.
Para obtener más información sobre las políticas de la organización, consulta Introducción al Servicio de políticas de la organización. Si deseas obtener más información para crear restricciones personalizadas, consulta Crea y administra restricciones personalizadas.
Antes de comenzar
Habilita Cloud Asset API.
Debes habilitar la API en el proyecto o la organización que usarás para enviar la consulta. Este no tiene que ser el mismo recurso al que determinas el alcance de tu consulta.
Opcional: Si deseas ejecutar más de 20 consultas de análisis de políticas por organización al día, asegúrate de tener una activación a nivel de la organización del nivel premium de Security Command Center. Para obtener más información, consulta Preguntas sobre la facturación.
Roles y permisos requeridos
A fin de obtener los permisos que necesitas para ejecutar un análisis de políticas de la organización, pídele a tu administrador que te otorgue los siguientes roles de IAM en el recurso de la organización en el que deseas realizar tu análisis:
-
Para realizar el análisis, sigue estos pasos:
Visualizador de recursos de Cloud (
roles/cloudasset.viewer
) -
Para ver las restricciones personalizadas, haz lo siguiente:
Visualizador de políticas de la organización (
roles/orgpolicy.policyViewer
)
Si quieres obtener más información para otorgar roles, consulta Administra el acceso.
Estos roles predefinidos contienen los permisos necesarios para ejecutar un análisis de las políticas de la organización. Para ver los permisos exactos que son necesarios, expande la sección Permisos requeridos:
Permisos necesarios
Se requieren los siguientes permisos para ejecutar un análisis de políticas de la organización:
-
Para realizar el análisis, haz lo siguiente:
-
cloudasset.assets.analyzeOrgPolicy
-
cloudasset.assets.searchAllResources
-
cloudasset.assets.searchAllIamPolicies
-
-
Para ver las restricciones personalizadas, usa lo siguiente:
orgpolicy.customConstraints.get
Es posible que también puedas obtener estos permisos con funciones personalizadas o con otras funciones predefinidas.
Precios y cuota
El Analizador de políticas para la política de la organización a gran escala (más de 20 consultas por organización por día) y las visualizaciones de herencia solo están disponibles para clientes con activaciones de Security Command Center a nivel de la organización.
La cuota del Analizador de políticas para las políticas de la organización se comparte entre todas las herramientas del Analizador de políticas. Para obtener más información, consulta Preguntas sobre la facturación.
Analiza las políticas configuradas
Una política de la organización se compila a partir de una restricción y las condiciones opcionales en las que se aplica esa restricción. Puedes usar el Analizador de políticas para mostrar una lista de políticas de la organización con una restricción en particular y los recursos a los que se adjuntan esas políticas.
Para cada política de la organización que se detecta en el alcance de la consulta, el Analizador de políticas muestra una entrada de resultado. Una entrada de resultado contiene los siguientes campos:
consolidatedPolicy
: Es el recurso al que está vinculada la política de la organización y la aplicación efectiva de la política en ese recurso con respecto a las reglas de evaluación de jerarquía.project
: Es el ID del recurso del proyecto al que pertenece esta política consolidada.folders
: Es el ID de cualquier recurso de carpeta que sea principal del recurso al que se adjunta la política de la organización.organization
: Es el ID del recurso de la organización que es el principal del recurso al que se adjunta la política de la organización.policyBundle
: Es la política de la organización completamente configurada que se adjunta al recurso anterior y las políticas de la organización definidas en sus principales en la jerarquía de recursos.
Console
En la consola de Google Cloud, ve a la página Analizador de políticas.
En la sección Analizar la política de la organización, busca el panel etiquetado ¿Cómo se configuran las políticas de la organización para los recursos de mi organización? y haz clic en Crear consulta en ese panel.
En el cuadro Seleccionar organización de la consulta, selecciona la organización para la que deseas analizar las políticas de la organización.
Selecciona el tipo de restricción que quieres analizar. Para una restricción predefinida, selecciona Restricción integrada. Para una restricción personalizada, selecciona Restricción personalizada.
Ingresa el nombre de la restricción que quieres analizar. El prefijo para el tipo de restricción que estás analizando ya está incluido. Por ejemplo, para la restricción de dominio predefinida, ingresa
iam.allowedPolicyMemberDomains
y, para una restricción personalizada, ingresa su nombre, comodisableGkeAutoUpgrade
.Haz clic en Analizar y, luego, en Ejecutar consulta. En la página del informe, se muestran los parámetros de búsqueda que ingresaste y una tabla de resultados con todos los recursos a los que se aplica esta restricción de forma directa.
Puedes guardar esta consulta para volver a verla más tarde haciendo clic en Copiar URL de consulta. Para ver esta consulta, navega a la URL generada.
Para visualizar la herencia de la restricción que analizaste, selecciona al menos un recurso de la lista y, luego, haz clic en Ver herencia. También puedes ir de inmediato a la vista de visualización cuando creas tu consulta de análisis. Para ello, haz clic en Analizar y, luego, en Visualizar. Consulta Cómo visualizar la herencia para obtener más información.
gcloud
Para obtener un análisis de cómo se aplica una restricción de política de la organización dentro de una organización, usa el comando gcloud asset analyze-org-policies
:
gcloud asset analyze-org-policies \
--constraint=CONSTRAINT_NAME \
--scope=organizations/ORGANIZATION_ID \
--limit=LIMIT_POLICIES \
--filter=FILTER_QUERY
Reemplaza lo siguiente:
CONSTRAINT_NAME: Es el nombre de la restricción de la política de la organización que deseas analizar. Para obtener una lista de las restricciones, consulta Restricciones de las políticas de la organización.
ORGANIZATION_ID: Es el ID del recurso de tu organización. Para obtener más información sobre cómo encontrar el ID de tu organización, consulta la página sobre cómo crear y administrar organizaciones.
LIMIT_POLICIES: Es la cantidad de entradas de resultados que deseas ver. Para ver entradas ilimitadas, ingresa
unlimited
.FILTER_QUERY: Es una consulta de filtro para ver solo las políticas que coincidan con tu expresión de filtrado. El único campo disponible para filtrar es
consolidated_policy.attached_resource
. Por ejemplo,consolidated_policy.attached_resource="//cloudresourcemanager.googleapis.com/projects/1234567890"
solo mostraría las políticas que se adjuntaron al proyecto con el ID del proyecto1234567890
.
La respuesta de YAML es similar a la siguiente:
Respuesta de YAML de muestra
--- consolidatedPolicy: appliedResource: //cloudresourcemanager.googleapis.com/projects/opa-test-project-1-364621 attachedResource: //cloudresourcemanager.googleapis.com/projects/opa-test-project-1-364621 rules: - enforce: true policyBundle: - appliedResource: //cloudresourcemanager.googleapis.com/projects/opa-test-project-1-364621 attachedResource: //cloudresourcemanager.googleapis.com/projects/opa-test-project-1-364621 reset: true - appliedResource: //cloudresourcemanager.googleapis.com/organizations/474566717491 rules: - enforce: true --- consolidatedPolicy: appliedResource: //cloudresourcemanager.googleapis.com/organizations/474566717491 rules: - enforce: true policyBundle: - appliedResource: //cloudresourcemanager.googleapis.com/organizations/474566717491 rules: - enforce: true
REST
Para obtener un análisis de cómo se aplica una restricción de política de la organización dentro de una organización, usa el método analyzeOrgPolicies
de la API de Cloud Asset.
Método HTTP y URL:
GET https://cloudasset.googleapis.com/v1/organizations/ORGANIZATION_ID:analyzeOrgPolicies
Cuerpo JSON de la solicitud:
JSON_REQUEST="{ 'constraint': 'CONSTRAINT_NAME', 'filter': 'FILTER_QUERY', 'page_size': PAGE_SIZE, 'page_token': PAGE_TOKEN }"
Reemplaza lo siguiente:
ORGANIZATION_ID: Es el ID del recurso de tu organización. Para obtener más información sobre cómo encontrar el ID de tu organización, consulta la página sobre cómo crear y administrar organizaciones.
CONSTRAINT_NAME: Es el nombre de la restricción de la política de la organización que deseas analizar. Para obtener una lista de las restricciones, consulta Restricciones de las políticas de la organización.
FILTER_QUERY: Es una consulta de filtro para ver solo las políticas que coincidan con tu expresión de filtrado. El único campo disponible para filtrar es
consolidated_policy.attached_resource
. Por ejemplo,consolidated_policy.attached_resource="//cloudresourcemanager.googleapis.com/projects/1234567890"
solo mostraría las políticas que se adjuntaron al proyecto con el ID del proyecto1234567890
.PAGE_SIZE: Es la cantidad de entradas de resultados por página que deseas ver. Para ver entradas ilimitadas, ingresa
unlimited
. Una solicitud realizada con este conjunto de marcas muestra un valornextPageToken
si la cantidad total de entradas de resultado es mayor que PAGE_SIZE.PAGE_TOKEN: Solo se configura en solicitudes después de la primera solicitud que incluye la marca
page_size
. Puedes usar los valoresnextPageToken
recibidos de respuestas anteriores para mostrar una determinada página de resultados.
La respuesta JSON es similar a la siguiente:
Respuesta JSON de muestra
{ "orgPolicyResults": [ { "consolidatedPolicy": { "attachedResource": "//cloudresourcemanager.googleapis.com/folders/123456789012", "rules": [ { "values": { "allowedValues": [ "C0265whk2" ] } }, { "values": { "allowedValues": [ "C03kd36xr" ] } } ], "appliedResource": "//cloudresourcemanager.googleapis.com/folders/123456789012" }, "policyBundle": [ { "attachedResource": "//cloudresourcemanager.googleapis.com/folders/123456789012", "rules": [ { "values": { "allowedValues": [ "C03kd36xr" ] } } ], "inheritFromParent": true, "appliedResource": "//cloudresourcemanager.googleapis.com/folders/123456789012" }, { "attachedResource": "//cloudresourcemanager.googleapis.com/folders/234567890123", "rules": [ { "values": { "allowedValues": [ "C0265whk2" ] } } ], "appliedResource": "//cloudresourcemanager.googleapis.com/folders/234567890123" } ] }, { "consolidatedPolicy": { "attachedResource": "//cloudresourcemanager.googleapis.com/folders/234567890123", "rules": [ { "values": { "allowedValues": [ "C0265whk2" ] } } ], "appliedResource": "//cloudresourcemanager.googleapis.com/folders/234567890123" }, "policyBundle": [ { "attachedResource": "//cloudresourcemanager.googleapis.com/folders/234567890123", "rules": [ { "values": { "allowedValues": [ "C0265whk2" ] } } ], "appliedResource": "//cloudresourcemanager.googleapis.com/folders/234567890123" } ] } ] "constraint": { "googleDefinedConstraint": { "name": "constraints/iam.allowedPolicyMemberDomains", "displayName": "Domain restricted sharing", "description": "This list constraint defines one or more Cloud Identity or Google Workspace customer IDs whose principals can be added to IAM policies. \u003cbr\u003eBy default, all user identities are allowed to be added to IAM policies. Only allowed values can be defined in this constraint, denied values are not supported. \u003cbr\u003eIf this constraint is active, only principals that belong to the allowed customer IDs can be added to IAM policies.", "constraintDefault": "ALLOW", "listConstraint": {} } } }
Analiza los contenedores
Un contenedor en este contexto es un proyecto, una carpeta o un recurso de organización. Puedes usar el Analizador de políticas para mostrar una lista de todos los contenedores que tienen políticas de la organización con una restricción en particular aplicada. El Analizador de políticas también muestra el nombre completo de cada contenedor, el elemento superior del contenedor en la jerarquía y las etiquetas heredadas o adjuntas a este.
Para cada contenedor que se detecta en el alcance de la consulta, el Analizador de políticas muestra una entrada de resultado. Una entrada de resultado contiene los siguientes campos:
consolidatedPolicy
: El contenedor al que está vinculada la política de la organización y la aplicación vigente de la política en ese contenedor con respecto a las reglas de evaluación de jerarquía.conditionEvaluation
: Si las condiciones incluidas generan la aplicación de la política de la organización,evaluationValue
esTRUE
. Si las condiciones hacen que no se aplique la política de la organización,evaluationValue
esFALSE
. Si uno o más de los recursos en los que se aplica la política de la organización no admiten la condición, se muestra la condición en sí.effectiveTags
: Todas las etiquetas que el contenedor y los elementos superiores del contenedor en la jerarquía heredan o adjuntan directamente.folders
: Es el ID de cualquier recurso de carpeta que contenga el contenedor al que se adjunta la política de la organización.fullResourceName
: Es el nombre completo del contenedor.organization
: Es el ID del recurso de la organización que es el principal del contenedor al que se adjunta la política de la organización.parent
: Es el nombre completo del recurso del elemento superior de este contenedor.policyBundle
: Es la política de la organización configurada directamente en el contenedor, si existe, y las políticas de la organización definidas en los elementos principales del contenedor en la jerarquía de recursos.project
: Es el ID del contenedor al que está adjunta la política de la organización, si es un recurso del proyecto.
Console
En la consola de Google Cloud, ve a la página Analizador de políticas.
En la sección Analizar la política de la organización, busca el panel etiquetado ¿Qué contenedores tienen aplicada una restricción de la política de la organización? y haz clic en Crear consulta en ese panel.
En el cuadro Seleccionar organización de la consulta, selecciona la organización para la que deseas analizar las políticas de la organización.
Selecciona el tipo de restricción que quieres analizar. Para una restricción predefinida, selecciona Restricción integrada. Para una restricción personalizada, selecciona Restricción personalizada.
Ingresa el nombre de la restricción que quieres analizar. El prefijo para el tipo de restricción que estás analizando ya está incluido. Por ejemplo, para la restricción de dominio predefinida, ingresa
iam.allowedPolicyMemberDomains
y, para una restricción personalizada, ingresa su nombre, comodisableGkeAutoUpgrade
.Haz clic en Ejecutar consulta. En la página del informe, se muestran los parámetros de consulta que ingresaste y una tabla de resultados con todos los contenedores en los que se aplica o hereda esta restricción.
Puedes guardar esta consulta para volver a verla más tarde haciendo clic en Copiar URL de consulta. Para ver esta consulta, navega a la URL generada.
Para visualizar la herencia de la restricción que analizaste, selecciona al menos un contenedor de la lista y, luego, haz clic en Ver herencia. También puedes ir de inmediato a la vista de visualización cuando creas tu consulta de análisis. Para ello, haz clic en Analizar y, luego, en Visualizar. Consulta Cómo visualizar la herencia para obtener más información.
gcloud
Para obtener un análisis de cómo se aplica una restricción de política de la organización en los contenedores dentro de una organización, usa el comando gcloud asset analyze-org-policy-governed-containers
:
gcloud asset analyze-org-policy-governed-containers \
--constraint=CONSTRAINT_NAME \
--scope=organizations/ORGANIZATION_ID \
--limit=LIMIT_CONTAINERS \
--filter=FILTER_QUERY
Reemplaza lo siguiente:
CONSTRAINT_NAME: Es el nombre de la restricción de la política de la organización que deseas analizar. Para obtener una lista de las restricciones, consulta Restricciones de las políticas de la organización.
ORGANIZATION_ID: Es el ID del recurso de tu organización. Para obtener más información sobre cómo encontrar el ID de tu organización, consulta la página sobre cómo crear y administrar organizaciones.
LIMIT_CONTAINERS: Es la cantidad de entradas de resultados que deseas ver. Para ver entradas ilimitadas, ingresa
unlimited
.FILTER_QUERY: Es una consulta de filtro para ver solo los contenedores que coincidan con tu expresión de filtrado. El único campo disponible para filtrar es
parent
. Por ejemplo,parent="//cloudresourcemanager.googleapis.com/organizations/012345678901"
solo mostraría contenedores que fueran elementos secundarios de la organización con el ID012345678901
.
La respuesta de YAML es similar a la siguiente:
Respuesta de YAML de muestra
--- consolidatedPolicy: appliedResource: //cloudresourcemanager.googleapis.com/projects/donghe-project1 attachedResource: //cloudresourcemanager.googleapis.com/projects/donghe-project1 rules: - values: allowedValues: - projects/donghe-project1/zones/us-central1-a/instances/instance-1 fullResourceName: //cloudresourcemanager.googleapis.com/projects/donghe-project1 parent: //cloudresourcemanager.googleapis.com/folders/86513245445 policyBundle: - appliedResource: //cloudresourcemanager.googleapis.com/projects/donghe-project1 attachedResource: //cloudresourcemanager.googleapis.com/projects/donghe-project1 inheritFromParent: true rules: - values: allowedValues: - projects/donghe-project1/zones/us-central1-a/instances/instance-1 --- consolidatedPolicy: appliedResource: //cloudresourcemanager.googleapis.com/projects/jeffreyai-prj01-on-ipa1 attachedResource: //cloudresourcemanager.googleapis.com/projects/jeffreyai-prj01-on-ipa1 rules: - denyAll: true fullResourceName: //cloudresourcemanager.googleapis.com/projects/jeffreyai-prj01-on-ipa1 parent: //cloudresourcemanager.googleapis.com/organizations/474566717491 policyBundle: - appliedResource: //cloudresourcemanager.googleapis.com/projects/jeffreyai-prj01-on-ipa1 attachedResource: //cloudresourcemanager.googleapis.com/projects/jeffreyai-prj01-on-ipa1 inheritFromParent: true rules: - denyAll: true --- consolidatedPolicy: appliedResource: //cloudresourcemanager.googleapis.com/projects/opa-test-project-1-364621 attachedResource: //cloudresourcemanager.googleapis.com/projects/opa-test-project-1-364621 rules: - values: allowedValues: - projects/opa-test-project-1-364621/zones/us-central1-a/instances/instance-1 fullResourceName: //cloudresourcemanager.googleapis.com/projects/opa-test-project-1-364621 parent: //cloudresourcemanager.googleapis.com/folders/666681422980 policyBundle: - appliedResource: //cloudresourcemanager.googleapis.com/projects/opa-test-project-1-364621 attachedResource: //cloudresourcemanager.googleapis.com/projects/opa-test-project-1-364621 rules: - values: allowedValues: - projects/opa-test-project-1-364621/zones/us-central1-a/instances/instance-1
REST
Para obtener un análisis de cómo se aplica una restricción de política de la organización en los contenedores dentro de una organización, usa el método analyzeOrgPolicyGovernedContainers
de la API de Cloud Asset.
Método HTTP y URL:
GET https://cloudasset.googleapis.com/v1/organizations/ORGANIZATION_ID:analyzeOrgPolicyGovernedContainers
Cuerpo JSON de la solicitud:
JSON_REQUEST="{ 'constraint': 'CONSTRAINT_NAME', 'filter': '"FILTER_QUERY"', 'page_size': PAGE_SIZE, 'page_token': PAGE_TOKEN }"
Reemplaza lo siguiente:
ORGANIZATION_ID: Es el ID del recurso de tu organización. Para obtener más información sobre cómo encontrar el ID de tu organización, consulta la página sobre cómo crear y administrar organizaciones.
CONSTRAINT_NAME: Es el nombre de la restricción de la política de la organización que deseas analizar. Para obtener una lista de las restricciones, consulta Restricciones de las políticas de la organización.
FILTER_QUERY: Es una consulta de filtro para ver solo los contenedores que coincidan con tu expresión de filtrado. El único campo disponible para filtrar es
parent
. Por ejemplo,parent="//cloudresourcemanager.googleapis.com/organizations/012345678901"
solo mostraría contenedores que fueran elementos secundarios de la organización con el ID de organización012345678901
.PAGE_SIZE: Es la cantidad de páginas de entradas de resultados que deseas ver. Para ver entradas ilimitadas, ingresa
unlimited
. Una solicitud realizada con este conjunto de marcas muestra un valornextPageToken
si la cantidad total de entradas de resultado es mayor que PAGE_SIZE.PAGE_TOKEN: Solo se configura en solicitudes después de la primera solicitud que incluye la marca
page_size
. Puedes usar los valoresnextPageToken
recibidos de respuestas anteriores para mostrar una determinada página de resultados.
La respuesta JSON es similar a la siguiente:
Respuesta JSON de muestra
{ "governedContainers": [ { "fullResourceName": "//cloudresourcemanager.googleapis.com/projects/opa-test-project-2", "parent": "//cloudresourcemanager.googleapis.com/folders/513502730678", "consolidatedPolicy": { "attachedResource": "//cloudresourcemanager.googleapis.com/folders/513502730678", "rules": [ { "enforce": false } ], "appliedResource": "//cloudresourcemanager.googleapis.com/folders/513502730678" }, "policyBundle": [ { "attachedResource": "//cloudresourcemanager.googleapis.com/folders/513502730678", "rules": [ { "enforce": false } ], "appliedResource": "//cloudresourcemanager.googleapis.com/folders/513502730678" }, { "attachedResource": "//cloudresourcemanager.googleapis.com/folders/666681422980", "rules": [ { "enforce": true } ], "appliedResource": "//cloudresourcemanager.googleapis.com/folders/666681422980" } ] }, { "fullResourceName": "//cloudresourcemanager.googleapis.com/projects/opa-test-project-1", "parent": "//cloudresourcemanager.googleapis.com/folders/513502730678", "consolidatedPolicy": { "attachedResource": "//cloudresourcemanager.googleapis.com/folders/513502730678", "rules": [ { "enforce": false } ], "appliedResource": "//cloudresourcemanager.googleapis.com/folders/513502730678" }, "policyBundle": [ { "attachedResource": "//cloudresourcemanager.googleapis.com/folders/513502730678", "rules": [ { "enforce": false } ], "appliedResource": "//cloudresourcemanager.googleapis.com/folders/513502730678" }, { "attachedResource": "//cloudresourcemanager.googleapis.com/folders/666681422980", "rules": [ { "enforce": true } ], "appliedResource": "//cloudresourcemanager.googleapis.com/folders/666681422980" } ] } ] "constraint": { "googleDefinedConstraint": { "name": "constraints/compute.requireOsLogin", "displayName": "Require OS Login", "description": "This boolean constraint, when set to \u003ccode\u003etrue\u003c/code\u003e, enables OS Login on all newly created Projects. All VM instances created in new projects will have OS Login enabled. On new and existing projects, this constraint prevents metadata updates that disable OS Login at the project or instance level. \u003cbr\u003eBy default, the OS Login feature is disabled on Compute Engine projects.\u003cbr\u003eGKE instances in private clusters running node pool versions 1.20.5-gke.2000 and later support OS Login. GKE instances in public clusters do not currently support OS Login. If this constraint is applied to a Project running public clusters, GKE instances running in that Project may not function properly.", "constraintDefault": "ALLOW", "booleanConstraint": {} } } }
Analiza los recursos
Un recurso en este contexto es un recurso de Google Cloud o una política de permisos de Identity and Access Management (IAM). Puedes usar el Analizador de políticas para mostrar una lista de todos los elementos que tienen políticas de la organización con una restricción en particular aplicada. Se admiten las restricciones personalizadas y las siguientes restricciones predefinidas:
constraints/ainotebooks.accessMode
constraints/ainotebooks.disableFileDownloads
constraints/ainotebooks.disableRootAccess
constraints/ainotebooks.disableTerminal
constraints/ainotebooks.environmentOptions
constraints/ainotebooks.requireAutoUpgradeSchedule
constraints/ainotebooks.restrictVpcNetworks
constraints/compute.disableGuestAttributesAccess
constraints/compute.disableInstanceDataAccessApis
constraints/compute.disableNestedVirtualization
constraints/compute.disableSerialPortAccess
constraints/compute.disableSerialPortLogging
constraints/compute.disableVpcExternalIpv6
constraints/compute.requireOsLogin
constraints/compute.requireShieldedVm
constraints/compute.restrictLoadBalancerCreationForTypes
constraints/compute.restrictProtocolForwardingCreationForTypes
constraints/compute.restrictXpnProjectLienRemoval
constraints/compute.setNewProjectDefaultToZonalDNSOnly
constraints/compute.skipDefaultNetworkCreation
constraints/compute.trustedImageProjects
constraints/compute.vmCanIpForward
constraints/compute.vmExternalIpAccess
constraints/gcp.detailedAuditLoggingMode
constraints/gcp.resourceLocations
constraints/iam.allowedPolicyMemberDomains
constraints/iam.automaticIamGrantsForDefaultServiceAccounts
constraints/iam.disableServiceAccountCreation
constraints/iam.disableServiceAccountKeyCreation
constraints/iam.disableServiceAccountKeyUpload
constraints/iam.restrictCrossProjectServiceAccountLienRemoval
constraints/iam.serviceAccountKeyExpiryHours
constraints/resourcemanager.accessBoundaries
constraints/resourcemanager.allowedExportDestinations
constraints/sql.restrictAuthorizedNetworks
constraints/sql.restrictNoncompliantDiagnosticDataAccess
constraints/sql.restrictNoncompliantResourceCreation
constraints/sql.restrictPublicIp
constraints/storage.publicAccessPrevention
constraints/storage.restrictAuthTypes
constraints/storage.uniformBucketLevelAccess
El Analizador de políticas muestra el nombre completo de cada recurso, su superior en la jerarquía y cualquier recurso principal de proyecto, carpeta y organización que esté por encima del recurso en la jerarquía.
Para cada recurso que se detecta en el alcance de la consulta, el Analizador de políticas muestra una entrada de resultado.
Una entrada de resultado para un recurso contiene los siguientes campos:
consolidatedPolicy
: Es el recurso al que está vinculada la política de la organización y la aplicación efectiva de la política en ese recurso con respecto a las reglas de evaluación de jerarquía.conditionEvaluation
: Si las condiciones incluidas generan la aplicación de la política de la organización,evaluationValue
esTRUE
. Si las condiciones hacen que no se aplique la política de la organización,evaluationValue
esFALSE
. Si uno o más de los recursos en los que se aplica la política de la organización no admiten la condición, se muestra la condición en sí.assetType
: Es el tipo de recurso del recurso.effectiveTags
: Todas las etiquetas que se adjuntan directamente o heredan el recurso al que se adjunta la política de la organización y los elementos superiores del recurso en la jerarquíafolders
: El ID de cualquier recurso de carpeta que contenga el recurso al que se adjunta la política de la organización.fullResourceName
: Es el nombre completo del recurso.organization
: Es el nombre del recurso relativo de la organización que contiene el recurso.parent
: Es el nombre completo del recurso del elemento superior del recurso.project
: El ID del proyecto que contiene el recurso.policyBundle
: Es la política de la organización completamente configurada que se adjunta al recurso anterior y las políticas de la organización definidas en sus principales en la jerarquía de recursos.
Una entrada de resultado de una política de permisos contiene los siguientes campos:
consolidatedPolicy
: Es el recurso al que está vinculada la política de la organización y la aplicación efectiva de la política en ese recurso con respecto a las reglas de evaluación de jerarquía.assetType
: Es el tipo de recurso del recurso al que está adjunta la política de permisos.attachedResource
: Es el nombre completo del recurso al que se adjunta la política de permisos.folders
: Es el nombre del recurso relativo de las carpetas que contienen la política de permisos.organization
: Es el nombre del recurso relativo de la organización que contiene la política de permisos.policy
: Es la política de permisos.project
: Es el nombre del recurso relativo del proyecto que contiene la política de permisos.policyBundle
: Es la política de la organización completamente configurada que se adjunta al recurso anterior y las políticas de la organización definidas en sus principales en la jerarquía de recursos.
Console
En la consola de Google Cloud, ve a la página Analizador de políticas.
En la sección Analizar políticas de la organización, busca el panel etiquetado ¿Qué recursos tienen aplicada una restricción de política de la organización? y haz clic en Crear consulta en ese panel.
En el cuadro Seleccionar organización de la consulta, selecciona la organización para la que deseas analizar las políticas de la organización.
Selecciona el tipo de restricción que quieres analizar. Para una restricción predefinida, selecciona Restricción integrada. Para una restricción personalizada, selecciona Restricción personalizada.
Ingresa el nombre de la restricción que quieres analizar. El prefijo para el tipo de restricción que estás analizando ya está incluido. Por ejemplo, para la restricción de acceso predefinida a nivel de bucket, ingresa
storage.uniformBucketLevelAccess
y, para una restricción personalizada, ingresa su nombre, comodisableGkeAccess
.Haz clic en Ejecutar consulta. En la página del informe, se muestran los parámetros de búsqueda que ingresaste y una tabla de resultados con todos los recursos en los que se aplica o hereda esta restricción.
Puedes guardar esta consulta para volver a verla más tarde haciendo clic en Copiar URL de consulta. Para ver esta consulta, navega a la URL generada.
Para visualizar la herencia de la restricción que analizaste, selecciona al menos un recurso de la lista y, luego, haz clic en Ver herencia. También puedes ir de inmediato a la vista de visualización cuando creas tu consulta de análisis. Para ello, haz clic en Analizar y, luego, en Visualizar. Consulta Cómo visualizar la herencia para obtener más información.
gcloud
Para obtener un análisis de cómo se aplica una restricción de política de la organización a los recursos dentro de una organización, usa el comando gcloud asset analyze-org-policy-governed-assets
:
gcloud asset analyze-org-policy-governed-assets \
--constraint=CONSTRAINT_NAME \
--scope=organizations/ORGANIZATION_ID \
--limit=LIMIT_ASSETS \
--filter=FILTER_QUERY
Reemplaza lo siguiente:
CONSTRAINT_NAME: Es el nombre de la restricción de la política de la organización que deseas analizar. Para obtener una lista de las restricciones, consulta Restricciones de las políticas de la organización.
ORGANIZATION_ID: Es el ID del recurso de tu organización. Para obtener más información sobre cómo encontrar el ID de tu organización, consulta la página sobre cómo crear y administrar organizaciones.
LIMIT_ASSETS: Es la cantidad de entradas de resultados que deseas ver. Para ver entradas ilimitadas, ingresa
unlimited
.FILTER_QUERY: Es una consulta de filtro para ver solo los recursos que coincidan con tu expresión de filtrado. Los campos disponibles para filtrar son
governed_resource.folders
,governed_resource.project
,governed_iam_policy.folders
ygoverned_iam_policy.project
. Por ejemplo,governed_resource.project="projects/1234567890"
solo mostraría los recursos que se adjuntaron al proyecto con el ID del proyecto1234567890
.
La respuesta de YAML es similar a la siguiente:
Respuesta de YAML de muestra
--- consolidatedPolicy: appliedResource: //cloudresourcemanager.googleapis.com/projects/opa-test-project-2 attachedResource: //cloudresourcemanager.googleapis.com/projects/opa-test-project-2 rules: - enforce: false governedResource: folders: - folders/513502730678 - folders/666681422980 fullResourceName: //container.googleapis.com/projects/opa-test-project-2/zones/us-central1-c/clusters/opa-test-project-2-cluster-1/nodePools/default-pool organization: organizations/474566717491 parent: //container.googleapis.com/projects/opa-test-project-2/zones/us-central1-c/clusters/opa-test-project-2-cluster-1 project: projects/892625391619 policyBundle: - appliedResource: //cloudresourcemanager.googleapis.com/projects/opa-test-project-2 attachedResource: //cloudresourcemanager.googleapis.com/projects/opa-test-project-2 reset: true - appliedResource: //cloudresourcemanager.googleapis.com/organizations/474566717491 attachedResource: //cloudresourcemanager.googleapis.com/organizations/474566717491 rules: - enforce: true --- consolidatedPolicy: appliedResource: //cloudresourcemanager.googleapis.com/projects/project2-244918 attachedResource: //cloudresourcemanager.googleapis.com/projects/project2-244918 rules: - enforce: false governedResource: folders: - folders/800636178739 - folders/408342778736 fullResourceName: //container.googleapis.com/projects/project2-244918/zones/us-central1-c/clusters/cluster-1/nodePools/default-pool organization: organizations/474566717491 parent: //container.googleapis.com/projects/project2-244918/zones/us-central1-c/clusters/cluster-1 project: projects/761097189269 policyBundle: - appliedResource: //cloudresourcemanager.googleapis.com/projects/project2-244918 attachedResource: //cloudresourcemanager.googleapis.com/projects/project2-244918 rules: - enforce: false - appliedResource: //cloudresourcemanager.googleapis.com/folders/408342778736 attachedResource: //cloudresourcemanager.googleapis.com/folders/408342778736 rules: - condition: description: cond-desc1 expression: resource.matchTag("474566717491/env", "prod") title: cond-title1 enforce: false - enforce: true - appliedResource: //cloudresourcemanager.googleapis.com/organizations/474566717491 attachedResource: //cloudresourcemanager.googleapis.com/organizations/474566717491 rules: - enforce: true --- consolidatedPolicy: appliedResource: //cloudresourcemanager.googleapis.com/organizations/474566717491 attachedResource: //cloudresourcemanager.googleapis.com/organizations/474566717491 rules: - enforce: true governedResource: fullResourceName: //container.googleapis.com/projects/probe-per-rt-project/zones/us-west1-a/clusters/test-cluster-for-backup/nodePools/default-pool organization: organizations/474566717491 parent: //container.googleapis.com/projects/probe-per-rt-project/zones/us-west1-a/clusters/test-cluster-for-backup project: projects/896190383908 policyBundle: - appliedResource: //cloudresourcemanager.googleapis.com/organizations/474566717491 attachedResource: //cloudresourcemanager.googleapis.com/organizations/474566717491 rules: - enforce: true
REST
Para obtener un análisis de cómo se aplica una restricción de política de la organización a los recursos dentro de una organización, usa el método analyzeOrgPolicyGovernedAssets
de la API de Cloud Asset.
Método HTTP y URL:
GET https://cloudasset.googleapis.com/v1/organizations/ORGANIZATION_ID:analyzeOrgPolicyGovernedAssets
Cuerpo JSON de la solicitud:
JSON_REQUEST="{ 'constraint': 'CONSTRAINT_NAME', 'filter': 'FILTER_QUERY', 'page_size': PAGE_SIZE, 'page_token': PAGE_TOKEN }"
Reemplaza lo siguiente:
ORGANIZATION_ID: Es el ID del recurso de tu organización. Para obtener más información sobre cómo encontrar el ID de tu organización, consulta la página sobre cómo crear y administrar organizaciones.
CONSTRAINT_NAME: Es el nombre de la restricción de la política de la organización que deseas analizar. Para obtener una lista de las restricciones, consulta Restricciones de las políticas de la organización.
FILTER_QUERY: Es una consulta de filtro para ver solo los recursos que coincidan con tu expresión de filtrado. Los campos disponibles para filtrar son
governed_resource.folders
,governed_resource.project
,governed_iam_policy.folders
ygoverned_iam_policy.project
. Por ejemplo,governed_resource.project="projects/1234567890"
solo mostraría los recursos que se adjuntaron al proyecto con el ID del proyecto1234567890
.PAGE_SIZE: Es la cantidad de páginas de entradas de resultados que deseas ver. Para ver entradas ilimitadas, ingresa
unlimited
. Una solicitud realizada con este conjunto de marcas muestra un valornextPageToken
si la cantidad total de entradas de resultado es mayor que PAGE_SIZE.PAGE_TOKEN: Solo se configura en solicitudes después de la primera solicitud que incluye la marca
page_size
. Puedes usar los valoresnextPageToken
recibidos de respuestas anteriores para mostrar una determinada página de resultados.
La respuesta JSON es similar a la siguiente:
Respuesta JSON de muestra
{ "governedAssets": [ { "governedResource": { "fullResourceName": "//container.googleapis.com/projects/opa-test-project-2/zones/us-central1-c/clusters/opa-test-project-2-cluster-1/nodePools/default-pool", "parent": "//container.googleapis.com/projects/opa-test-project-2/zones/us-central1-c/clusters/opa-test-project-2-cluster-1", "project": "projects/892625391619", "folders": [ "folders/513502730678", "folders/666681422980" ], "organization": "organizations/474566717491" }, "consolidatedPolicy": { "attachedResource": "//cloudresourcemanager.googleapis.com/projects/opa-test-project-2", "rules": [ { "enforce": false } ], "appliedResource": "//cloudresourcemanager.googleapis.com/projects/opa-test-project-2" }, "policyBundle": [ { "attachedResource": "//cloudresourcemanager.googleapis.com/projects/opa-test-project-2", "reset": true, "appliedResource": "//cloudresourcemanager.googleapis.com/projects/opa-test-project-2" }, { "attachedResource": "//cloudresourcemanager.googleapis.com/organizations/474566717491", "rules": [ { "enforce": true } ], "appliedResource": "//cloudresourcemanager.googleapis.com/organizations/474566717491" } ] }, { "governedResource": { "fullResourceName": "//container.googleapis.com/projects/project2-244918/zones/us-central1-c/clusters/cluster-1/nodePools/default-pool", "parent": "//container.googleapis.com/projects/project2-244918/zones/us-central1-c/clusters/cluster-1", "project": "projects/761097189269", "folders": [ "folders/800636178739", "folders/408342778736" ], "organization": "organizations/474566717491" }, "consolidatedPolicy": { "attachedResource": "//cloudresourcemanager.googleapis.com/projects/project2-244918", "rules": [ { "enforce": false } ], "appliedResource": "//cloudresourcemanager.googleapis.com/projects/project2-244918" }, "policyBundle": [ { "attachedResource": "//cloudresourcemanager.googleapis.com/projects/project2-244918", "rules": [ { "enforce": false } ], "appliedResource": "//cloudresourcemanager.googleapis.com/projects/project2-244918" }, { "attachedResource": "//cloudresourcemanager.googleapis.com/folders/408342778736", "rules": [ { "enforce": false, "condition": { "expression": "resource.matchTag(\"474566717491/env\", \"prod\")", "title": "cond-title1", "description": "cond-desc1" } }, { "enforce": true } ], "appliedResource": "//cloudresourcemanager.googleapis.com/folders/408342778736" }, { "attachedResource": "//cloudresourcemanager.googleapis.com/organizations/474566717491", "rules": [ { "enforce": true } ], "appliedResource": "//cloudresourcemanager.googleapis.com/organizations/474566717491" } ] } ] "constraint": { "customConstraint": { "name": "organizations/474566717491/customConstraints/custom.disableGkeAutoUpgrade", "resourceTypes": [ "container.googleapis.com/NodePool" ], "methodTypes": [ "CREATE", "UPDATE" ], "condition": "resource.management.autoUpgrade == false", "actionType": "ALLOW", "displayName": "Disable GKE auto upgrade", "description": "Only allow GKE NodePool resource create or updates if AutoUpgrade is not enabled" } } }
Visualiza la herencia
Si tienes una activación a nivel de la organización del nivel Premium de Security Command Center, puedes visualizar la herencia de las políticas de la organización que analizaste con la consola de Google Cloud.
Si deseas ver la visualización de herencia, crea una consulta de análisis de políticas de la organización para políticas configuradas, containers o recursos. En la página Ejecutar análisis de consultas, haz clic en Analizar y, luego, selecciona Visualizar.
También puedes navegar a la URL de una consulta guardada, seleccionar los recursos que deseas destacar y, luego, hacer clic en
Ver herencia.En la página Herencia de recursos, se muestra una visualización de la jerarquía de recursos de los recursos seleccionados en tu consulta de análisis:
Indica si el recurso es una organización, una carpeta o un proyecto.
Un punto azul indica que el recurso está seleccionado en la consulta.
Indica que el recurso anula la política de su recurso superior.
Indica que el recurso restablece la política de la organización al valor predeterminado administrado por Google para esa política. Un recurso que restablece la política al valor predeterminado tiene una línea de puntos que la conecta a su elemento superior.
Indica la política de combinación de recursos con su superior.
Indica que la política de la organización en este recurso aplica de manera forzosa una restricción booleana o una restricción de lista con valores permitidos.
Indica que la política de la organización en este recurso es una restricción de lista con valores denegados.
Indica que la política de la organización en este recurso es una restricción booleana que no se aplica.
¿Qué sigue?
- Obtén más información sobre el uso de restricciones.
- Obtén información para crear y administrar restricciones personalizadas.