Gerenciar a segurança para consumidores do Private Service Connect

Nesta página, descrevemos como os consumidores de serviço podem configurar a segurança para organizações de consumidores e redes VPC que usam o Private Service Connect.

As políticas da organização permitem que os administradores controlem amplamente quais redes VPC ou organizações às quais os projetos podem se conectar usando endpoints e back-ends do Private Service Connect. As regras de firewall da VPC e as políticas de firewall permitem que os administradores de rede controlem o acesso no nível da rede aos recursos do Private Service Connect. As políticas da organização e as regras de firewall são complementares e podem ser usadas em conjunto.

Papéis

Para receber as permissões necessárias a fim de gerenciar as políticas da organização, peça ao administrador para conceder a você o papel do IAM de administrador de políticas da organização (roles/orgpolicy.policyAdmin) na organização. Para mais informações sobre como conceder papéis, consulte Gerenciar acesso.

Também é possível conseguir as permissões necessárias com papéis personalizados ou outros papéis predefinidos.

Para receber as permissões necessárias a fim de criar regras de firewall, peça ao administrador para conceder a você o papel do IAM de administrador da rede do Compute (roles/compute.networkAdmin) na rede VPC. Para mais informações sobre como conceder papéis, consulte Gerenciar acesso.

Também é possível conseguir as permissões necessárias com papéis personalizados ou outros papéis predefinidos.

Políticas da organização do consumidor

É possível usar políticas da organização com restrições de lista para controlar a implantação de endpoints ou back-ends do Private Service Connect. Se um endpoint ou back-end for bloqueado por uma política da organização do consumidor, a criação do recurso falhará.

Para mais informações, consulte Políticas da organização do consumidor.

Impedir que endpoints e back-ends se conectem a anexos de serviço não autorizados

gcloud

  1. Crie um arquivo temporário chamado /tmp/policy.yaml para armazenar a nova política. Adicione o seguinte conteúdo ao arquivo:

    name: organizations/CONSUMER_ORG/policies/compute.restrictPrivateServiceConnectProducer
    spec:
      rules:
        - values:
            allowedValues:
            - under:organizations/PRODUCER_ORG_NUMBER
            - under:organizations/43363733858
    

    Substitua:

    • CONSUMER_ORG: o ID de recurso da organização da organização em que você quer controlar as conexões de endpoint e back-end.
    • PRODUCER_ORG_NUMBER: o código de recurso da organização numérica da organização do produtor a que você quer que os endpoints e os back-ends se conectem.

    Para impedir que endpoints e back-ends se conectem a anexos de serviço de propriedade do Google, remova o seguinte item da seção allowedValues: - under:organizations/433637338589.

    Para especificar outras organizações que podem se conectar a anexos de serviço no projeto, inclua mais entradas na seção allowedValues.

    Além das organizações, é possível especificar pastas e projetos autorizados no seguinte formato:

    • under:folders/FOLDER_ID

      O FOLDER_ID precisa ser o ID numérico.

    • under:projects/PROJECT_ID

      O PROJECT_ID precisa ser o ID da string.

    O exemplo a seguir pode ser usado para criar uma política da organização que impeça que endpoints e back-ends em Consumer-org-1 se conectem a anexos de serviços, a menos que os anexos de serviços estejam associados a um valor permitido ou descendentes de um. Os valores permitidos são a organização Producer-org-1, o projeto Producer-project-1 e a pasta Producer-folder-1.

    name: organizations/Consumer-org-1/policies/compute.restrictPrivateServiceConnectProducer
    spec:
        rules:
          - values:
              allowedValues:
              - under:organizations/Producer-org-1
              - under:projects/Producer-project-1
              - under:folders/Producer-folder-1
    
  2. Aplique a política.

    gcloud org-policies set-policy /tmp/policy.yaml
    
  3. Consulte a política em vigor.

    gcloud org-policies describe compute.restrictPrivateServiceConnectProducer \
        --effective \
        --organization=CONSUMER_ORG
    

