Analisar políticas da organização

Esta página contém informações sobre como analisar as configurações de políticas da organização para saber quais recursos são cobertos por cada política da organização. Usando com a ferramenta Análise de políticas políticas da organização, para saber mais sobre as políticas da organização personalizadas e predefinidas.

Uma consulta de análise é composta por um escopo e uma restrição.

  • Restrição: especifica o nome do recurso de uma restrição.
  • Escopo: especifica uma organização para definir o escopo da análise. Toda a organização com a restrição especificada definida neste escopo, são incluídas a análise.

Para mais informações sobre as políticas da organização, consulte a Introdução ao serviço Política 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

Papéis e permissões necessárias

Para ter as permissões necessárias para executar uma análise de política da organização, peça ao administrador para conceder a você os seguintes papéis do IAM no recurso da organização em que você quer conduzir a análise:

Para mais informações sobre como conceder papéis, consulte Gerenciar acesso.

Esses papéis predefinidos tê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 conferir restrições personalizadas: orgpolicy.customConstraints.get

Essas permissões também podem ser concedidas com funções personalizadas ou outros papéis predefinidos.

Preços e cotas

Análise de políticas para políticas da organização em grande escala (acima de 20 consultas) por organização por dia) e visualizações de herança estão disponíveis apenas para clientes com ativações do Security Command Center em toda a organização.

A cota da Análise de políticas para políticas da organização é compartilhada entre todos a ferramenta Análise de políticas políticas. Para mais informações, consulte Perguntas sobre faturamento.

Analisar políticas configuradas

Uma política da organização é criada com base em uma restrição e condições opcionais em que a restrição é aplicada. Você pode usar a ferramenta Análise de políticas políticas para retornar uma lista de políticas da organização com um uma restrição específica e os recursos aos quais essas políticas estão anexadas.

Para cada política da organização detectada no escopo da consulta, A ferramenta Análise de políticas políticas retorna uma entrada de resultado. Uma entrada de resultado contém os seguintes campos:

  • consolidatedPolicy: o recurso em que a política da organização está e a aplicação efetiva da política nesse recurso com relação à regras de avaliação da hierarquia.

  • project: o ID do recurso do projeto para o qual essa política consolidada pertence.

  • folders: o ID de qualquer recurso da pasta que são ancestrais do recurso a que a política da organização está anexada.

  • organization: o ID do recurso da organização que é o ancestral de o recurso a que a política da organização está anexada.

  • policyBundle: a política da organização completa e configurada anexada ao código acima recurso e as políticas da organização definidas nos ancestrais no hierarquia de recursos.

Console

  1. No console do Google Cloud, acesse a página Análise de políticas.

    Acessar a ferramenta Análise de políticas políticas

  2. Na seção Analisar a política da organização, encontre o painel chamado Onde as políticas específicas da organização são configuradas? e clique em Criar consulta nesse painel.

  3. Na caixa Selecionar organização da consulta, escolha a organização para a qual você quer analisar as políticas da organização.

  4. Selecione o tipo de restrição que você quer analisar. Para um modelo restrição, selecione Restrição integrada. Para uma restrição personalizada, selecione Restrição personalizada.

  5. Insira o nome da restrição que você quer analisar. O prefixo do campo o tipo de restrição que você está analisando já foi incluído. Por exemplo: para a restrição de domínio predefinida, insira iam.allowedPolicyMemberDomains. Para uma restrição personalizada, insira nome, como disableGkeAutoUpgrade.

  6. Clique em Analisar e depois em Executar consulta. A página do relatório mostra a consulta os parâmetros inseridos e uma tabela de resultados com todos os recursos aos quais essa restrição é aplicada diretamente.

  7. Para salvar essa consulta e consultar novamente mais tarde, clique em Copiar URL da consulta. Para conferir esta consulta, navegue até o URL gerado.

  8. É possível visualizar a herança da restrição analisada selecionando pelo menos um recurso da lista e clicando em Ver herança. Também é possível acessar imediatamente a visualização quando você criar sua consulta de análise. Para isso, clique em Analisar e, Visualizar. Consulte Visualizar herança para mais informações.

gcloud

