Publicar o Proxy seguro da Web como um serviço do Private Service Connect

Para centralizar a implantação do Secure Web Proxy em várias redes VPC, disponibilize o Secure Web Proxy por meio de um anexo de serviço do Private Service Connect.

A implantação do Secure Web Proxy com o Private Service Connect envolve as seguintes etapas:

  1. Crie uma política e regras do Secure Web Proxy.
  2. Crie uma instância do Secure Web Proxy que use sua política.
  3. Crie um anexo de serviço para publicar a instância do Secure Web Proxy como um serviço do Private Service Connect.
  4. Crie um endpoint de consumidor do Private Service Connect em cada rede VPC que precisa se conectar ao Secure Web Proxy.
  5. Direcione o tráfego de saída da carga de trabalho para a instância centralizada do Secure Web Proxy na região.
Implantação do Secure Web Proxy no modo de anexo de serviço do Private Service Connect.
A publicação do Secure Web Proxy como um serviço do Private Service Connect permite centralizar o gerenciamento do tráfego de saída para cargas de trabalho em várias redes VPC. Clique para ampliar

Antes de começar

Antes de concluir as etapas desta página, conclua as etapas de configuração inicial.

Criar e configurar uma instância do Secure Web Proxy

Este guia descreve como criar uma política e regras do Secure Web Proxy que correspondam ao tráfego por sessão.

Para informações sobre como configurar a inspeção TLS, consulte Ativar a inspeção TLS.

Para informações sobre como configurar a correspondência no nível do aplicativo, consulte Criar e implantar uma instância do Secure Web Proxy.

Criar uma política do Secure Web Proxy

Console

  1. No Google Cloud console do, acesse a página Políticas do SWP.

    Acessar políticas do SWP

  2. Clique em Criar uma política.

  3. Insira um nome para a política que você quer criar, como myswppolicy.

  4. Insira uma descrição da política.

  5. Na lista Regiões, selecione a região em que você quer criar a política de proxy da Web.

  6. Clique em Criar.

Cloud Shell

  1. Crie um arquivo policy.yaml.

    description: basic Secure Web Proxy policy
    name: projects/PROJECT_ID/locations/REGION/gatewaySecurityPolicies/policy1
    

    Substitua:

    • PROJECT_ID: o ID do projeto
    • REGION: a região da política
  2. Crie uma política do Secure Web Proxy com base em policy.yaml.

    gcloud network-security gateway-security-policies import policy1 \
        --source=policy.yaml \
        --location=REGION
    

Adicionar regras do Secure Web Proxy à sua política

Configure regras do Secure Web Proxy para permitir o tráfego de saída de cada carga de trabalho.

Esta seção mostra como criar uma regra para permitir o tráfego de cargas de trabalho identificadas por tag ou conta de serviço do Resource Manager. Para informações sobre como corresponder o tráfego de outras maneiras, consulte a referência da linguagem do matcher CEL.

Console

  1. No Google Cloud console do, acesse a página Políticas do SWP.

    Acessar políticas do SWP

  2. Clique no nome da sua política.

  3. Para adicionar regras que permitam que as cargas de trabalho acessem a Internet, faça o seguinte:

    1. Clique em Adicionar regra.
    2. Insira uma prioridade. As regras são avaliadas da maior para a menor prioridade, em que 0 é a maior prioridade.
    3. Insira um nome.
    4. Digite uma descrição.
    5. Insira um status.
    6. Em Ação, selecione Permitir.
    7. Clique em Status e selecione Ativado.
    8. Na seção Correspondência de sessão, especifique os critérios para corresponder à sessão.

      • Por exemplo, para permitir o tráfego para google.com de cargas de trabalho com o ID do valor da tag do Resource Manager tagValues/123456, insira o seguinte:

        source.matchTag('tagValues/123456') && host() == 'google.com'

      • Para permitir o tráfego para google.com de cargas de trabalho que usam a conta de serviço my-service-account@my-project.iam.gserviceaccount.com, insira o seguinte:

        source.matchServiceAccount('my-service-account@my-project.iam.gserviceaccount.com') && host() == 'google.com'

    9. Clique em Criar.

