Esta página contém informações sobre como analisar as configurações da política da organização para ver quais recursos são cobertos por qual política da organização. Com o Policy Analyzer para políticas da organização, é possível criar uma consulta de análise para receber informações sobre políticas personalizadas e predefinidas da organização.
Uma consulta de análise é composta de um escopo e uma restrição.
- Restrição: especifica o nome do recurso de uma restrição.
- Escopo: especifica uma organização para o escopo da análise. Todas as políticas da organização com a restrição especificada definida neste escopo são incluídas na análise.
Para mais informações sobre políticas da organização, consulte a Introdução ao serviço de Políticas da organização. Para mais informações sobre como criar restrições personalizadas, consulte Como criar e gerenciar restrições personalizadas.
Antes de começar
Ative a Cloud Asset API.
Ative a API no projeto ou na organização que será usada para enviar a consulta. Não precisa ser o mesmo recurso em que você define o escopo da sua consulta.
Papéis e permissões necessárias
Para conseguir as permissões necessárias para executar uma análise de política da organização, peça ao seu administrador para conceder a você os seguintes papéis do IAM no recurso da organização em que quer realizar a análise:
-
Para realizar a análise:
Leitor de recursos do Cloud (
roles/cloudasset.viewer
) -
Para ver as restrições personalizadas:
Leitor de políticas da organização (
roles/orgpolicy.policyViewer
)
Para mais informações sobre como conceder papéis, consulte Gerenciar acesso.
Esses papéis predefinidos contêm as permissões necessárias para executar uma análise de política da organização. Para conferir as permissões exatas necessárias, expanda a seção Permissões necessárias:
Permissões necessárias
As seguintes permissões são necessárias para executar uma análise de política da organização:
-
Para conduzir a análise:
-
cloudasset.assets.analyzeOrgPolicy
-
cloudasset.assets.searchAllResources
-
cloudasset.assets.searchAllIamPolicies
-
-
Para ver restrições personalizadas:
orgpolicy.customConstraints.get
Também é possível conseguir essas permissões com papéis personalizados ou outros papéis predefinidos.
Analisar políticas configuradas
Uma política da organização é criada com base em uma restrição e condições opcionais em que essa restrição é aplicada. Use o Policy Analyzer para retornar uma lista de políticas da organização com uma restrição específica e os recursos a que essas políticas estão anexadas.
Para cada política da organização detectada no escopo da consulta, o Policy Analyzer retorna 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 efetiva da política nesse recurso em relação às regras de avaliação de hierarquia.folders
: o ID de todos os recursos de pasta que são ancestrais do recurso ao qual a política da organização está anexada.organization
: o ID do recurso da organização que é o ancestral 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 ancestrais dele na hierarquia de recursos.
Console
No console do Google Cloud, acesse a página Analisador de políticas.
Na seção Analisar política da organização, encontre o painel Como as políticas da organização são configuradas para recursos em minha organização? e clique em Criar consulta.
Na caixa Selecionar organização da consulta, selecione a organização que contém as políticas da organização que você quer analisar.
Selecione o tipo de restrição que você quer analisar. Para uma restrição predefinida, selecione Restrição integrada. Para uma restrição personalizada, selecione Restrição personalizada.
Insira o nome da restrição que você quer analisar. O prefixo do tipo de restrição que você está analisando já está incluído. Por exemplo, para a restrição de domínio predefinida, insira
iam.allowedPolicyMemberDomains
e, para uma restrição personalizada, insira o nome, comodisableGkeAutoUpgrade
.Clique em Executar consulta. A página do relatório mostra os parâmetros de consulta que você inseriu e uma tabela de resultados de todos os recursos a que essa restrição é aplicada diretamente.
gcloud
Para uma análise de como uma restrição de política da organização é aplicada
dentro de uma organização, use o
comando gcloud beta asset analyze-org-policies
:
gcloud beta asset analyze-org-policies \
--constraint=CONSTRAINT_NAME \
--scope=organizations/ORGANIZATION_ID \
--limit=LIMIT_POLICIES \
--filter=FILTER_QUERY
Substitua:
CONSTRAINT_NAME: o nome da restrição de política da organização que você quer analisar. Para ver uma lista de restrições, consulte Restrições da política da organização.
ORGANIZATION_ID: o ID do recurso da organização. Para mais informações sobre como encontrar o ID da organização, consulte Como criar e gerenciar organizações.
LIMIT_POLICIES: o número de entradas de resultado que você quer visualizar. Para ver entradas ilimitadas, digite
unlimited
.FILTER_QUERY: uma consulta de filtro para consultar apenas 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ó retornaria políticas que foram anexadas ao projeto com o ID do projeto1234567890
.
A resposta YAML é semelhante a esta:
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
dentro de uma 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
Solicitar corpo JSON:
JSON_REQUEST="{ 'constraint': 'CONSTRAINT_NAME', 'filter': 'FILTER_QUERY', 'page_size': PAGE_SIZE, 'page_token': PAGE_TOKEN }"
Substitua:
ORGANIZATION_ID: o ID do recurso da organização. Para mais informações sobre como encontrar o ID da organização, consulte Como criar e gerenciar organizações.
CONSTRAINT_NAME: o nome da restrição de política da organização que você quer analisar. Para ver uma lista de restrições, consulte Restrições da política da organização.
FILTER_QUERY: uma consulta de filtro para consultar apenas 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ó retornaria políticas que foram anexadas ao projeto com o ID do projeto1234567890
.PAGE_SIZE: o número de entradas de resultados por página que você quer visualizar. Para ver entradas ilimitadas, digite
unlimited
. Uma solicitação feita com esse conjunto de sinalizações retornará um valornextPageToken
se o número total de entradas de resultado for maior que PAGE_SIZE.PAGE_TOKEN: definido apenas em solicitações após a primeira que inclui a sinalização
page_size
. Você pode usar os valoresnextPageToken
recebidos de respostas anteriores para retornar uma página específica de resultados.
A resposta JSON é semelhante a esta:
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": {} } } }
Analisar contêineres
Um contêiner, neste contexto, é um recurso de projeto, pasta ou organização.
Use o Analisador de políticas para retornar uma lista de todos os contêineres
que têm políticas da organização com uma restrição específica aplicada.
O Policy Analyzer também retorna o nome completo de cada contêiner e
o pai dele na hierarquia.
Para cada contêiner detectado no escopo da consulta, o Analisador de políticas retorna uma entrada de resultado. Uma entrada de resultado contém os seguintes campos:
consolidatedPolicy
: o contêiner ao qual a política da organização está anexada e a aplicação efetiva da política nesse contêiner em relação às regras de avaliação de hierarquia.fullResourceName
: o nome completo do contêiner.parent
: o nome completo do recurso do pai desse contêiner.policyBundle
: a política da organização configurada diretamente no contêiner, se houver, e as políticas da organização definidas nos ancestrais do contêiner na hierarquia de recursos.
Console
No console do Google Cloud, acesse a página Analisador de políticas.
Na seção Analisar a política da organização, localize o painel Quais contêineres têm uma restrição de política da organização aplicada? e clique em Criar consulta.
Na caixa Selecionar organização da consulta, selecione a organização que contém as políticas da organização que você quer analisar.
Selecione o tipo de restrição que você quer analisar. Para uma restrição predefinida, selecione Restrição integrada. Para uma restrição personalizada, selecione Restrição personalizada.
Insira o nome da restrição que você quer analisar. O prefixo do tipo de restrição que você está analisando já está incluído. Por exemplo, para a restrição de domínio predefinida, insira
iam.allowedPolicyMemberDomains
e, para uma restrição personalizada, insira o nome, comodisableGkeAutoUpgrade
.Clique em Executar consulta. A página do relatório mostra os parâmetros de consulta que você inseriu e uma tabela de resultados de todos os contêineres em que essa restrição é aplicada ou herdada.
gcloud
Para uma análise de como uma restrição de política da organização é aplicada em
contêineres de uma organização, use o
comando gcloud beta asset analyze-org-policy-governed-containers
:
gcloud beta asset analyze-org-policy-governed-containers \
--constraint=CONSTRAINT_NAME \
--scope=organizations/ORGANIZATION_ID \
--limit=LIMIT_CONTAINERS \
--filter=FILTER_QUERY
Substitua:
CONSTRAINT_NAME: o nome da restrição de política da organização que você quer analisar. Para ver uma lista de restrições, consulte Restrições da política da organização.
ORGANIZATION_ID: o ID do recurso da organização. Para mais informações sobre como encontrar o ID da organização, consulte Como criar e gerenciar organizações.
LIMIT_CONTAINERS: o número de entradas de resultado que você quer visualizar. Para ver entradas ilimitadas, digite
unlimited
.FILTER_QUERY: uma consulta de filtro para consultar apenas contêineres que correspondem à sua expressão de filtragem. O único campo disponível para filtragem é
parent
. Por exemplo,parent="//cloudresourcemanager.googleapis.com/organizations/012345678901"
só retornaria contêineres que eram filhos da organização com o ID012345678901
.
A resposta YAML é semelhante a esta:
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 da organização é aplicada em
contêineres de uma 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
Solicitar corpo JSON:
JSON_REQUEST="{ 'constraint': 'CONSTRAINT_NAME', 'filter': '"FILTER_QUERY"', 'page_size': PAGE_SIZE, 'page_token': PAGE_TOKEN }"
Substitua:
ORGANIZATION_ID: o ID do recurso da organização. Para mais informações sobre como encontrar o ID da organização, consulte Como criar e gerenciar organizações.
CONSTRAINT_NAME: o nome da restrição de política da organização que você quer analisar. Para ver uma lista de restrições, consulte Restrições da política da organização.
FILTER_QUERY: uma consulta de filtro para consultar apenas contêineres que correspondem à sua expressão de filtragem. O único campo disponível para filtragem é
parent
. Por exemplo,parent="//cloudresourcemanager.googleapis.com/organizations/012345678901"
só retornaria contêineres que eram filhos da organização com o ID012345678901
.PAGE_SIZE: o número de páginas de entradas de resultado que você quer visualizar. Para ver entradas ilimitadas, digite
unlimited
. Uma solicitação feita com esse conjunto de sinalizações retornará um valornextPageToken
se o número total de entradas de resultado for maior que PAGE_SIZE.PAGE_TOKEN: definido apenas em solicitações após a primeira que inclui a sinalização
page_size
. Você pode usar os valoresnextPageToken
recebidos de respostas anteriores para retornar uma página específica de resultados.
A resposta JSON é semelhante a esta:
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": {} } } }
Analisar recursos
Um recurso neste contexto é um recurso do Google Cloud ou uma política de permissão do Identity and Access Management (IAM). Você pode usar o Analisador de políticas para retornar uma lista de todos os recursos que têm políticas da organização com uma restrição específica aplicada. Há suporte para as restrições personalizadas e as seguintes restrições predefinidas:
storage.uniformBucketLevelAccess
iam.disableServiceAccountKeyCreation
iam.allowedPolicyMemberDomains
compute.vmExternalIpAccess
appengine.enforceServiceAccountActAsCheck
gcp.resourceLocations
compute.trustedImageProjects
compute.skipDefaultNetworkCreation
compute.requireOsLogin
compute.disableNestedVirtualization
O Policy Analyzer retorna o nome completo de cada recurso, o pai dele na hierarquia e todos os recursos ancestrais de projeto, pasta e organização acima do recurso na hierarquia.
Para cada recurso detectado no escopo da consulta, o Policy Analyzer retorna uma entrada de resultado.
A entrada de resultado de um recurso contém os seguintes campos:
consolidatedPolicy
: o recurso ao qual a política da organização está anexada e a aplicação efetiva da política nesse recurso em relação às regras de avaliação de hierarquia.folders
: o ID de qualquer recurso de pasta 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 do pai 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 ancestrais dele na hierarquia de recursos.
Uma entrada de resultado de 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 efetiva da política nesse recurso em relação às regras de avaliação de hierarquia.attachedResource
: o nome completo do recurso a que a política de permissão está anexada.folders
: o nome do recurso relativo de qualquer pasta que contenha a política de permissão.organization
: o nome do recurso relativo da organização que contém a política de permissão.policy
: a política de permissão.project
: o nome do recurso relativo do projeto que contém a política de permissão.policyBundle
: a política da organização totalmente configurada anexada ao recurso acima e as políticas da organização definidas nos ancestrais dele na hierarquia de recursos.
Console
No console do Google Cloud, acesse a página Analisador de políticas.
Na seção Analisar a política da organização, localize o painel Quais recursos têm uma restrição de política da organização aplicada? e clique em Criar consulta.
Na caixa Selecionar organização da consulta, selecione a organização que contém as políticas da organização que você quer analisar.
Selecione o tipo de restrição que você quer analisar. Para uma restrição predefinida, selecione Restrição integrada. Para uma restrição personalizada, selecione Restrição personalizada.
Insira o nome da restrição que você quer analisar. O prefixo do tipo de restrição que você está analisando já está incluído. Por exemplo, para a restrição de acesso predefinida no nível do bucket, insira
storage.uniformBucketLevelAccess
e, para uma restrição personalizada, insira o nome, comodisableGkeAccess
.Clique em Executar consulta. A página do relatório mostra os parâmetros de consulta que você inseriu e uma tabela de resultados de todos os recursos em que essa restrição é aplicada ou herdada.
gcloud
Para ter uma análise de como uma restrição de política da organização é aplicada aos
recursos de uma organização, use o
comando gcloud beta asset analyze-org-policy-governed-assets
:
gcloud beta asset analyze-org-policy-governed-assets \
--constraint=CONSTRAINT_NAME \
--scope=organizations/ORGANIZATION_ID \
--limit=LIMIT_ASSETS \
--filter=FILTER_QUERY
Substitua:
CONSTRAINT_NAME: o nome da restrição de política da organização que você quer analisar. Para ver uma lista de restrições, consulte Restrições da política da organização.
ORGANIZATION_ID: o ID do recurso da organização. Para mais informações sobre como encontrar o ID da organização, consulte Como criar e gerenciar organizações.
LIMIT_ASSETS: o número de entradas de resultado que você quer visualizar. Para ver entradas ilimitadas, digite
unlimited
.FILTER_QUERY: uma consulta de filtro para consultar apenas recursos que correspondem à sua expressão de filtragem. Os campos disponíveis para filtragem são
governed_resource.folders
,governed_resource.project
,governed_iam_policy.folders
egoverned_iam_policy.project
. Por exemplo,governed_resource.project="projects/1234567890"
só retornaria os recursos anexados ao projeto com o ID do projeto1234567890
.
A resposta YAML é semelhante a esta:
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 ver uma análise de como uma restrição de política da organização é aplicada aos
recursos de uma organização, use o
método analyzeOrgPolicyGovernedAssets
da API Cloud Asset.
Método HTTP e URL:
GET https://cloudasset.googleapis.com/v1/organizations/ORGANIZATION_ID:analyzeOrgPolicyGovernedAssets
Solicitar corpo JSON:
JSON_REQUEST="{ 'constraint': 'CONSTRAINT_NAME', 'filter': 'FILTER_QUERY', 'page_size': PAGE_SIZE, 'page_token': PAGE_TOKEN }"
Substitua:
ORGANIZATION_ID: o ID do recurso da organização. Para mais informações sobre como encontrar o ID da organização, consulte Como criar e gerenciar organizações.
CONSTRAINT_NAME: o nome da restrição de política da organização que você quer analisar. Para ver uma lista de restrições, consulte Restrições da política da organização.
FILTER_QUERY: uma consulta de filtro para consultar apenas recursos que correspondem à sua expressão de filtragem. Os campos disponíveis para filtragem são
governed_resource.folders
,governed_resource.project
,governed_iam_policy.folders
egoverned_iam_policy.project
. Por exemplo,governed_resource.project="projects/1234567890"
só retornaria os recursos anexados ao projeto com o ID do projeto1234567890
.PAGE_SIZE: o número de páginas de entradas de resultado que você quer visualizar. Para ver entradas ilimitadas, digite
unlimited
. Uma solicitação feita com esse conjunto de sinalizações retornará um valornextPageToken
se o número total de entradas de resultado for maior que PAGE_SIZE.PAGE_TOKEN: definido apenas em solicitações após a primeira que inclui a sinalização
page_size
. Você pode usar os valoresnextPageToken
recebidos de respostas anteriores para retornar uma página específica de resultados.
A resposta JSON é semelhante a esta:
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" } } }
A seguir
- Saiba mais sobre Como usar restrições.
- Saiba como criar e gerenciar restrições personalizadas.