Impedir que os consumidores implantem endpoints por tipo de conexão

gcloud

  1. Crie um arquivo temporário chamado /tmp/policy.yaml para armazenar a nova política.

    • Para impedir que os usuários em uma organização de consumidores criem endpoints que se conectam às APIs Google, adicione o seguinte conteúdo ao arquivo:

      name: organizations/CONSUMER_ORG/policies/compute.disablePrivateServiceConnectCreationForConsumers
      spec:
        rules:
          - values:
              allowedValues:
              - SERVICE_PRODUCERS
      
    • Para impedir que os usuários em uma organização de consumidores criem endpoints que se conectam a serviços publicados, adicione o seguinte conteúdo ao arquivo:

      name: organizations/CONSUMER_ORG/policies/compute.disablePrivateServiceConnectCreationForConsumers
      spec:
        rules:
          - values:
              allowedValues:
              - GOOGLE_APIS
      

    Substitua CONSUMER_ORG pelo nome da organização de consumidores em que você quer controlar a implantação de endpoints.

  2. Aplique a política.

    gcloud org-policies set-policy /tmp/policy.yaml
    
  3. Consulte a política em vigor.

    gcloud org-policies describe compute.restrictPrivateServiceConnectProducer \
        --effective \
        --organization=CONSUMER_ORG
    

Regras de firewall

É possível usar regras de firewall da VPC ou políticas de firewall para controlar o acesso a recursos do Private Service Connect. As regras de firewall de saída podem bloquear ou permitir o acesso de instâncias de VM ao endereço IP ou à sub-rede de endpoints e back-ends.

Por exemplo, a Figura 1 descreve uma configuração em que as regras de firewall controlam o acesso à sub-rede a que o endpoint do Private Service Connect está conectado.

Figura 1. As regras de firewall controlam o tráfego para a sub-rede do endpoint. O tráfego de vm-1 pode alcançar o endpoint da sub-rede, enquanto o tráfego de vm-2 está bloqueado.

  1. A regra de firewall a seguir nega todo o tráfego de saída para a sub-rede do endpoint:

    gcloud compute firewall-rules create deny-all \
        --network=vpc-1 \
        --direction=egress \
        --action=deny \
        --destination-ranges=10.33.0.0/24
        --priority=1000
    
  2. A regra de firewall de maior prioridade a seguir permite o tráfego de saída para a sub-rede de endpoint de VMs com a tag de rede allow-psc:

    gcloud compute firewall-rules create allow-psc \
        --network=vpc-1 \
        --direction=egress \
        --action=allow \
        --target-tags=allow-psc \
        --destination-ranges=10.33.0.0/24
        --priority=100
    

Usar regras de firewall para limitar o acesso a endpoints ou back-ends

Para limitar o acesso das VMs à sub-rede de um endpoint ou back-end, faça o seguinte.

  1. Crie uma regra de firewall para negar o tráfego de saída para o endpoint ou a sub-rede de back-end.

    gcloud compute firewall-rules create deny-all \
        --network=NETWORK \
        --direction=egress \
        --action=deny \
        --destination-ranges=ENDPOINT_SUBNET_RANGE \
        --priority=1000
    

    Substitua:

    • NETWORK: o nome da rede do endpoint ou do back-end.
    • ENDPOINT_SUBNET_RANGE: o intervalo de CIDR de IP do endpoint ou da sub-rede de back-end que você quer controlar o acesso.
  2. Crie uma segunda regra de firewall para permitir o tráfego de saída das VMs marcadas para o endpoint ou a sub-rede de back-end.

    gcloud compute firewall-rules create allow-psc \
        --network=NETWORK \
        --direction=egress \
        --action=allow \
        --target-tags=allow-psc \
        --destination-ranges=ENDPOINT_SUBNET_RANGE \
        --priority=100