Esta página contém informações sobre a análise das definições da política de organização para ver que recursos são abrangidos por que política de organização. Com o Policy Analyzer para a política da organização, pode criar uma consulta de análise para obter informações sobre políticas da organização personalizadas e predefinidas.
Uma consulta de análise é composta por um âmbito e uma restrição.
- Constraint: especifica o nome do recurso de uma restrição.
Âmbito: especifica uma organização para restringir a análise. Todas as políticas da organização com a restrição especificada definida neste âmbito estão incluídas na análise.
Para mais informações sobre as políticas de organização, consulte a Introdução ao serviço de políticas de organização.
Para mais informações sobre como criar restrições personalizadas, consulte o artigo Criar e gerir restrições personalizadas.
Para mais informações sobre restrições geridas, consulte o artigo Usar restrições.
Antes de começar
Enable the Cloud Asset API.
Roles required to enable APIs
To enable APIs, you need the Service Usage Admin IAM role (
roles/serviceusage.serviceUsageAdmin), which contains theserviceusage.services.enablepermission. Learn how to grant roles.Tem de ativar a API no projeto que vai usar para enviar a consulta. Não tem de ser o mesmo recurso ao qual restringe a sua consulta.
Opcional: se quiser executar mais de 20 consultas de análise de políticas por organização por dia, certifique-se de que tem uma ativação ao nível da organização do nível Premium ou Enterprise do Security Command Center. Para mais informações, consulte as Perguntas sobre faturação.
Funções e autorizações necessárias
Para receber as autorizações de que precisa para executar uma análise de políticas da organização, peça ao seu administrador que lhe conceda as seguintes funções do IAM no recurso da organização no qual quer realizar a análise:
-
Para realizar a análise:
Cloud Asset Viewer (
roles/cloudasset.viewer) -
Para ver restrições:
Visitante da política da organização (
roles/orgpolicy.policyViewer)
Para mais informações sobre a atribuição de funções, consulte o artigo Faça a gestão do acesso a projetos, pastas e organizações.
Estas funções predefinidas contêm as autorizações necessárias para executar uma análise de políticas da organização. Para ver as autorizações exatas que são necessárias, expanda a secção Autorizações necessárias:
Autorizações necessárias
São necessárias as seguintes autorizações para executar uma análise de políticas da organização:
-
Para realizar a análise:
-
cloudasset.assets.analyzeOrgPolicy -
cloudasset.assets.searchAllResources -
cloudasset.assets.searchAllIamPolicies
-
-
Para ver restrições personalizadas e geridas:
orgpolicy.customConstraints.get
Também pode conseguir estas autorizações com funções personalizadas ou outras funções predefinidas.
Preços e quota
O analisador de políticas para a política da organização em grande escala (mais de 20 consultas por organização por dia) e as visualizações de herança só estão disponíveis para clientes com ativações ao nível da organização do Security Command Center.
A quota do Analisador de políticas para a política da organização é partilhada entre todas as ferramentas do Analisador de políticas. Para mais informações, consulte o artigo Perguntas sobre faturação.
Analise as políticas configuradas
Uma política da organização é criada a partir de uma restrição e de condições opcionais segundo as quais essa restrição é aplicada. Pode usar o analisador de políticas para devolver uma lista de políticas da organização com uma restrição específica e os recursos aos quais essas políticas estão anexadas.
Para cada política de organização detetada no âmbito da consulta, o Policy Analyzer devolve uma entrada de resultado. Uma entrada de resultado contém os seguintes campos:
consolidatedPolicy: o recurso ao qual a política da organização está anexada e a aplicação da política em vigor nesse recurso relativamente às regras de avaliação da hierarquia.project: o ID do recurso do projeto ao qual esta política consolidada pertence.folders: o ID de todos os recursos de pastas que são antecessores do recurso ao qual a política da organização está anexada.organization: o ID do recurso da organização que é o antecessor do recurso ao qual a política da organização está anexada.policyBundle: a política da organização totalmente configurada anexada ao recurso acima e as políticas da organização definidas nos respetivos antecessores na hierarquia de recursos.
Se os seus recursos estiverem protegidos por um perímetro de serviço dos VPC Service Controls, tem de criar uma regra de saída no perímetro do recurso da sua organização que permita o acesso ao serviço cloudasset.googleapis.com e ao método google.cloud.asset.v1.AssetService.SearchAllResources. Se não tiver uma regra de saída, o pedido falha com um erro NETWORK_NOT_IN_SAME_SERVICE_PERIMETER. Para mais informações, consulte o artigo
Depurar pedidos bloqueados pelo VPC Service Controls.
Consola
Na Google Cloud consola, aceda à página Policy Analyzer.
Na secção Analise a política da organização, localize o painel etiquetado como Onde estão configuradas políticas da organização específicas? e clique em Criar consulta nesse painel.
Na caixa Selecionar organização de consulta, selecione a organização para a qual quer analisar as políticas da organização.
Selecione o tipo de restrição que quer analisar. Para uma restrição predefinida ou gerida, selecione Restrição incorporada. Para uma restrição personalizada, selecione Restrição personalizada.
Introduza o nome da restrição que quer analisar. O prefixo do tipo de restrição que está a analisar já está incluído. Por exemplo, para a restrição de restrição de domínio predefinida, introduza
iam.allowedPolicyMemberDomains. Para a restrição de criação de conta de serviço gerida, introduzaiam.managed.disableServiceAccountKeyCreation. Para uma restrição personalizada, introduza o respetivo nome, comodisableGkeAutoUpgrade.Clique em Analisar e, de seguida, em Executar consulta. A página do relatório mostra os parâmetros de consulta que introduziu e uma tabela de resultados de todos os recursos aos quais esta restrição é aplicada diretamente.
Pode guardar esta consulta para a ver novamente mais tarde clicando em Copiar URL da consulta. Para ver esta consulta, navegue para o URL gerado.
Pode visualizar a herança da restrição que analisou selecionando, pelo menos, um recurso na lista e, de seguida, clicando em Ver herança. Também pode aceder imediatamente à vista de visualização quando cria a consulta de análise clicando em Analisar e, de seguida, em Visualizar. Consulte o artigo Visualize a herança para mais informações.
gcloud
Para obter uma análise de como uma restrição de política da organização é aplicada numa organização, use o comando gcloud asset analyze-org-policies:
gcloud asset analyze-org-policies \
--constraint=CONSTRAINT_NAME \
--scope=organizations/ORGANIZATION_ID \
--limit=LIMIT_POLICIES \
--filter=FILTER_QUERY
Substitua o seguinte:
CONSTRAINT_NAME: o nome da restrição da política da organização que quer analisar. Para ver uma lista de restrições, consulte o artigo Restrições da política da organização.
ORGANIZATION_ID: o ID do recurso da sua organização. Para mais informações sobre como encontrar o ID da sua organização, consulte o artigo Criar e gerir organizações.
LIMIT_POLICIES: o número de entradas de resultados que quer ver. Para ver entradas ilimitadas, introduza
unlimited.FILTER_QUERY: uma consulta de filtro para ver apenas as políticas que correspondem à sua expressão de filtragem. O único campo disponível para filtragem é
consolidated_policy.attached_resource. Por exemplo,consolidated_policy.attached_resource="//cloudresourcemanager.googleapis.com/projects/1234567890"só devolve políticas anexadas ao projeto com o ID do projeto1234567890.
A resposta YAML é semelhante à seguinte:
Exemplo de resposta YAML
--- 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 obter uma análise de como uma restrição de política da organização é aplicada
numa organização, use o método analyzeOrgPolicies da API Cloud Asset.
Método HTTP e URL:
GET https://cloudasset.googleapis.com/v1/organizations/ORGANIZATION_ID:analyzeOrgPolicies
Corpo JSON do pedido:
JSON_REQUEST="{ 'constraint': 'CONSTRAINT_NAME', 'filter': 'FILTER_QUERY', 'page_size': PAGE_SIZE, 'page_token': PAGE_TOKEN }"
Substitua o seguinte:
ORGANIZATION_ID: o ID do recurso da sua organização. Para mais informações sobre como encontrar o ID da sua organização, consulte o artigo Criar e gerir organizações.
CONSTRAINT_NAME: o nome da restrição da política da organização que quer analisar. Para ver uma lista de restrições, consulte o artigo Restrições da política da organização.
FILTER_QUERY: uma consulta de filtro para ver apenas as políticas que correspondem à sua expressão de filtragem. O único campo disponível para filtragem é
consolidated_policy.attached_resource. Por exemplo,consolidated_policy.attached_resource="//cloudresourcemanager.googleapis.com/projects/1234567890"só devolve políticas anexadas ao projeto com o ID do projeto1234567890.PAGE_SIZE: o número de entradas de resultados por página que quer ver. Para ver entradas ilimitadas, introduza
unlimited. Um pedido feito com esta flag definida devolve um valornextPageTokense o número total de entradas de resultados for superior a PAGE_SIZE.PAGE_TOKEN: só pode ser definido em pedidos após o primeiro pedido que inclua a flag
page_size. Pode usar os valoresnextPageTokenrecebidos de respostas anteriores para devolver uma página específica de resultados.
A resposta JSON é semelhante à seguinte:
Exemplo de resposta JSON
{ "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": {} } } }
Analise contentores
Neste contexto, um contentor é um recurso de projeto, pasta ou organização. Pode usar o analisador de políticas para devolver uma lista de todos os contentores que tenham políticas de organização com uma restrição específica aplicada. O Analisador de políticas também devolve o nome completo de cada contentor, o superior do contentor na hierarquia e as etiquetas herdadas ou anexadas ao contentor.
Para cada contentor detetado no âmbito da consulta, o analisador de políticas devolve uma entrada de resultado. Uma entrada de resultado contém os seguintes campos:
consolidatedPolicy: o contentor ao qual a política da organização está anexada e a aplicação da política em vigor nesse contentor relativamente às regras de avaliação da hierarquia.conditionEvaluation: se as condições incluídas resultarem na aplicação da política da organização,evaluationValueéTRUE. Se as condições resultarem na não aplicação da política da organização, oevaluationValueéFALSE. Se a condição não for suportada por um ou mais recursos nos quais a política da organização é aplicada, a própria condição é devolvida.effectiveTags: todas as etiquetas que estão diretamente anexadas ou herdadas pelo contentor e pelos principais contentores do contentor na hierarquia.folders: o ID de todos os recursos de pastas que contêm o contentor ao qual a política da organização está anexada.fullResourceName: o nome completo do contentor.organization: o ID do recurso da organização que é o antepassado do contentor ao qual a política da organização está anexada.parent: o nome completo do recurso principal deste contentor.policyBundle: a política da organização configurada diretamente no contentor, se existir, e as políticas da organização definidas nos antecessores do contentor na hierarquia de recursos.project: o ID do contentor ao qual a política da organização está anexada, se for um recurso de projeto.
Se os seus recursos estiverem protegidos por um perímetro de serviço dos VPC Service Controls, tem de criar uma regra de saída no perímetro do recurso da sua organização que permita o acesso ao serviço cloudasset.googleapis.com e ao método google.cloud.asset.v1.AssetService.SearchAllResources. Se não tiver uma regra de saída, o pedido falha com um erro NETWORK_NOT_IN_SAME_SERVICE_PERIMETER. Para mais informações, consulte o artigo
Depurar pedidos bloqueados pelo VPC Service Controls.
Consola
Na Google Cloud consola, aceda à página Policy Analyzer.
Na secção Analise a política da organização, localize o painel etiquetado como Que projetos ou pastas são afetados por uma restrição da política da organização? e clique em Criar consulta nesse painel.
Na caixa Selecionar organização de consulta, selecione a organização para a qual quer analisar as políticas da organização.
Selecione o tipo de restrição que quer analisar. Para uma restrição predefinida ou gerida, selecione Restrição integrada. Para uma restrição personalizada, selecione Restrição personalizada.
Introduza o nome da restrição que quer analisar. O prefixo do tipo de restrição que está a analisar já está incluído. Por exemplo, para a restrição de restrição de domínio predefinida, introduza
iam.allowedPolicyMemberDomains. Para a restrição de criação de conta de serviço gerida, introduzaiam.managed.disableServiceAccountKeyCreation. Para uma restrição personalizada, introduza o respetivo nome, comodisableGkeAutoUpgrade.Clique em Executar consulta. A página do relatório mostra os parâmetros de consulta que introduziu e uma tabela de resultados de todos os contentores nos quais esta restrição é aplicada ou herdada.
Pode guardar esta consulta para a ver novamente mais tarde clicando em Copiar URL da consulta. Para ver esta consulta, navegue para o URL gerado.
Pode visualizar a herança da restrição que analisou selecionando, pelo menos, um contentor na lista e, de seguida, clicando em Ver herança. Também pode aceder imediatamente à vista de visualização quando cria a consulta de análise clicando em Analisar e, de seguida, em Visualizar. Consulte o artigo Visualize a herança para mais informações.
gcloud
Para obter uma análise de como uma restrição de política da organização é aplicada aos contentores numa organização, use o 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
Substitua o seguinte:
CONSTRAINT_NAME: o nome da restrição da política da organização que quer analisar. Para ver uma lista de restrições, consulte o artigo Restrições da política da organização.
ORGANIZATION_ID: o ID do recurso da sua organização. Para mais informações sobre como encontrar o ID da sua organização, consulte o artigo Criar e gerir organizações.
LIMIT_CONTAINERS: o número de entradas de resultados que quer ver. Para ver entradas ilimitadas, introduza
unlimited.FILTER_QUERY: uma consulta de filtro para ver apenas contentores que correspondam à sua expressão de filtragem. O único campo disponível para filtragem é
parent. Por exemplo,parent="//cloudresourcemanager.googleapis.com/organizations/012345678901"só devolve contentores que eram filhos da organização com o ID da organização012345678901.
A resposta YAML é semelhante à seguinte:
Exemplo de resposta YAML
--- 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 obter uma análise de como uma restrição de política de organização é aplicada aos contentores numa organização, use o método analyzeOrgPolicyGovernedContainers da API Cloud Asset.
Método HTTP e URL:
GET https://cloudasset.googleapis.com/v1/organizations/ORGANIZATION_ID:analyzeOrgPolicyGovernedContainers
Corpo JSON do pedido:
JSON_REQUEST="{ 'constraint': 'CONSTRAINT_NAME', 'filter': '"FILTER_QUERY"', 'page_size': PAGE_SIZE, 'page_token': PAGE_TOKEN }"
Substitua o seguinte:
ORGANIZATION_ID: o ID do recurso da sua organização. Para mais informações sobre como encontrar o ID da sua organização, consulte o artigo Criar e gerir organizações.
CONSTRAINT_NAME: o nome da restrição da política da organização que quer analisar. Para ver uma lista de restrições, consulte o artigo Restrições da política da organização.
FILTER_QUERY: uma consulta de filtro para ver apenas contentores que correspondam à sua expressão de filtragem. O único campo disponível para filtragem é
parent. Por exemplo, o comandoparent="//cloudresourcemanager.googleapis.com/organizations/012345678901"só devolve contentores que eram filhos da organização com o ID da organização012345678901.PAGE_SIZE: o número de páginas de entradas de resultados que quer ver. Para ver entradas ilimitadas, introduza
unlimited. Um pedido feito com esta flag definida devolve um valornextPageTokense o número total de entradas de resultados for superior a PAGE_SIZE.PAGE_TOKEN: só pode ser definido em pedidos após o primeiro pedido que inclua a flag
page_size. Pode usar os valoresnextPageTokenrecebidos de respostas anteriores para devolver uma página específica de resultados.
A resposta JSON é semelhante à seguinte:
Exemplo de resposta JSON
{ "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": {} } } }
Analise recursos
Neste contexto, um recurso é um Google Cloud recurso ou uma política de autorização da Identity and Access Management (IAM). Pode usar o analisador de políticas para devolver uma lista de todos os recursos que têm políticas de organização com uma restrição específica aplicada. As restrições personalizadas, as restrições geridas e as seguintes restrições predefinidas são suportadas:
constraints/ainotebooks.accessModeconstraints/ainotebooks.disableFileDownloadsconstraints/ainotebooks.disableRootAccessconstraints/ainotebooks.disableTerminalconstraints/ainotebooks.environmentOptionsconstraints/ainotebooks.requireAutoUpgradeScheduleconstraints/ainotebooks.restrictVpcNetworksconstraints/compute.disableGuestAttributesAccessconstraints/compute.disableInstanceDataAccessApisconstraints/compute.disableNestedVirtualizationconstraints/compute.disableSerialPortAccessconstraints/compute.disableSerialPortLoggingconstraints/compute.disableVpcExternalIpv6constraints/compute.requireOsLoginconstraints/compute.requireShieldedVmconstraints/compute.restrictLoadBalancerCreationForTypesconstraints/compute.restrictProtocolForwardingCreationForTypesconstraints/compute.restrictXpnProjectLienRemovalconstraints/compute.setNewProjectDefaultToZonalDNSOnlyconstraints/compute.skipDefaultNetworkCreationconstraints/compute.trustedImageProjectsconstraints/compute.vmCanIpForwardconstraints/compute.vmExternalIpAccessconstraints/gcp.detailedAuditLoggingModeconstraints/gcp.resourceLocationsconstraints/iam.allowedPolicyMemberDomainsconstraints/iam.automaticIamGrantsForDefaultServiceAccountsconstraints/iam.disableServiceAccountCreationconstraints/iam.disableServiceAccountKeyCreationconstraints/iam.disableServiceAccountKeyUploadconstraints/iam.restrictCrossProjectServiceAccountLienRemovalconstraints/iam.serviceAccountKeyExpiryHoursconstraints/resourcemanager.accessBoundariesconstraints/resourcemanager.allowedExportDestinationsconstraints/sql.restrictAuthorizedNetworksconstraints/sql.restrictNoncompliantDiagnosticDataAccessconstraints/sql.restrictNoncompliantResourceCreationconstraints/sql.restrictPublicIpconstraints/storage.publicAccessPreventionconstraints/storage.restrictAuthTypesconstraints/storage.uniformBucketLevelAccess
O Analisador de políticas devolve o nome completo de cada recurso, o recurso principal na hierarquia e quaisquer recursos de projeto, pasta e organização antecessores acima do recurso na hierarquia.
Para cada recurso detetado no âmbito da consulta, o analisador de políticas devolve uma entrada de resultado.
Uma entrada de resultado para um recurso contém os seguintes campos:
consolidatedPolicy: o recurso ao qual a política da organização está anexada e a aplicação da política em vigor nesse recurso relativamente às regras de avaliação da hierarquia.conditionEvaluation: se as condições incluídas resultarem na aplicação da política da organização,evaluationValueéTRUE. Se as condições resultarem na não aplicação da política da organização, oevaluationValueéFALSE. Se a condição não for suportada por um ou mais recursos nos quais a política da organização é aplicada, a própria condição é devolvida.assetType: o tipo de recurso do recurso.effectiveTags: todas as etiquetas que estão diretamente anexadas ou herdadas pelo recurso ao qual a política da organização está anexada e os recursos principais do recurso na hierarquia.folders: o ID de todos os recursos de pastas que contêm o recurso ao qual a política da organização está anexada.fullResourceName: o nome completo do recurso.organization: o nome do recurso relativo da organização que contém o recurso.parent: o nome completo do recurso principal do recurso.project: o ID do projeto que contém o recurso.policyBundle: a política da organização totalmente configurada anexada ao recurso acima e as políticas da organização definidas nos respetivos antecessores na hierarquia de recursos.
Uma entrada de resultado para uma política de permissão contém os seguintes campos:
consolidatedPolicy: o recurso ao qual a política da organização está anexada e a aplicação da política em vigor nesse recurso relativamente às regras de avaliação da hierarquia.assetType: o tipo de recurso do recurso ao qual a política de autorização está anexada.attachedResource: o nome completo do recurso ao qual a política de autorização está anexada.folders: o nome do recurso relativo de todas as pastas que contêm a política de autorização.organization: o nome do recurso relativo da organização que contém a política de autorização.policy: a política de permissão.project: o nome do recurso relativo do projeto que contém a política de autorização.policyBundle: a política da organização totalmente configurada anexada ao recurso acima e as políticas da organização definidas nos respetivos antecessores na hierarquia de recursos.
Se os seus recursos estiverem protegidos por um perímetro de serviço dos VPC Service Controls, tem de criar uma regra de saída no perímetro do recurso da sua organização que permita o acesso ao serviço cloudasset.googleapis.com e ao método google.cloud.asset.v1.AssetService.SearchAllResources. Se não tiver uma regra de saída, o pedido falha com um erro NETWORK_NOT_IN_SAME_SERVICE_PERIMETER. Para mais informações, consulte o artigo
Depurar pedidos bloqueados pelo VPC Service Controls.
Consola
Na Google Cloud consola, aceda à página Policy Analyzer.
Na secção Analise a política da organização, localize o painel com a etiqueta Que recursos são afetados por uma restrição da política da organização? e clique em Criar consulta nesse painel.
Na caixa Selecionar organização de consulta, selecione a organização para a qual quer analisar as políticas da organização.
Selecione o tipo de restrição que quer analisar. Para uma restrição predefinida ou gerida, selecione Restrição incorporada. Para uma restrição personalizada, selecione Restrição personalizada.
Introduza o nome da restrição que quer analisar. O prefixo do tipo de restrição que está a analisar já está incluído. Por exemplo, para a restrição de acesso ao nível do contentor predefinida, introduza
storage.uniformBucketLevelAccess. Para a restrição gerida de criação de contas de serviço, introduzaiam.managed.disableServiceAccountKeyCreation. Para uma restrição personalizada, introduza o respetivo nome, comodisableGkeAccess.Clique em Executar consulta. A página do relatório mostra os parâmetros de consulta que introduziu e uma tabela de resultados de todos os recursos nos quais esta restrição é aplicada ou herdada.
Pode guardar esta consulta para a ver novamente mais tarde clicando em Copiar URL da consulta. Para ver esta consulta, navegue para o URL gerado.
Pode visualizar a herança da restrição que analisou selecionando, pelo menos, um recurso da lista e, de seguida, clicando em Ver herança. Também pode aceder imediatamente à vista de visualização quando cria a consulta de análise clicando em Analisar e, de seguida, em Visualizar. Consulte o artigo Visualize a herança para mais informações.
gcloud
Para obter uma análise de como uma restrição de política da organização é aplicada aos recursos numa organização, use o 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
Substitua o seguinte:
CONSTRAINT_NAME: o nome da restrição da política da organização que quer analisar. Para ver uma lista de restrições, consulte o artigo Restrições da política da organização.
ORGANIZATION_ID: o ID do recurso da sua organização. Para mais informações sobre como encontrar o ID da sua organização, consulte o artigo Criar e gerir organizações.
LIMIT_ASSETS: o número de entradas de resultados que quer ver. Para ver entradas ilimitadas, introduza
unlimited.FILTER_QUERY: uma consulta de filtro para ver apenas recursos que correspondam à sua expressão de filtragem. Os campos disponíveis para filtragem são
governed_resource.folders,governed_resource.project,governed_iam_policy.foldersegoverned_iam_policy.project. Por exemplo,governed_resource.project="projects/1234567890"só devolve recursos que foram anexados ao projeto com o ID do projeto1234567890.
A resposta YAML é semelhante à seguinte:
Exemplo de resposta YAML
--- 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 obter uma análise da forma como uma restrição de política de organização é aplicada aos
recursos numa organização, use o método
analyzeOrgPolicyGovernedAssets da Cloud Asset API.
Método HTTP e URL:
GET https://cloudasset.googleapis.com/v1/organizations/ORGANIZATION_ID:analyzeOrgPolicyGovernedAssets
Corpo JSON do pedido:
JSON_REQUEST="{ 'constraint': 'CONSTRAINT_NAME', 'filter': 'FILTER_QUERY', 'page_size': PAGE_SIZE, 'page_token': PAGE_TOKEN }"
Substitua o seguinte:
ORGANIZATION_ID: o ID do recurso da sua organização. Para mais informações sobre como encontrar o ID da sua organização, consulte o artigo Criar e gerir organizações.
CONSTRAINT_NAME: o nome da restrição da política da organização que quer analisar. Para ver uma lista de restrições, consulte o artigo Restrições da política da organização.
FILTER_QUERY: uma consulta de filtro para ver apenas recursos que correspondam à sua expressão de filtragem. Os campos disponíveis para filtragem são
governed_resource.folders,governed_resource.project,governed_iam_policy.foldersegoverned_iam_policy.project. Por exemplo,governed_resource.project="projects/1234567890"só devolve recursos que foram anexados ao projeto com o ID do projeto1234567890.PAGE_SIZE: o número de páginas de entradas de resultados que quer ver. Para ver entradas ilimitadas, introduza
unlimited. Um pedido feito com esta flag definida devolve um valornextPageTokense o número total de entradas de resultados for superior a PAGE_SIZE.PAGE_TOKEN: só pode ser definido em pedidos após o primeiro pedido que inclua a flag
page_size. Pode usar os valoresnextPageTokenrecebidos de respostas anteriores para devolver uma página específica de resultados.
A resposta JSON é semelhante à seguinte:
Exemplo de resposta JSON
{ "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" } } }
Visualize a herança
Se tiver uma ativação ao nível da organização do nível Premium ou Enterprise do Security Command Center, pode visualizar a herança das políticas da organização que analisou através da Google Cloud consola.
Para ver a visualização da herança, crie uma consulta de análise de políticas de organização para políticas configuradas, contentores ou recursos. Na página Executar análise de consultas, clique em Analisar e, de seguida, selecione Visualizar.
Também pode navegar para o URL de uma consulta guardada, selecionar os recursos que quer realçar e, de seguida, clicar em Ver herança.
A página Herança de recursos mostra uma visualização da hierarquia de recursos para os recursos selecionados na sua consulta de análise:

Indica se o recurso é uma organização, uma pasta ou um projeto.
Um ponto azul indica que o recurso está selecionado na consulta.
Indica que o recurso substitui a política do respetivo recurso principal.
Indica que o recurso repõe a política da organização para a predefinição gerida pela Google para essa política. Um recurso que repõe a política para a predefinição tem uma linha tracejada que o liga ao respetivo recurso principal.
Indica que o recurso une a política com o respetivo recurso principal.
Indica que a política da organização neste recurso aplica uma restrição booleana que é aplicada ou uma restrição de lista com valores permitidos.
Indica que a política da organização neste recurso é uma restrição de lista com valores recusados.
Indica que a política da organização neste recurso é uma restrição booleana que não é aplicada.
O que se segue?
- Saiba mais sobre a utilização de restrições.
- Saiba como criar e gerir restrições personalizadas.