Nesta página, você encontra informações complementares sobre as restrições da política da organização que se aplicam ao Cloud Load Balancing. Use as restrições da política da organização para aplicar configurações em todo um projeto, uma pasta ou uma organização.
As políticas da organização só são válidas para novos recursos. As restrições não são aplicadas de maneira retroativa. Se você tiver recursos de balanceamento de carga preexistentes que violam uma nova política da organização, precisará lidar com essas violações manualmente.
Para ver uma lista completa das restrições disponíveis, consulte Restrições da política da organização.
Restringir tipos de balanceadores de carga
Use uma política da organização para restringir os tipos de Cloud Load Balancing que podem ser criados na sua organização. Defina a seguinte restrição de política da organização:
- Nome: restringir a criação de balanceadores de carga com base em tipos de balanceador de carga
- ID:
constraints/compute.restrictLoadBalancerCreationForTypes
Ao definir a restrição compute.restrictLoadBalancerCreationForTypes
, você especifica uma lista de permissões ou uma lista de bloqueio dos tipos do
Cloud Load Balancing. A lista de valores permitidos ou negados só pode incluir valores da
seguinte lista:
- Balanceadores de carga de aplicativo
GLOBAL_EXTERNAL_MANAGED_HTTP_HTTPS
para o balanceador de carga de aplicativo externo globalEXTERNAL_HTTP_HTTPS
para o balanceador de carga clássico do aplicativoEXTERNAL_MANAGED_HTTP_HTTPS
para o balanceador de carga regional externoGLOBAL_INTERNAL_MANAGED_HTTP_HTTPS
para o balanceador de carga interno interregional do aplicativo entre regiõesINTERNAL_HTTP_HTTPS
para o balanceador de carga interno regional do aplicativo
- Balanceadores de carga de rede de proxy
GLOBAL_EXTERNAL_MANAGED_TCP_PROXY
para o balanceador de carga de rede do proxy externo global com um proxy TCPGLOBAL_EXTERNAL_MANAGED_SSL_PROXY
para o balanceador de carga de rede do proxy externo global com um proxy SSLEXTERNAL_TCP_PROXY
para o balanceador de carga de rede do proxy clássico com um proxy TCPEXTERNAL_SSL_PROXY
para o balanceador de carga de rede do proxy clássico com um proxy SSLREGIONAL_EXTERNAL_MANAGED_TCP_PROXY
para o balanceador de carga de rede do proxy externo regional com um proxy TCPREGIONAL_INTERNAL_MANAGED_TCP_PROXY
para o balanceador de carga de rede de proxy interno regional com um proxy TCPGLOBAL_INTERNAL_MANAGED_TCP_PROXY
para o balanceador de carga de rede de proxy interno entre regiões com um proxy TCP
- Balanceadores de carga de rede de passagem
EXTERNAL_NETWORK_TCP_UDP
para o balanceador de carga de rede de passagem externaINTERNAL_TCP_UDP
para o balanceador de carga de rede de passagem interna
Para incluir todos os tipos internos ou externos de balanceador de carga, use o prefixo in:
seguido de INTERNAL
ou EXTERNAL
. Por exemplo, permitir in:INTERNAL
permite que todos os balanceadores de carga internos da lista anterior sejam permitidos.
Para ver instruções de exemplo sobre como usar essa restrição, consulte Configurar restrições de lista com políticas da organização.
Depois de definir a política, ela será aplicada ao adicionar as respectivas regras de encaminhamento do Google Cloud. A restrição não é aplicada nas configurações existentes do Cloud Load Balancing.
Se você tentar criar um balanceador de carga de um tipo que viole a restrição, a tentativa falhará e uma mensagem de erro será gerada. A mensagem de erro tem o seguinte formato:
Constraint constraints/compute.restrictLoadBalancerCreationForTypes violated for projects/PROJECT_NAME. Forwarding Rule projects/PROJECT_NAME/region/REGION/forwardingRules/FORWARDING_RULE_NAME of type SCHEME is not allowed.
Se você definir várias restrições restrictLoadBalancerCreationForTypes
em
diferentes níveis de recursos, elas serão aplicadas
hierarquicamente.
Por isso, recomendamos definir o campo inheritFromParent
como
true
, o que garante que as políticas nas camadas superiores também sejam consideradas.
Mensagens de erro do GKE
Se você estiver usando objetos de Serviço e Entrada do Google Kubernetes Engine (GKE), o uso desta política de organização para restringir resultados de criação de balanceador de carga em uma mensagem de erro será semelhante a esta:
Warning Sync 28s loadbalancer-controller Error during sync: error running load balancer syncing routine: loadbalancer FORWARDING_RULE_NAME does not exist: googleapi: Error 412: Constraint constraints/compute.restrictLoadBalancerCreationForTypes violated for projects/PROJECT_ID. Forwarding Rule projects/PROJECT_ID/global/forwardingRules/FORWARDING_RULE_NAME of type LOAD_BALANCER_TYPE is not allowed, conditionNotMet
É possível ver as mensagens de erro do GKE executando os seguintes comandos:
kubectl get events -w
kubectl describe RESOURCE_KIND NAME
Substitua:
- RESOURCE_KIND: o tipo de balanceador de carga,
ingress
ouservice
- NAME: o nome do balanceador de carga.
Desativar balanceamento de carga global
Essa restrição booleana desativa a criação de produtos de balanceamento de carga global. Quando aplicada, só podem ser criados produtos de balanceamento de carga regionais sem dependências globais.
- Nome: desative o balanceamento de carga global
- ID:
constraints/compute.disableGlobalLoadBalancing
Por padrão, os usuários podem criar produtos de balanceamento de carga global.
Para ver instruções de exemplo sobre como usar essa restrição, consulte Configurar restrições booleanas com políticas da organização.
Restringir tipos de encaminhamento de protocolo
Use uma política da organização para restringir os tipos de encaminhamento de protocolo que podem ser criados na organização. Defina a seguinte restrição de política da organização:
- Nome: restringir encaminhamento de protocolo com base no tipo de endereço IP
- ID:
constraints/compute.restrictProtocolForwardingCreationForTypes
Quando você define a restrição compute.restrictProtocolForwardingCreationForTypes
,
você especifica uma lista de permissões ou uma lista de bloqueio dos tipos de encaminhamento de
protocolo. A lista de valores permitidos ou negados só pode incluir valores da
seguinte lista:
INTERNAL
EXTERNAL
Para ver instruções de exemplo sobre como usar essa restrição, consulte Configurar restrições de lista com políticas da organização.
Depois de definir a política, ela será aplicada ao adicionar as respectivas regras de encaminhamento do Google Cloud. A restrição não é aplicada às configurações de encaminhamento de protocolo atuais.
Se você tentar criar um encaminhamento de protocolo de implantação de um tipo que viole a restrição, a tentativa falhará, e uma mensagem de erro será gerada. A mensagem de erro tem o seguinte formato:
Constraint constraints/compute.restrictProtocolForwardingCreationForTypes violated for projects/PROJECT_NAME. Forwarding Rule projects/PROJECT_NAME/region/REGION/forwardingRules/FORWARDING_RULE_NAME of type SCHEME is not allowed.
Se você definir várias restrições restrictProtocolForwardingCreationForTypes
em
diferentes níveis de recursos e definir o campo
inheritFromParent
como true
, as restrições serão aplicadas
hierarquicamente.
Aplicar restrições de VPC compartilhada
Use as políticas da organização a seguir para restringir como os usuários podem configurar implantações de VPC compartilhada.
Restringir projetos de host de VPC compartilhada
Com essa restrição de lista, é possível restringir os projetos host da VPC compartilhada aos quais um recurso pode ser anexado.
- Nome: restrinja projetos host de VPC compartilhada
- ID:
constraints/compute.restrictSharedVpcHostProjects
Por padrão, um projeto pode ser anexado a qualquer projeto host na mesma organização, tornando-se um projeto de serviço. Ao definir a restrição
compute.restrictSharedVpcHostProjects
, você especifica uma lista de permissões ou
negação de projetos host das seguintes maneiras:
- Especifique um projeto no seguinte formato:
- projects/PROJECT_ID
- Especifique um projeto, uma pasta ou uma organização. A restrição se aplica
a todos os projetos no recurso especificado na hierarquia de recursos. Use o seguinte formato:
- .
- under:organizations/ORGANIZATION_ID
- under:folders/FOLDER_ID
Para ver instruções de exemplo sobre como usar essa restrição, consulte Configurar restrições de lista com políticas da organização.
Restringir as sub-redes de VPC compartilhadas
Esta restrição de lista define o conjunto de sub-redes VPC compartilhadas que pode ser usado por recursos qualificados. Esta restrição não se aplica a recursos dentro do mesmo projeto.
- Nome: restringir sub-redes VPC compartilhadas
- ID:
constraints/compute.restrictSharedVpcSubnetworks
Por padrão, os recursos qualificados podem usar qualquer sub-rede VPC compartilhada. Ao
definir a restrição de compute.restrictSharedVpcSubnetworks
, você especifica uma
lista restrita de sub-redes das seguintes maneiras:
- Especifique uma sub-rede no seguinte formato:
- projects/PROJECT_ID/regions/REGION/subnetworks/SUBNET_NAME.
- Especifique um projeto, uma pasta ou uma organização. A restrição se aplica
a todas as sub-redes no recurso especificado na hierarquia de recursos. Use o seguinte formato:
- .
- under:organizations/ORGANIZATION_ID
- under:folders/FOLDER_ID
- under:projects/PROJECT_ID
Para ver instruções de exemplo sobre como usar essa restrição, consulte Configurar restrições de lista com políticas da organização.
Restringir serviços de back-end entre projetos
Use essa restrição para limitar os serviços de back-end que um mapa de URL pode referenciar. Essa restrição não se aplica a serviços de back-end no mesmo projeto que o mapa de URLs.
- Nome: restrinja os serviços de back-end entre projetos
- ID:
constraints/compute.restrictCrossProjectServices
Por padrão, os mapas de URL em todos os projetos de serviço ou host podem referenciar serviços de back-end
compatíveis de outros projetos de serviço ou do projeto host na mesma
implantação de VPC compartilhada, desde que o usuário que realiza a ação tenha a
permissão compute.backendServices.use
. Ao definir a restrição restrictCrossProjectServices
, você especifica uma lista de permissões ou de proibições dos serviços de back-end das seguintes maneiras:
- Especifique serviços de back-end no seguinte formato:
- projects/PROJECT_ID/regions/REGION/backendServices/BACKEND_SERVICE_NAME
- Especifique um projeto, uma pasta ou uma organização. A restrição se aplica a todos
os serviços de back-end no recurso especificado na hierarquia de recursos. Use o seguinte formato:
- under:organizations/ORGANIZATION_ID
- under:folders/FOLDER_ID
- under:projects/PROJECT_ID
Depois de configurar uma política da organização com essa restrição, ela entrará em vigor na próxima vez que você usar o comando gcloud compute url-maps
para anexar um serviço de back-end a um mapa de URL. A restrição não
afeta retroativamente as referências existentes a nenhum serviço de back-end entre projetos.
Para ver instruções de exemplo sobre como usar essa restrição, consulte Configurar restrições de lista com políticas da organização.
Restringir a remoção da garantia compartilhada do projeto VPC
Essa restrição booleana restringe o conjunto de usuários que podem remover uma garantia do projeto host da VPC compartilhada sem permissão no nível da organização quando essa restrição já está definida como True
.
- Nome: restringir a remoção da garantia compartilhada do projeto VPC
- ID:
constraints/compute.restrictXpnProjectLienRemoval
Por padrão, qualquer usuário com a permissão para atualizar garantias pode remover uma garantia compartilhada do projeto host da VPC. A aplicação dessa restrição exige que a permissão seja concedida no nível da organização.
Para ver instruções de exemplo sobre como usar essa restrição, consulte Configurar restrições booleanas com políticas da organização.
Restringir recursos de TLS com restrições personalizadas
Para atender aos requisitos de conformidade e restringir determinados recursos do Transport Layer Security (TLS), crie a seguinte restrição de política da organização e use-a com restrições personalizadas para recursos da política de SSL:
- Nome: exigir política de SSL
- ID:
constraints/compute.requireSslPolicy
Ao usar a restrição constraints/compute.requireSslPolicy
com as restrições
personalizadas, você pode fazer o seguinte:
- Melhorar a segurança e atender aos requisitos de conformidade restringindo o uso de versões mais antigas do TLS (como 1.0 e 1.1) e de pacotes de criptografia.
- Melhorar o desempenho reduzindo o número de handshakes necessários e melhorando a compatibilidade do balanceador de carga com os clientes.
- Aplicar restrições a um nó de recurso específico e aos respectivos filhos. Por exemplo, se você negar o TLS 1.0 para uma organização, ele também será negado para todas as pastas e projetos (filhos) que descendem dessa organização.
- Defina um conjunto de proxies HTTPS e SSL de destino com uma política de SSL anexada.
Ao usar uma restrição personalizada para políticas de SSL, é possível definir suas próprias restrições nos seguintes campos:
- Perfil da política de SSL:
resource.profile
- Versão mínima do TLS para a política de SSL:
resource.minTlsVersion
- Recursos da política de SSL:
resource.customFeatures
Para aplicar uma política de SSL a um balanceador de carga de aplicativo ou balanceador de carga de rede de proxy, anexe-a ao proxy HTTPS ou SSL de destino do balanceador de carga.
Para atualizar as políticas de SSL atuais, consulte Atualizar políticas de SSL atuais anexadas a proxies de destino.
Configurar restrições booleanas com políticas da organização
Console
Para definir uma política da organização no console, siga estas etapas:
- No console do Google Cloud, acesse a página Políticas da organização.
- No campo Filtro, pesquise a restrição por Nome ou ID.
- Clique no nome da restrição.
- Clique em Editar para alterar a restrição.
- Na página Editar, selecione Personalizar.
- Em Aplicação, selecione uma opção para aplicação:
- Para ativar a aplicação dessa restrição, selecione Ativado.
- Para desativar a aplicação dessa restrição, selecione Desativado.
- Depois de fazer alterações, clique em Salvar para aplicar as configurações de restrição.
Veja instruções detalhadas sobre como personalizar políticas da organização usando o Console do Google Cloud em Como personalizar políticas para restrições booleanas.
gcloud
Para ativar a aplicação de uma restrição booleana para uma política da organização,
use o comando gcloud resource-manager org-policies
enable-enforce
da seguinte maneira.
Para ativar a restrição da remoção da garantia do projeto de VPC compartilhada:
gcloud resource-manager org-policies enable-enforce \ --organization ORGANIZATION_ID \ constraints/compute.restrictXpnProjectLienRemoval
Para desativar o balanceamento de carga global:
gcloud resource-manager org-policies enable-enforce \ --organization ORGANIZATION_ID \ constraints/compute.disableGlobalLoadBalancing
Para ver instruções detalhadas sobre como trabalhar com restrições booleanas em
gcloud
, consulte Como usar
restrições.
Configurar restrições de lista com políticas da organização
Console
Para definir uma política da organização no console, siga estas etapas:
- No console do Google Cloud, acesse a página Políticas da organização.
- No campo Filtro, pesquise a restrição por Nome ou ID. Por exemplo, para restringir projetos host da VPC compartilhada, pesquise o ID:
constraints/compute.restrictSharedVpcHostProjects
. - Clique no nome da restrição.
- Clique em Editar para alterar a restrição.
- Para criar uma política personalizada, selecione Personalizar e especifique a lista de permissões ou a lista de bloqueio de recursos. Veja instruções mais detalhadas sobre a personalização de políticas da organização usando o Console do Google Cloud em Como personalizar políticas para restrições de lista.
- Depois de fazer alterações, clique em Salvar para aplicar as configurações de restrição.
gcloud
Nesta seção, você verá alguns exemplos de configuração para mostrar como criar
e definir um arquivo de política da organização com restrição de lista. Para instruções mais detalhadas
sobre como trabalhar com restrições de lista e
políticas da organização em gcloud
, consulte Como usar
restrições.
Crie o arquivo de política. Use as seguintes amostras de configuração JSON para criar seu próprio arquivo de política com base nos seus requisitos.
Restringir tipos de balanceadores de carga
Permitir apenas um subconjunto de balanceadores de carga
{ "constraint": "constraints/compute.restrictLoadBalancerCreationForTypes", "listPolicy": { "allowedValues": [ "INTERNAL_TCP_UDP", "INTERNAL_HTTP_HTTPS", "EXTERNAL_NETWORK_TCP_UDP", "EXTERNAL_TCP_PROXY", "EXTERNAL_SSL_PROXY", "EXTERNAL_HTTP_HTTPS" ] } }
Negar todos os balanceadores de carga externos
{ "constraint": "constraints/compute.restrictLoadBalancerCreationForTypes", "listPolicy": { "deniedValues": [ "in:EXTERNAL" ] } }
Negar todos os balanceadores de carga
{ "constraint": "constraints/compute.restrictLoadBalancerCreationForTypes", "listPolicy": { "allValues": "DENY" } }
Restringir tipos de encaminhamento de protocolo
Negar o encaminhamento de todos os protocolos
{ "constraint": "constraints/compute.restrictProtocolForwardingCreationForTypes", "listPolicy": { "allValues": "DENY" } }
Permitir apenas o encaminhamento de protocolo interno
{ "constraint": "constraints/compute.restrictProtocolForwardingCreationForTypes", "listPolicy": { "deniedValues": [ "EXTERNAL" ] } }
Restringir configurações de VPC compartilhada
Restringir projetos de host de VPC compartilhada
{ "constraint": "constraints/compute.restrictSharedVpcHostProjects", "listPolicy": { "allowedValues": [ "under:folders/FOLDER_ID", "under:projects/PROJECT_ID" ] } }
Restringir as sub-redes de VPC compartilhadas
{ "constraint": "constraints/compute.restrictSharedVpcSubnetworks", "listPolicy": { "deniedValues": [ "under:organizations/ORGANIZATION_ID", "projects/PROJECT_ID/regions/REGION/subnetworks/SUBNET_NAME" ] } }
Restringir os serviços de back-end da VPC compartilhada
{ "constraint": "constraints/compute.restrictCrossProjectServices", "listPolicy": { "allowedValues": [ "under:folders/FOLDER_ID", "under:projects/PROJECT_ID", "projects/PROJECT_ID/regions/REGION/backendServices/BACKEND_SERVICE_NAME" ] } }
Aplique a restrição a um recurso: uma organização, pasta ou projeto.
Para organizações, execute o seguinte comando:
gcloud resource-manager org-policies set-policy POLICY_FILE \ --organization=ORGANIZATION_ID
Para pastas, execute o seguinte comando:
gcloud resource-manager org-policies set-policy POLICY_FILE \ --folder=FOLDER_ID
Para projetos, execute o seguinte comando:
gcloud resource-manager org-policies set-policy POLICY_FILE \ --project=PROJECT_ID
Substitua:
ORGANIZATION_ID
: o ID da organização.FOLDER_ID
: o ID da pasta.PROJECT_ID
: o ID do projeto.
Configurar uma política da organização para aplicar uma política de SSL aos proxies HTTPS e SSL de destino
Console
Para definir uma política da organização no console, siga estas etapas:
No console do Google Cloud, acesse a página Políticas da organização.
No campo Filtro, pesquise a restrição por Nome ou ID.
Clique no nome da restrição.
Clique em Editar para alterar a restrição.
Para criar uma política personalizada, selecione Personalizar e especifique a lista de permissões ou de bloqueio de recursos.
Depois de fazer alterações, clique em Salvar para aplicar as configurações de restrição.
gcloud
Nesta seção, fornecemos alguns exemplos de configuração que mostram como criar e definir um arquivo de política da organização com a restrição constraints/compute.requireSslPolicy
.
Crie um arquivo de política para proibir o uso da política de SSL.
{ "constraint": "constraints/compute.requireSslPolicy", "listPolicy": { "allValues": "DENY" } }
Crie um arquivo de política para aplicar uma política de SSL a todos os proxies HTTPS e SSL de destino no recurso especificado na hierarquia de recursos:
{ "constraint": "constraints/compute.requireSslPolicy", "listPolicy": { "allowedValues": [ "under:folders/FOLDER_ID", "under:projects/PROJECT_ID" ] } }
Aplique a restrição a proxies HTTPS e SSL de destino: uma organização, pasta ou projeto.
Para organizações, execute o seguinte comando:
gcloud resource-manager org-policies set-policy PATH_TO_POLICY_FILE \ --organization=ORGANIZATION_ID
Para pastas, execute o seguinte comando:
gcloud resource-manager org-policies set-policy PATH_TO_POLICY_FILE \ --folder=FOLDER_ID
Para projetos, execute o seguinte comando:
gcloud resource-manager org-policies set-policy PATH_TO_POLICY_FILE \ --project=PROJECT_ID
Substitua:
PATH_TO_POLICY_FILE
: o caminho para o arquivo de políticaORGANIZATION_ID
: o ID da organizaçãoFOLDER_ID
: o ID da pastaPROJECT_ID
: o ID do projeto
Para usar a política vigente e verificar o comportamento padrão do recurso (organização, pasta ou projeto), execute os seguintes comandos:
Para organizações:
gcloud resource-manager org-policies describe compute.requireSslPolicy \ --effective \ --organization=ORGANIZATION_ID
Para pastas:
gcloud resource-manager org-policies describe compute.requireSslPolicy \ --effective \ --folder=FOLDER_ID
Para projetos:
gcloud resource-manager org-policies describe compute.requireSslPolicy \ --effective \ --project=PROJECT_ID
Para excluir a política do recurso (organização, pasta ou projeto), execute os seguintes comandos:
Para organizações:
gcloud resource-manager org-policies delete compute.requireSslPolicy \ --organization=ORGANIZATION_ID
Para pastas:
gcloud resource-manager org-policies delete compute.requireSslPolicy \ --folder=FOLDER_ID
Para projetos:
gcloud resource-manager org-policies delete compute.requireSslPolicy \ --project=PROJECT_ID
Para configurar restrições personalizadas, consulte Usar restrições personalizadas para restringir recursos de TLS.
A seguir
- Para saber mais sobre a hierarquia de recursos que se aplica às políticas da organização, consulte Hierarquia de recursos.
- Para uma visão geral das políticas e restrições da organização, consulte Introdução ao serviço de políticas da organização.
- Para ver instruções sobre como trabalhar com restrições e políticas da organização no Console do Google Cloud, consulte Como criar e gerenciar políticas da organização.
- Para ver instruções sobre como trabalhar com restrições e políticas da organização
em
gcloud
, consulte Como usar restrições. - Para ver uma lista completa das restrições disponíveis, consulte Restrições da política da organização.
- Para métodos de API relevantes para as políticas da organização, consulte a documentação de referência da API Resource Manager.