Cloud Shell

Para cada regra que você quer adicionar, faça o seguinte:

  1. Crie um rule.yaml arquivo e especifique os critérios para corresponder à sessão.

    • Para permitir o tráfego para um domínio específico de cargas de trabalho identificadas pelo ID do valor da tag do Resource Manager, crie o seguinte arquivo:

      name: projects/PROJECT_ID/locations/REGION/gatewaySecurityPolicies/policy1/rules/RULE_NAME
      description: Allow traffic based on tag
      enabled: true
      priority: PRIORITY
      basicProfile: ALLOW
      sessionMatcher: source.matchTag('TAG_VALUE_ID') && host() == 'DOMAIN_NAME'
      

      Substitua:

      • PROJECT_ID: o ID do projeto
      • REGION: a região da política
      • RULE_NAME: o nome da regra
      • PRIORITY: a prioridade da regra. As regras são avaliadas da maior para a menor prioridade, em que 0 é a maior prioridade
      • TAG_VALUE_ID: o ID do valor da tag das cargas de trabalho para permitir o tráfego
      • DOMAIN_NAME: o nome de domínio para permitir o tráfego
    • Para permitir o tráfego para um domínio específico de cargas de trabalho que usam uma conta de serviço, crie o seguinte arquivo:

      name: projects/PROJECT_ID/locations/REGION/gatewaySecurityPolicies/policy1/rules/RULE_NAME
      description: Allow traffic based on service account
      enabled: true
      priority: PRIORITY
      basicProfile: ALLOW
      sessionMatcher: source.matchServiceAccount('SERVICE_ACCOUNT') && host() == 'DOMAIN_NAME'
      

      Substitua SERVICE_ACCOUNT pelo nome da conta de serviço.

  2. Para atualizar sua política com a regra definida em rule.yaml, use o seguinte comando:

    gcloud network-security gateway-security-policies rules import RULE_NAME \
       --source=rule.yaml \
       --location=REGION \
       --gateway-security-policy=policy1
    

Implantar uma instância do Secure Web Proxy

Implante uma instância do Secure Web Proxy no modo de roteamento explícito na rede de nuvem privada virtual (VPC) que você quer usar para o tráfego de saída. Ao criar a instância, associe-a à política e às regras criadas nas etapas anteriores.

A publicação do Secure Web Proxy com um anexo de serviço do Private Service Connect não oferece suporte ao modo de roteamento de próximo salto.

Para informações sobre como configurar a instância, consulte Configurar um proxy da Web. Não é necessário concluir as outras etapas dessa página no momento.

Implantar o Secure Web Proxy como um serviço do Private Service Connect em um modelo de hub e spoke

Esta seção descreve como implantar o Secure Web Proxy como um serviço do Private Service Connect, usando um modelo de hub e spoke para centralizar o gerenciamento do tráfego de saída.

Publicar o Secure Web Proxy como um serviço do Private Service Connect

Para publicar o Secure Web Proxy como um serviço, crie uma sub-rede e um anexo de serviço do Private Service Connect. A sub-rede e o anexo de serviço precisam compartilhar a mesma região que os endpoints do Private Service Connect que acessam o anexo de serviço.

Criar uma sub-rede para o Private Service Connect

Para criar uma sub-rede para o Private Service Connect, faça o seguinte.

Console

  1. No console do Google Cloud , acesse a página Redes VPC.

    Acessar redes VPC

  2. Clique no nome de uma rede VPC para mostrar a página Detalhes da rede VPC.

  3. Clique em Sub-redes.

  4. Clique em Add subnet. No painel exibido, execute as ações a seguir:

    1. Forneça um Nome.
    2. Selecione uma Região.
    3. Na seção Finalidade, selecione Private Service Connect.
    4. Em Tipo de pilha de IP, selecione IPv4 (pilha única) ou IPv4 e IPv6 (pilha dupla).
    5. Insira um intervalo de IPv4. Por exemplo, 10.10.10.0/24.
    6. Se você estiver criando uma sub-rede de pilha dupla, defina o tipo de acesso IPv6 como Interno.
    7. Clique em Adicionar.