Para analisar como uma restrição de política da organização é aplicada em uma 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:

  • CONSTRAINT_NAME: o nome da política da organização restrição que você quer analisar. Para conferir uma lista de restrições, consulte Restrições da política da organização.

  • ORGANIZATION_ID: o ID da sua organização recurso. 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 resultados que você quer. para visualizar. Para acessar entradas ilimitadas, digite unlimited.

  • FILTER_QUERY: uma consulta de filtro para mostrar apenas políticas que correspondam à expressão de filtragem. O único campo disponível para o filtro é consolidated_policy.attached_resource. Por exemplo: consolidated_policy.attached_resource="//cloudresourcemanager.googleapis.com/projects/1234567890" retornaria apenas as políticas anexadas ao projeto com o ID do projeto 1234567890.

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 analisar como uma restrição de política da organização é aplicada em uma organização, use o papel método analyzeOrgPolicies.

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 da sua organização recurso. Para mais informações sobre como encontrar o ID da organização, consulte Como criar e gerenciar organizações.

  • CONSTRAINT_NAME: o nome da política da organização restrição que você quer analisar. Para conferir uma lista de restrições, consulte Restrições da política da organização.

  • FILTER_QUERY: uma consulta de filtro para mostrar apenas políticas que correspondam à expressão de filtragem. O único campo disponível para o filtro é consolidated_policy.attached_resource. Por exemplo: consolidated_policy.attached_resource="//cloudresourcemanager.googleapis.com/projects/1234567890" retornaria apenas as políticas anexadas ao projeto com o ID do projeto 1234567890.

  • PAGE_SIZE: o número de entradas de resultados por página que você quer para visualizar. Para acessar entradas ilimitadas, digite unlimited. Uma solicitação feita com esse conjunto de sinalizações retornará um valor nextPageToken se o número total de entradas do resultado é maior que PAGE_SIZE.

  • PAGE_TOKEN: só deve ser definido em solicitações após a primeira. que inclui a sinalização page_size. Você pode usar o nextPageToken valores recebidos de respostas anteriores para retornar um 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

Nesse contexto, um contêiner é um projeto, uma pasta ou um recurso da organização. A ferramenta Análise de políticas políticas pode ser usada para retornar uma lista de todos os contêineres políticas da organização com uma restrição específica. A ferramenta também retorna o nome completo de cada contêiner, o contêiner pai na hierarquia e as tags herdadas ou anexadas a ele.

Para cada contêiner detectado no escopo da consulta, a ferramenta Análise de políticas políticas retorna uma entrada de resultado. Uma entrada de resultado contém os seguintes campos:

  • consolidatedPolicy: o contêiner em que a política da organização está e a aplicação efetiva da política nesse contêiner com relação à 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 fazer com que a política da organização não seja aplicada, o evaluationValue será FALSE. Se a condição não for compatível com um ou mais dos recursos em em que a política da organização é aplicada, a própria condição é retornada.

  • effectiveTags: todas as tags diretamente anexadas ou herdadas pelo contêiner e os pais dele na hierarquia.

  • folders: o ID de qualquer recurso da pasta que contenha o contêiner a política da organização está anexada.

  • fullResourceName: o nome completo do contêiner.

  • organization: o ID do recurso da organização que é o ancestral de o contêiner ao qual a política da organização está anexada.

  • parent: o nome completo do recurso pai do contêiner.

  • policyBundle: a política da organização configurada diretamente no contêiner. caso ela exista, e as políticas da organização definidas nos ancestrais do contêiner na hierarquia de recursos.

  • project: o ID do contêiner para o qual a política da organização está anexado, se for um recurso do projeto.

Console

  1. No console do Google Cloud, acesse a página Análise de políticas.

    Acessar a ferramenta Análise de políticas políticas

  2. Na seção Analisar a política da organização, encontre o painel chamado Quais projetos ou pastas são afetados por uma política da organização restrição? e clique em Criar consulta nesse painel.

  3. Na caixa Selecionar organização da consulta, escolha a organização para a qual você quer analisar as políticas da organização.

  4. Selecione o tipo de restrição que você quer analisar. Para um modelo restrição, selecione Restrição integrada. Para uma restrição personalizada, selecione Restrição personalizada.

  5. Insira o nome da restrição que você quer analisar. O prefixo do campo o tipo de restrição que você está analisando já foi incluído. Por exemplo: para a restrição de domínio predefinida, insira iam.allowedPolicyMemberDomains. Para uma restrição personalizada, insira nome, como disableGkeAutoUpgrade.

  6. Clique em Executar consulta. A página "Relatório" mostra os parâmetros de consulta que você inserido e uma tabela de resultados de todos os contêineres em que essa restrição aplicada ou herdada por ela.

  7. Para salvar essa consulta e consultar novamente mais tarde, clique em Copiar URL da consulta. Para conferir esta consulta, navegue até o URL gerado.

  8. É possível visualizar a herança da restrição analisada selecionando pelo menos um contêiner da lista e clicando em Ver herança. Também é possível acessar imediatamente a visualização quando você criar sua consulta de análise. Para isso, clique em Analisar e, Visualizar. Consulte Visualizar herança para mais informações.

gcloud

