Restrições da política da organização para o Cloud Load Balancing

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 restrições de política da organização para aplicar as configurações do balanceador de carga em um projeto, uma pasta ou uma organização inteira.

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:

constraints/compute.restrictLoadBalancerCreationForTypes

Ao definir a restrição compute.restrictLoadBalancerCreationForTypes, você especifica os tipos do Cloud Load Balancing que não são permitidos. Para ver uma lista de tipos disponíveis, consulte Restringir a criação de balanceadores de carga.

Como configurar uma política da organização

Console

Para definir a política da organização do Cloud Load Balancing no console, conclua as etapas a seguir:

  1. No Console do Google Cloud, acesse a página Políticas da organização.

    Acessar a página "Políticas da organização"

  2. No campo Filtro, digite load e selecione constraints/compute.restrictLoadBalancerCreationForTypes.
  3. Clique em Restringir a criação do balanceador de carga com base nos tipos de balanceador de carga.
  4. Clique em Editar para editar as restrições atuais da política do Cloud Load Balancing.
  5. Para criar uma política personalizada, selecione Personalizar.
  6. Depois de fazer alterações, clique em Salvar para aplicar as configurações de restrição.

gcloud

Para definir a política da organização de Login do SO, use o comando gcloud resource-manager org-policies enable-enforce.

  1. Encontre o ID da sua organização

    gcloud organizations list
  2. Crie o arquivo de política, conforme mostrado nos exemplos a seguir.

    Listar os valores a serem negados

    {
     "constraint": "constraints/compute.restrictLoadBalancerCreationForTypes",
     "listPolicy": {
       "deniedValues": [
         "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": [
         "EXTERNAL"
       ]
     }
    }
    

    Negar todos os balanceadores de carga

    {
      "constraint": "constraints/compute.restrictLoadBalancerCreationForTypes",
      "listPolicy": {
        "allValues": "DENY"
      }
    }
    
  3. Defina a restrição na sua organização. Substitua ORGANIZATION_ID pelo ID da organização.

    gcloud resource-manager org-policies set-policy POLICY_FILE \
        --organization=ORGANIZATION_ID
    

    É possível também aplicar a política da organização de Login do SO a uma pasta ou um projeto com as sinalizações --folder ou --project e o ID da pasta e do projeto, respectivamente.

    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 o seguinte:

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 o Cloud Load Balancing 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.

Para saber mais sobre como definir políticas da organização, incluindo descrições das opções disponíveis, consulte Como criar e gerenciar políticas da organização e Como usar restrições.

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 ou service
  • NAME: o nome do balanceador de carga.

A seguir