Cloud Shell

Escolha uma destas opções:

  • Para criar uma sub-rede do Private Service Connect somente IPv4, faça o seguinte:

    gcloud compute networks subnets create SUBNET_NAME \
        --network=NETWORK_NAME \
        --region=REGION \
        --range=SUBNET_RANGE \
        --purpose=PRIVATE_SERVICE_CONNECT
    
  • Para criar uma sub-rede do Private Service Connect de pilha dupla, faça o seguinte:

    gcloud compute networks subnets create SUBNET_NAME \
        --network=NETWORK_NAME \
        --region=REGION \
        --stack-type=IPV4_IPV6 \
        --ipv6-access-type=INTERNAL \
        --range=SUBNET_RANGE \
        --purpose=PRIVATE_SERVICE_CONNECT
    

Substitua:

  • SUBNET_NAME: o nome a ser atribuído à subrede.

  • NETWORK_NAME: o nome da VPC para a nova sub-rede.

  • REGION: a região da nova sub-rede. Precisa ser a mesma região do serviço que você está publicando.

  • SUBNET_RANGE: o intervalo de endereços IPv4 a ser usado na sub-rede, por exemplo, 10.10.10.0/24.

Criar um anexo de serviço

Para publicar o Secure Web Proxy como um anexo de serviço na rede VPC central (hub), faça o seguinte.

Esta seção descreve como criar um anexo de serviço que aceita automaticamente todas as conexões. Para informações sobre aprovação explícita ou outras opções de configuração, consulte Publicar um serviço com aprovação explícita.

Console

  1. No console do Google Cloud , acesse a página Private Service Connect.

    Acessar Private Service Connect

  2. Clique na guia Serviços publicados.

  3. Clique em Publicar serviço.

  4. Na seção Detalhes do destino, selecione Secure Web Proxy.

  5. Selecione a instância do Secure Web Proxy que você quer publicar. Os campos de rede e região são preenchidos com os detalhes da instância do Secure Web Proxy selecionada.

  6. Em Nome do serviço, insira um nome para o anexo de serviço.

  7. Selecione uma ou mais sub-redes do Private Service Connect para o serviço. A lista é preenchida com sub-redes da rede VPC da instância do Secure Web Proxy selecionada.

  8. Na seção Preferência de conexão, selecione Aceitar automaticamente todas as conexões.

  9. Clique em Adicionar serviço.

Cloud Shell

Use o gcloud compute service-attachments create comando.

gcloud compute service-attachments create SERVICE_ATTACHMENT_NAME \
    --target-service=SWP_INSTANCE_URI \
    --connection-preference=ACCEPT_AUTOMATIC \
    --nat-subnets=NAT_SUBNET_NAME \
    --region=REGION \
    --project=PROJECT

Substitua:

  • SERVICE_ATTACHMENT_NAME: o nome do anexo de serviço
  • SWP_INSTANCE_URI: o URI da instância do Secure Web Proxy, no seguinte formato: //networkservices.googleapis.com/projects/PROJECT_ID/locations/REGION/gateways/INSTANCE_NAME
  • NAT_SUBNET_NAME: o nome da sub-rede do Private Service Connect
  • REGION: a região da implantação do Secure Web Proxy
  • PROJECT: o projeto da implantação do Secure Web Proxy

Criar endpoints

Crie um endpoint em cada rede VPC que precisa enviar tráfego de saída pela instância centralizada do Secure Web Proxy. Por padrão, um endpoint só pode ser acessado por cargas de trabalho na própria região.

Para permitir que cargas de trabalho de qualquer Google Cloud região acessem um endpoint, ative a opção de acesso global.

Repita as etapas a seguir para cada endpoint que você precisa criar.