Para conferir uma análise de como uma restrição de política da organização é aplicada contêineres em uma 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:

  • CONSTRAINT_NAME: o nome da política da organização restrição que você quer analisar. Para conferir uma lista de restrições, consulte Restrições da política da organização.

  • ORGANIZATION_ID: o ID da sua organização recurso. 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 resultados que você que você quer visualizar. Para acessar entradas ilimitadas, digite unlimited.

  • FILTER_QUERY: uma consulta de filtro para mostrar apenas contêineres. que correspondam à expressão de filtragem. O único campo disponível para o filtro é parent. Por exemplo, parent="//cloudresourcemanager.googleapis.com/organizations/012345678901". retornaria apenas contêineres que eram filhos da organização com o ID da organização 012345678901.

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 conferir uma análise de como uma restrição de política da organização é aplicada contêineres em uma organização, use o papel método analyzeOrgPolicyGovernedContainers.

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 da sua organização recurso. Para mais informações sobre como encontrar o ID da organização, consulte Como criar e gerenciar organizações.

  • CONSTRAINT_NAME: o nome da política da organização restrição que você quer analisar. Para conferir uma lista de restrições, consulte Restrições da política da organização.

  • FILTER_QUERY: uma consulta de filtro para mostrar apenas contêineres. que correspondam à expressão de filtragem. O único campo disponível para o filtro é parent. Por exemplo: parent="//cloudresourcemanager.googleapis.com/organizations/012345678901" iria retornar apenas contêineres que eram filhos da organização com o ID da organização 012345678901.

  • PAGE_SIZE: o número de páginas de entradas de resultados que você quer para visualizar. Para acessar entradas ilimitadas, digite unlimited. Uma solicitação feita com esse conjunto de sinalizações retornará um valor nextPageToken se o número total de entradas do resultado é maior que PAGE_SIZE.

  • PAGE_TOKEN: só deve ser definido em solicitações após a primeira. que inclui a sinalização page_size. Você pode usar o nextPageToken valores recebidos de respostas anteriores para retornar um 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

Nesse contexto, um recurso é um recurso do Google Cloud ou Política de permissão do Identity and Access Management (IAM). Você pode usar a ferramenta Análise de políticas políticas retorna uma lista de todos os recursos políticas da organização com uma restrição específica. As restrições personalizadas e as seguintes restrições predefinidas são aceitas:

  • 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

A ferramenta Análise de políticas políticas retorna o nome completo de cada recurso, pai na hierarquia e qualquer projeto, pasta e organização ancestral recursos acima do ativo na hierarquia.

Para cada recurso detectado no escopo da consulta, A ferramenta Análise de políticas políticas retorna uma entrada de resultado.

Uma entrada de resultado para um recurso contém os seguintes campos:

  • consolidatedPolicy: o recurso em que a política da organização está e a aplicação efetiva da política nesse recurso com relação à 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 fazer com que a política da organização não seja aplicada, o evaluationValue será FALSE. Se a condição não for compatível com um ou mais dos recursos em em que a política da organização é aplicada, a própria condição é retornada.

  • assetType: o tipo de recurso.

  • effectiveTags: todas as tags diretamente anexadas ou herdadas pelo ao qual a política da organização está anexada e a configuração na hierarquia.

  • folders: o ID de qualquer recurso da pasta que contenha o recurso 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 pai.

  • project: o ID do projeto que contém o recurso.

  • policyBundle: a política da organização completa e configurada anexada ao código acima recurso e as políticas da organização definidas nos ancestrais no hierarquia de recursos.

Uma entrada de resultado para uma política de permissão contém os seguintes campos:

  • consolidatedPolicy: o recurso em que a política da organização está e a aplicação efetiva da política nesse recurso com relação à regras de avaliação da hierarquia.

  • assetType: o tipo do recurso em que a política de permissão está anexado.

  • attachedResource: o nome completo do recurso para o qual a política de permissão está anexado.

  • folders: o nome do recurso relativo de qualquer pasta que contenha a permissão política.

  • 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 permissão política.

  • policyBundle: a política da organização completa e configurada anexada ao código acima recurso e as políticas da organização definidas nos ancestrais no hierarquia de recursos.

