Google Cloud A Política da Organização oferece controle centralizado e programático sobre os recursos da sua organização. Como administrador da política da organização , você pode definir uma política da organização, que é um conjunto de restrições chamadas restrições que se aplicam aGoogle Cloud recursos e descendentes desses recursos no Google Cloud hierarquia de recursos . Você pode impor políticas da organização no nível da organização, da pasta ou do projeto.
A Política da Organização fornece restrições predefinidas para váriosGoogle Cloud serviços. No entanto, se desejar um controle mais granular e personalizável sobre os campos específicos restritos nas políticas da sua organização, você também poderá criar restrições personalizadas e usar essas restrições personalizadas em uma política personalizada da organização.
Benefícios
- Gerenciamento de custos : use políticas organizacionais personalizadas para restringir a instância de VM e os tamanhos e tipos de disco que podem ser usados em sua organização. Você também pode restringir a família de máquinas usada para a instância de VM
- Segurança, conformidade e governança : você pode usar políticas personalizadas da organização para impor políticas da seguinte maneira:
- Para impor requisitos de segurança, você pode exigir regras específicas de porta de firewall em VMs.
- Para oferecer suporte ao isolamento de hardware ou à conformidade de licenciamento, você pode exigir que todas as VMs de um projeto ou pasta específica sejam executadas em nós de locatário individual .
- Para controlar scripts de automação, você pode usar políticas personalizadas da organização para verificar se os rótulos correspondem às expressões especificadas.
Herança de política
Por padrão, as políticas da organização são herdadas pelos descendentes dos recursos nos quais você impõe a política. Por exemplo, se você aplicar uma política a uma pasta, Google Cloud impõe a política em todos os projetos na pasta. Para saber mais sobre esse comportamento e como alterá-lo, consulte Regras de avaliação de hierarquia .
Preços
O Serviço de Política da Organização, incluindo políticas da organização predefinidas e personalizadas, é oferecido gratuitamente.
Antes de começar
- Se ainda não o fez, configure a autenticação. Autenticação é o processo pelo qual sua identidade é verificada para acesso a Google Cloud serviços e APIs. Para executar códigos ou amostras em um ambiente de desenvolvimento local, você pode se autenticar no Compute Engine selecionando uma das seguintes opções:
Select the tab for how you plan to use the samples on this page:
Console
When you use the Google Cloud console to access Google Cloud services and APIs, you don't need to set up authentication.
gcloud
-
After installing the Google Cloud CLI, initialize it by running the following command:
gcloud init
If you're using an external identity provider (IdP), you must first sign in to the gcloud CLI with your federated identity.
- Set a default region and zone.
- Certifique-se de saber o ID da sua organização .
- Administrador de políticas da organização (
roles/orgpolicy.policyAdmin
) no recurso da organização - Para testar as restrições: Compute Instance Admin (v1) (
roles/compute.instanceAdmin.v1
) no projeto -
orgpolicy.constraints.list
-
orgpolicy.policies.create
-
orgpolicy.policies.delete
-
orgpolicy.policies.list
-
orgpolicy.policies.update
-
orgpolicy.policy.get
-
orgpolicy.policy.set
- Para testar as restrições:
-
compute.instances.create
no projeto - Para usar uma imagem personalizada para criar a VM:
compute.images.useReadOnly
na imagem - Para usar um instantâneo para criar a VM:
compute.snapshots.useReadOnly
no instantâneo - Para usar um modelo de instância para criar a VM:
compute.instanceTemplates.useReadOnly
no modelo de instância - Para atribuir uma rede legada à VM:
compute.networks.use
no projeto - Para especificar um endereço IP estático para a VM:
compute.addresses.use
no projeto - Para atribuir um endereço IP externo à VM ao usar uma rede legada:
compute.networks.useExternalIp
no projeto - Para especificar uma sub-rede para a VM:
compute.subnetworks.use
no projeto ou na sub-rede escolhida - Para atribuir um endereço IP externo à VM ao usar uma rede VPC:
compute.subnetworks.useExternalIp
no projeto ou na sub-rede escolhida - Para definir metadados de instância de VM para a VM:
compute.instances.setMetadata
no projeto - Para definir tags para a VM:
compute.instances.setTags
na VM - Para definir rótulos para a VM:
compute.instances.setLabels
na VM - Para definir uma conta de serviço para a VM usar:
compute.instances.setServiceAccount
na VM - Para criar um novo disco para a VM:
compute.disks.create
no projeto - Para anexar um disco existente no modo somente leitura ou leitura-gravação:
compute.disks.use
no disco - Para anexar um disco existente no modo somente leitura:
compute.disks.useReadOnly
no disco
-
- Disco permanente :
compute.googleapis.com/Disk
- Tipo de disco permanente:
resource.type
- Tamanho do disco permanente:
resource.sizeGb
- Licenças de disco permanente:
resource.licenses
- Códigos de licença de disco permanente:
resource.licenseCodes
- Computação confidencial de disco permanente:
resource.enableConfidentialCompute
- Tipo de disco permanente:
- Imagem :
compute.googleapis.com/Image
- Origem do disco bruto:
resource.rawDisk.source
- Origem do disco bruto:
- Instância de VM :
compute.googleapis.com/Instance
- Recursos avançados da máquina:
-
resource.advancedMachineFeatures.enableNestedVirtualization
-
resource.advancedMachineFeatures.threadsPerCore
-
- Configurações confidenciais de instâncias de VM:
-
resource.confidentialInstanceConfig.enableConfidentialCompute
-
resource.confidentialInstanceConfig.confidentialInstanceType
-
- Encaminhamento de IP:
resource.canIpForward
- Proteção contra exclusão:
resource.deletionProtection
- Marcadores:
resource.labels
- Aceleradores:
-
resource.guestAccelerators.acceleratorType
-
resource.guestAccelerators.acceleratorCount
-
- Tipo de máquina:
resource.machineType
- Plataforma mínima de CPU:
resource.minCpuPlatform
- Interface de rede:
-
resource.networkInterfaces.network
-
resource.networkInterfaces.subnetwork
-
- Afinidade do nó:
-
resource.scheduling.nodeAffinities.key
-
resource.scheduling.nodeAffinities.operator
-
resource.scheduling.nodeAffinities.values
-
- Acesso privado do Google (IPv6):
resource.privateIpv6GoogleAccess
- Recursos avançados da máquina:
- Outros recursos de computação suportados:
- Para obter mais informações sobre os recursos do Compute Engine usados pelo Cloud Load Balancing, como serviços de back-end, buckets de back-end, regras de encaminhamento, verificações de integridade, políticas SSL, proxies de destino e mapas de URL, consulte a página Gerenciar recursos do Cloud Load Balancing usando restrições personalizadas .
No console do Google Cloud, acesse a página Políticas da organização .
Selecione o seletor de projetos na parte superior da página.
No seletor de projetos , selecione o recurso para o qual deseja definir a política da organização.
Clique em
restrição personalizada .Na caixa Nome para exibição , insira um nome amigável para a restrição. Este campo tem um comprimento máximo de 200 caracteres. Não use PII ou dados confidenciais em nomes de restrições, pois eles podem ser expostos em mensagens de erro.
Na caixa ID da restrição , insira o nome desejado para sua nova restrição personalizada. Uma restrição personalizada deve começar com
custom.
e só pode incluir letras maiúsculas, letras minúsculas ou números, por exemplo,custom.createOnlyN2DVMs
. O comprimento máximo deste campo é de 70 caracteres, sem contar o prefixo, por exemplo,organizations/123456789/customConstraints/custom.
.Na caixa Descrição , insira uma descrição amigável da restrição para exibir como uma mensagem de erro quando a política for violada. Este campo tem um comprimento máximo de 2.000 caracteres.
Na caixa Tipo de recurso , selecione o nome do Google CloudRecurso REST contendo o objeto e o campo que você deseja restringir. Por exemplo,
compute.googleapis.com/Instance
.Em Método de aplicação , selecione se deseja impor a restrição no método REST
CREATE
.Para definir uma condição, clique em
Editar condição .No painel Incluir condição , crie uma condição CEL que se refira a um recurso de serviço suportado, por exemplo
. Este campo tem um comprimento máximo de 1000 caracteres.resource.machineType.contains('/machineTypes/n2d')
Clique em Salvar .
Em Action , selecione se deseja permitir ou negar o método avaliado se a condição anterior for atendida.
Clique em Criar restrição .
ORGANIZATION_ID
: o ID da sua organização, como123456789
.CONSTRAINT_NAME
: o nome que você deseja para sua nova restrição personalizada. Uma restrição personalizada deve começar comcustom.
e só pode incluir letras maiúsculas, letras minúsculas ou números. Por exemplo,custom.createOnlyN2DVMs
. O comprimento máximo deste campo é de 70 caracteres, sem contar o prefixo (por exemplo,organizations/123456789/customConstraints/custom.
).RESOURCE_NAME
: o nome (não o URI) do recurso REST da API Compute Engine que contém o objeto e o campo que você deseja restringir. Por exemplo,Instance
.CONDITION
: uma condição CEL escrita em uma representação de um recurso de serviço suportado. Este campo tem um comprimento máximo de 1000 caracteres. Consulte Recursos suportados para obter mais informações sobre os recursos disponíveis para gravação de condições. Por exemplo,"resource.machineType.contains('/machineTypes/n2d')"
.ACTION
: a ação a ser tomada se acondition
for atendida. Isso pode serALLOW
ouDENY
.DISPLAY_NAME
: um nome amigável para a restrição. Este campo tem um comprimento máximo de 200 caracteres.DESCRIPTION
: uma descrição amigável da restrição a ser exibida como uma mensagem de erro quando a política for violada. Este campo tem um comprimento máximo de 2.000 caracteres.- No console do Google Cloud, acesse a página Políticas da organização .
- No seletor de projetos, selecione o projeto para o qual deseja definir a política da organização.
- Na lista da página Políticas da organização , selecione sua restrição para visualizar a página Detalhes da política dessa restrição.
- Para configurar a política da organização para este recurso, clique em Gerenciar política .
- Na página Editar política , selecione Substituir política dos pais .
- Clique em Adicionar uma regra .
- Na seção Aplicação , selecione se a aplicação desta política da organização está ativada ou desativada.
- Opcional: para tornar a política da organização condicional a uma tag, clique em Adicionar condição . Observe que se você adicionar uma regra condicional a uma política da organização, deverá adicionar pelo menos uma regra incondicional ou a política não poderá ser salva. Para obter mais informações, consulte Configurando uma política da organização com tags .
- Se esta for uma restrição personalizada, você poderá clicar em Testar alterações para simular o efeito desta política da organização. Para obter mais informações, consulte Testar alterações na política da organização com o Policy Simulator .
- Para finalizar e aplicar a política da organização, clique em Definir política . A política requer até 15 minutos para entrar em vigor.
-
PROJECT_ID
: o projeto no qual você deseja aplicar sua restrição. -
CONSTRAINT_NAME
: o nome que você definiu para sua restrição personalizada. Por exemplo,
.custom.createOnlyN2DVMs
Crie um arquivo de restrição
onlyN2DVMs.yaml
com as seguintes informações:name: organizations/ORGANIZATION_ID/customConstraints/custom.createOnlyN2DVMs resource_types: compute.googleapis.com/Instance condition: "resource.machineType.contains('/machineTypes/n2d')" action_type: ALLOW method_types: CREATE display_name: Only N2D VMs allowed description: Restrict all VMs created to only use N2D machine types.
Defina a restrição personalizada.
gcloud org-policies set-custom-constraint onlyN2DVMs.yaml
Crie um arquivo de política
onlyN2DVMs-policy.yaml
com as informações a seguir. Neste exemplo, aplicamos essa restrição no nível do projeto, mas você também pode definir isso no nível da organização ou da pasta. SubstituaPROJECT_ID
pelo ID do seu projeto.name: projects/PROJECT_ID/policies/custom.createOnlyN2DVMs spec: rules: – enforce: true
Aplique a política.
gcloud org-policies set-policy onlyN2DVMs-policy.yaml
Teste a restrição tentando criar uma VM que use um tipo de máquina que não seja uma máquina N2D.
gcloud compute instances create my-test-instance \ --project=PROJECT_ID \ --zone=us-central1-c \ --machine-type=e2-medium
A saída é semelhante à seguinte:
ERROR: (gcloud.compute.instances.create) Could not fetch resource: – Operation denied by custom org policies: [customConstraints/
custom.createOnlyN2DVMs
]: Restrict all VMs created to only use N2D machine types.- Consulte Introdução ao Serviço de Política da Organização para saber mais sobre as políticas da organização.
- Saiba mais sobre como criar e gerenciar políticas da organização .
- Veja a lista completa de restrições de política predefinidas da organização .
Funções obrigatórias
Para receber as permissões necessárias para gerenciar políticas da organização para recursos do Compute Engine, peça ao administrador que conceda a você os seguintes papéis do IAM:
Para obter mais informações sobre a concessão de funções, consulte Gerenciar acesso a projetos, pastas e organizações .
Esses papéis predefinidos contêm as permissões necessárias para gerenciar políticas da organização para recursos do Compute Engine. Para ver 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 gerenciar políticas da organização para recursos do Compute Engine:
Você também poderá obter essas permissões com funções personalizadas ou outras funções predefinidas .
Recursos compatíveis com o Compute Engine
Para o Compute Engine, você pode definir restrições personalizadas nos seguintes recursos e campos.
Configurar uma restrição personalizada
Uma restrição personalizada é definida pelos recursos, métodos, condições e ações que são suportados pelo serviço no qual você está aplicando a política da organização. As condições para suas restrições personalizadas são definidas usando Common Expression Language (CEL) . Para obter mais informações sobre como criar condições em restrições customizadas usando CEL, consulte a seção CEL de Criando e gerenciando políticas organizacionais customizadas .
Você pode criar uma restrição personalizada e configurá-la para uso em políticas da organização usando o console do Google Cloud ou a CLI gcloud.
Console
Depois de inserir um valor em cada campo, a configuração YAML equivalente para essa restrição personalizada aparece à direita.
gcloud
Para criar uma restrição personalizada usando a CLI gcloud, crie um arquivo YAML para a restrição personalizada:
name: organizations/ORGANIZATION_ID/customConstraints/CONSTRAINT_NAME resource_types: compute.googleapis.com/RESOURCE_NAME method_types: CREATE condition: CONDITION action_type: ACTION display_name: DISPLAY_NAME description: DESCRIPTION
Substitua o seguinte:
Para obter mais informações sobre como criar uma restrição customizada, consulte Criando e gerenciando políticas personalizadas da organização .
Depois de criar o arquivo YAML para uma nova restrição customizada, você deverá configurá-lo para disponibilizá-lo para políticas da organização em sua organização. Para configurar uma restrição personalizada, use o comandogcloud org-policies set-custom-constraint
: Substituagcloud org-policies set-custom-constraint CONSTRAINT_PATH
CONSTRAINT_PATH
pelo caminho completo para seu arquivo de restrição customizado. Por exemplo,/home/user/customconstraint.yaml
. Depois de concluídas, suas restrições personalizadas estarão disponíveis como políticas da organização na sua lista de Google Cloud políticas da organização. Para verificar se a restrição personalizada existe, use o comandogcloud org-policies list-custom-constraints
: Substituagcloud org-policies list-custom-constraints --organization=ORGANIZATION_ID
ORGANIZATION_ID
pelo ID do recurso da sua organização. Para obter mais informações, consulte Visualizando políticas da organização .Aplicar uma restrição personalizada
Você pode impor uma restrição booleana criando uma política da organização que faça referência a ela e, em seguida, aplicando essa política da organização a um Google Cloud recurso.Console
gcloud
Para criar uma política da organização que imponha uma restrição booleana, crie um arquivo YAML de política que faça referência à restrição:
name: projects/PROJECT_ID/policies/CONSTRAINT_NAME spec: rules: - enforce: true
Substitua o seguinte:
Para impor a política da organização que contém a restrição, execute o seguinte comando:
gcloud org-policies set-policy POLICY_PATH
Substitua
POLICY_PATH
pelo caminho completo para o arquivo YAML de política da sua organização. A política requer até 15 minutos para entrar em vigor.Exemplo: Crie uma restrição que restrinja as VMs a usar o tipo de máquina N2D
gcloud
Exemplo de restrições personalizadas para casos de uso comuns
As seções a seguir fornecem a sintaxe de algumas restrições personalizadas que podem ser úteis:
Disco
Caso de uso Sintaxe O tipo de disco permanente deve ser "Disco persistente extremo ( pd-extreme
)"name: organizations/ORGANIZATION_ID/customConstraints/custom.createDisksPDExtremeOnly resource_types: compute.googleapis.com/Disk condition: "resource.type.contains('pd-extreme')" action_type: ALLOW method_types: CREATE display_name: Create pd-extreme disks only description: Only the extreme persistent disk type is allowed to be created.
O tamanho do disco deve ser menor ou igual a 250 GB name: organizations/ORGANIZATION_ID/customConstraints/custom.createDisksLessThan250GB resource_types: compute.googleapis.com/Disk condition: "resource.sizeGb <= 250" action_type: ALLOW method_types: CREATE display_name: Disks size maximum is 250 GB description: Restrict the boot disk size to 250 GB or less for all VMs.
Imagem
Caso de uso Sintaxe As imagens de origem precisam ser apenas do Cloud Storage test_bucket
name: organizations/ORGANIZATION_ID/customConstraints/custom.createDisksfromStoragebucket resource_types: compute.googleapis.com/Image condition: "resource.rawDisk.source.contains('storage.googleapis.com/test_bucket/')" action_type: ALLOW method_types: CREATE display_name: Source image must be from Cloud Storage test_bucket only description: Source images used in this project must be imported from the Cloud Storage test_bucket.
Instância de VM
Caso de uso Sintaxe A VM deve ter um rótulo com a chave definida para cost center
name: organizations/ORGANIZATION_ID/customConstraints/custom.createVMWithLabel resource_types: compute.googleapis.com/Instance condition: "'cost_center' in resource.labels" action_type: ALLOW method_types: CREATE display_name: 'cost_center' label required description: Requires that all VMs created must have the a 'cost_center' label that can be used for tracking and billing purposes.
A VM deve ter um rótulo com a chave definida como cost center
e o valor definido comoeCommerce
name: organizations/ORGANIZATION_ID/customConstraints/custom.createECommerceVMOnly resource_types: compute.googleapis.com/Instance condition: "'cost_center' in resource.labels and resource.labels['cost_center'] == 'eCommerce'" action_type: ALLOW method_types: CREATE display_name: Label (cost_center/eCommerce) required description: Label required and Key/value must be cost_center/eCommerce.
A VM deve usar o tipo de máquina N2D name: organizations/ORGANIZATION_ID/customConstraints/custom.createOnlyN2DVMs resource_types: compute.googleapis.com/Instance condition: "resource.machineType.contains('/machineTypes/n2d')" action_type: ALLOW method_types: CREATE display_name: Only N2D VMs allowed description: Restrict all VMs created to only use N2D machine types.
A VM deve usar o tipo de máquina e2-highmem-8
name: organizations/ORGANIZATION_ID/customConstraints/custom.createOnlyE2highmem8 resource_types: compute.googleapis.com/Instance condition: "resource.machineType.endsWith('-e2-highmem-8')" action_type: ALLOW method_types: CREATE display_name: Only "e2-highmem-8" VMs allowed description: Restrict all VMs created to only use the E2 high-memory machine types that have 8 vCPUs.
Garante que as VMs sejam agendadas no grupo de nós "foo" name: organizations/ORGANIZATION_ID/customConstraints/custom.createOnlySTVM resource_types: compute.googleapis.com/Instance condition: "resource.scheduling.nodeAffinities.exists(n, n.key == 'foo')" action_type: ALLOW method_types: CREATE display_name: Only VMs scheduled on node group "foo" allowed description: Restrict all VMs created to use the node group "foo".
O que vem a seguir
Exceto em caso de indicação contrária, o conteúdo desta página é licenciado de acordo com a Licença de atribuição 4.0 do Creative Commons, e as amostras de código são licenciadas de acordo com a Licença Apache 2.0. Para mais detalhes, consulte as políticas do site do Google Developers. Java é uma marca registrada da Oracle e/ou afiliadas.
Última atualização 2025-04-21 UTC.
-