Console

  1. No console do Google Cloud , acesse a página Private Service Connect.

    Acessar Private Service Connect

  2. Clique na guia Endpoints conectados.

  3. Clique em Conectar endpoint.

  4. Em Destino, selecione Serviço publicado.

  5. Em Serviço de destino, digite o URI do anexo de serviço ao qual você quer se conectar.

    O URI do anexo de serviço está neste formato: projects/SERVICE_PROJECT/regions/REGION/serviceAttachments/SERVICE_NAME

  6. Em Nome do endpoint, digite um nome para usar o endpoint.

  7. Selecione uma Rede para o endpoint.

  8. Selecione uma Sub-rede para o endpoint.

  9. Selecione um Endereço IP para o endpoint. Se você precisar de um novo endereço IP, crie um:

    1. Clique no menu suspenso Endereço IP e selecione Criar endereço IP.
    2. Digite um Nome e uma Descrição opcional para o endereço IP.
    3. Selecione uma versão do IP.
    4. Se você estiver criando um endereço IPv4, selecione Atribuir automaticamente ou Deixe-me escolher.

      Se você selecionou Quero escolher, insira o Endereço IP personalizado que quer usar.

    5. Clique em Reservar.

  10. Opcional: para permitir que clientes de qualquer Google Cloud região acessem o endpoint, selecione Ativar acesso global.

    Para mais informações, consulte as seções Acesso global e Criar um endpoint na documentação da VPC.

  11. Clique em Adicionar endpoint.

Cloud Shell

  1. Reserve um endereço IP interno para atribuir ao endpoint.

    gcloud compute addresses create ADDRESS_NAME \
        --region=REGION \
        --subnet=SUBNET \
        --ip-version=IP_VERSION
    

    Substitua:

    • ADDRESS_NAME: o nome a ser atribuído ao endereço IP reservado.

    • REGION: a região do endereço IP do endpoint. Precisa ser a mesma região que contém o anexo de serviço do produtor de serviço.

    • SUBNET: o nome da sub-rede do endereço IP do endpoint.

    • IP_VERSION: a versão do IP do endereço IP, que pode ser IPV4 ou IPV6. O padrão é IPV4. Para especificar IPV6, o endereço IP precisa estar conectado a uma sub-rede com um intervalo de endereços IPv6 internos.

  2. Crie uma regra de encaminhamento para conectar o endpoint ao anexo de serviço do produtor de serviço.

    gcloud compute forwarding-rules create ENDPOINT_NAME \
       --region=REGION \
       --network=NETWORK_NAME \
       --address=ADDRESS_NAME \
       --target-service-attachment=SERVICE_ATTACHMENT
    

    Opcional: para permitir que clientes de qualquer Google Cloud região acessem o endpoint, adicione a flag --allow-psc-global-access.

    Para mais informações, consulte as seções Acesso global e Criar um endpoint na documentação da VPC.

    Substitua:

    • ENDPOINT_NAME: o nome a ser atribuído ao endpoint.

    • REGION: a região do endpoint. Precisa ser a mesma região que contém o anexo de serviço do produtor de serviço.

    • NETWORK_NAME: o nome da rede VPC do endpoint.

    • ADDRESS_NAME: o nome do endereço reservado.

    • SERVICE_ATTACHMENT: o URI do anexo de serviço do produtor de serviço. Por exemplo: projects/SERVICE_PROJECT/regions/REGION/serviceAttachments/SERVICE_NAME

Apontar cargas de trabalho para endpoints do Private Service Connect

Configure variáveis de ambiente de proxy para que cada carga de trabalho use o endereço IP de um endpoint do Private Service Connect para o tráfego de saída.

Por exemplo, para uma carga de trabalho em um ambiente Linux ou macOS, é possível usar a linha de comando para configurar temporariamente as variáveis de ambiente HTTP_PROXY e HTTPS_PROXY:

export HTTP_PROXY="http://ENDPOINT_IP_ADDRESS:HTTP_PORT"
export HTTPS_PROXY="https://ENDPOINT_IP_ADDRESS:HTTPS_PORT"

Substitua:

  • ENDPOINT_IP_ADDRESS: o endereço IP interno do endpoint
  • HTTP_PORT: a porta para receber tráfego HTTP
  • HTTPS_PORT: a porta para receber tráfego HTTPS

Para informações sobre como definir variáveis de proxy permanentemente no ambiente das cargas de trabalho, consulte a documentação do sistema operacional.

A seguir