Console

  1. No console do Google Cloud, acesse a página Análise de políticas.

    Acessar a ferramenta Análise de políticas políticas

  2. Na seção Analisar a política da organização, encontre o painel chamado Quais recursos são afetados por uma restrição da política da organização? e clique em Criar consulta nesse painel.

  3. Na caixa Selecionar organização da consulta, escolha a organização para a qual você quer analisar as políticas da organização.

  4. Selecione o tipo de restrição que você quer analisar. Para um modelo restrição, selecione Restrição integrada. Para uma restrição personalizada, selecione Restrição personalizada.

  5. Insira o nome da restrição que você quer analisar. O prefixo do campo o tipo de restrição que você está analisando já foi incluído. Por exemplo: para a restrição de acesso predefinida no nível do bucket, insira storage.uniformBucketLevelAccess. Para uma restrição personalizada, insira nome, como disableGkeAccess.

  6. Clique em Executar consulta. A página "Relatório" mostra os parâmetros de consulta que você inseridos e uma tabela de resultados de todos os recursos que essa restrição aplicada ou herdada por ela.

  7. Para salvar essa consulta e consultar novamente mais tarde, clique em Copiar URL da consulta. Para conferir esta consulta, navegue até o URL gerado.

  8. É possível visualizar a herança da restrição analisada selecione pelo menos um recurso da lista e clique em Ver herança. Também é possível acessar imediatamente a visualização quando você criar sua consulta de análise. Para isso, clique em Analisar e, Visualizar. Consulte Visualizar herança para mais informações.

gcloud

Para conferir uma análise de como uma restrição de política da organização é aplicada ativos dentro de uma 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:

  • CONSTRAINT_NAME: o nome da política da organização restrição que você quer analisar. Para conferir uma lista de restrições, consulte Restrições da política da organização.

  • ORGANIZATION_ID: o ID da sua organização recurso. 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 resultados que você quer. para visualizar. Para acessar entradas ilimitadas, digite unlimited.

  • FILTER_QUERY: uma consulta de filtro para mostrar apenas recursos que correspondam à expressão de filtragem. Os campos disponíveis para os filtros são governed_resource.folders, governed_resource.project, governed_iam_policy.folders e governed_iam_policy.project. Para exemplo, governed_resource.project="projects/1234567890" só retornaria recursos anexados ao projeto com o ID do projeto 1234567890.

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 conferir uma análise de como uma restrição de política da organização é aplicada em uma organização, use o papel método analyzeOrgPolicyGovernedAssets.

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 da sua organização recurso. Para mais informações sobre como encontrar o ID da organização, consulte Como criar e gerenciar organizações.

  • CONSTRAINT_NAME: o nome da política da organização restrição que você quer analisar. Para conferir uma lista de restrições, consulte Restrições da política da organização.

  • FILTER_QUERY: uma consulta de filtro para mostrar apenas recursos que correspondam à expressão de filtragem. Os campos disponíveis para os filtros são governed_resource.folders, governed_resource.project, governed_iam_policy.folders e governed_iam_policy.project. Para exemplo, governed_resource.project="projects/1234567890" só retornaria recursos anexados ao projeto com o ID do projeto 1234567890.

  • PAGE_SIZE: o número de páginas de entradas de resultados que você quer para visualizar. Para acessar entradas ilimitadas, digite unlimited. Uma solicitação feita com esse conjunto de sinalizações retornará um valor nextPageToken se o número total de entradas do resultado é maior que PAGE_SIZE.

  • PAGE_TOKEN: só deve ser definido em solicitações após a primeira. que inclui a sinalização page_size. Você pode usar o nextPageToken valores recebidos de respostas anteriores para retornar um 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"
    }
  }
}

Visualizar herança

Se você tiver uma ativação do nível premium no nível da organização o Security Command Center, é possível conferir a herança das políticas da organização analisadas usando o console do Google Cloud.

Para acessar a visualização de herança, crie uma análise de política da organização consultar as políticas configuradas; contêineres ou recursos. No(s) dia(s) Executar análise de consulta, clique em Analisar e selecione Visualizar.

Você também pode acessar o URL de uma consulta salva, selecionar os recursos que deseja destacar e, em seguida, clique em Ver herança.

A página Herança de recursos mostra uma visualização do recurso. dos recursos selecionados na consulta de análise:

Visualização da herança de políticas da organização em uma hierarquia de recursos. Visualização de uma política booleana não aplicada.

  1. Indica se o recurso é uma organização, pasta ou projeto.

  2. Um ponto azul indica que o recurso está selecionado na consulta.

  3. Indica que o recurso substitui a política do recurso pai.

  4. Indica que o recurso redefine a política da organização para a configuração padrão para essa política. Um recurso que redefine a política para o padrão tem um linha pontilhada que a conecta ao pai.

  5. Indica que a política de mescla de recursos com o pai dela.

  6. Indica que a política da organização neste recurso aplica uma booleana ou uma restrição de lista com caracteres e a distribuição dos valores dos dados.

  7. Indica que a política da organização neste recurso é uma restrição de lista com valores negados.

  8. Indica que a política da organização neste recurso é um booleano que não é aplicada.

A seguir