Para centralizar a implementação do proxy Web seguro em várias redes VPC, pode disponibilizar o proxy Web seguro através de uma ligação de serviço do Private Service Connect.
A implementação do proxy Web seguro com o Private Service Connect envolve os seguintes passos:
- Crie uma política e regras do Secure Web Proxy.
- Crie uma instância do Secure Web Proxy que use a sua política.
- Crie uma associação do serviço para publicar a instância do proxy Web seguro como um serviço do Private Service Connect.
- Crie um ponto final do consumidor do Private Service Connect em cada rede VPC que precise de se ligar ao proxy Web seguro.
- Encaminhe o tráfego de saída da carga de trabalho para a instância do proxy Web seguro centralizado na região.
Antes de começar
Antes de concluir os passos nesta página, conclua os passos de configuração inicial.
Crie e configure uma instância do Secure Web Proxy
Este guia descreve como criar uma política e regras de proxy Web seguro que correspondem ao tráfego por sessão.
Para obter informações sobre a configuração opcional da inspeção TLS, consulte o artigo Ative a inspeção TLS.
Para ver informações sobre a configuração opcional da correspondência ao nível da aplicação, consulte o artigo Implemente uma instância de proxy Web segura.
Crie uma política de Secure Web Proxy
Consola
Na Google Cloud consola, aceda à página Políticas de SWP.
Clique em
Criar uma política.Introduza um nome para a política que quer criar, como
myswppolicy
.Introduza uma descrição da política.
Na lista Regiões, selecione a região onde quer criar a política de proxy Web.
Clique em Criar.
Cloud Shell
Crie um ficheiro
policy.yaml
.description: basic Secure Web Proxy policy name: projects/PROJECT_ID/locations/REGION/gatewaySecurityPolicies/policy1
Substitua o seguinte:
PROJECT_ID
: o ID do projetoREGION
: a região da política
Crie uma política de Secure Web Proxy com base em
policy.yaml
.gcloud network-security gateway-security-policies import policy1 \ --source=policy.yaml \ --location=REGION
Adicione regras do Secure Web Proxy à sua política
Configure regras de proxy Web seguro para permitir o tráfego de saída de cada carga de trabalho.
Esta secção mostra como criar uma regra para permitir tráfego de cargas de trabalho que são identificadas pela etiqueta do Resource Manager ou pela conta de serviço. Para obter informações sobre a correspondência de tráfego de outras formas, consulte a referência de linguagem do matcher CEL.
Consola
Na Google Cloud consola, aceda à página Políticas de SWP.
Clique no nome da política.
Para adicionar regras que permitam que as cargas de trabalho acedam à Internet, faça o seguinte:
- Clique em Adicionar regra.
- Introduza uma prioridade. As regras são avaliadas da prioridade mais elevada para a mais baixa,
em que
0
é a prioridade mais elevada. - Introduza um nome.
- Insira uma descrição.
- Introduza um estado.
- Em Ação, selecione Permitir.
- Clique em Estado e, de seguida, selecione Ativado.
Na secção Correspondência de sessão, especifique os critérios para fazer corresponder a sessão.
Por exemplo, para permitir o tráfego para google.com a partir de cargas de trabalho com o ID do valor da etiqueta do Resource Manager
tagValues/123456
, introduza o seguinte:source.matchTag('tagValues/123456') && host() == 'google.com'
Para permitir tráfego para google.com a partir de cargas de trabalho que usam a conta de serviço
account-name@my-project.iam.gserviceaccount.com
, introduza o seguinte:source.matchServiceAccount('account-name@my-project.iam.gserviceaccount.com') && host() == 'google.com'
Clique em Criar.
Cloud Shell
Para cada regra que quer adicionar, faça o seguinte:
Crie um
rule.yaml
ficheiro e especifique critérios para fazer corresponder a sessão.Para permitir o tráfego para um domínio específico a partir de cargas de trabalho identificadas pelo ID do valor da etiqueta do Resource Manager, crie o seguinte ficheiro:
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 o seguinte:
PROJECT_ID
: o ID do projetoREGION
: a região da sua políticaRULE_NAME
: o nome da regraPRIORITY
: a prioridade da regra. As regras são avaliadas da prioridade mais alta para a mais baixa, em que0
é a prioridade mais altaTAG_VALUE_ID
: o ID do valor da etiqueta das cargas de trabalho para permitir tráfegoDOMAIN_NAME
: o nome do domínio para permitir o tráfego para
Para permitir o tráfego para um domínio específico a partir de cargas de trabalho que usam uma conta de serviço, crie o seguinte ficheiro:
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.
Para atualizar a sua política com a regra que definiu 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
Implemente uma instância do Secure Web Proxy
Implemente uma instância de proxy Web seguro no modo de encaminhamento explícito na rede de nuvem privada virtual (VPC) que quer usar para o tráfego de saída. Quando criar a instância, associe-a à política e às regras que criou nos passos anteriores.
A publicação de um proxy Web seguro com uma associação de serviço do Private Service Connect não suporta o modo de encaminhamento do próximo salto.
Para ver informações sobre a configuração da instância, consulte o artigo Configure um proxy Web. Neste momento, não precisa de concluir os outros passos nessa página.
Implemente o proxy Web seguro como um serviço do Private Service Connect num modelo de hub e spoke
Esta secção descreve como implementar o proxy Web seguro como um serviço do Private Service Connect, usando um modelo de hub e spoke para centralizar a gestão do tráfego de saída.
Publique o proxy Web seguro como um serviço do Private Service Connect
Para publicar o proxy Web seguro como um serviço, crie uma sub-rede do Private Service Connect e uma associação do serviço. A sub-rede e a associação do serviço têm de partilhar a mesma região que os pontos finais do Private Service Connect que acedem à associação do serviço.
Crie uma sub-rede para o Private Service Connect
Para criar uma sub-rede para o Private Service Connect, faça o seguinte.
Consola
Na Google Cloud consola, aceda à página Redes VPC.
Clique no nome de uma rede de VPC para mostrar a página de detalhes da rede de VPC.
Clique em Sub-redes.
Clique em Adicionar sub-rede. No painel apresentado, faça o seguinte:
- Indique um Nome.
- Selecione uma região.
- Na secção Finalidade, selecione Private Service Connect.
- Para Tipo de pilha de IP, selecione IPv4 (pilha única) ou IPv4 e IPv6 (pilha dupla).
- Introduza um intervalo de IPv4. Por exemplo,
10.10.10.0/24
. - Se estiver a criar uma sub-rede de pilha dupla, defina o tipo de acesso IPv6 como Interno.
- Clique em Adicionar.
Cloud Shell
Efetue um dos seguintes passos:
Para criar uma sub-rede do Private Service Connect apenas 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 o seguinte:
SUBNET_NAME
: o nome a atribuir à sub-rede.NETWORK_NAME
: o nome da VPC para a nova sub-rede.REGION
: a região da nova sub-rede. Tem de ser a mesma região que o serviço que está a publicar.SUBNET_RANGE
: o intervalo de endereços IPv4 a usar para a sub-rede, por exemplo,10.10.10.0/24
.
Crie uma associação de serviço
Para publicar o proxy Web seguro como uma associação de serviço na rede VPC central (hub), faça o seguinte.
Esta secção descreve como criar uma associação de serviço que aceite automaticamente todas as ligações. Para informações sobre a aprovação explícita ou outras opções de configuração, consulte o artigo Publique um serviço com aprovação explícita.
Consola
Na Google Cloud consola, aceda à página Private Service Connect.
Clique no separador Serviços publicados.
Clique em Publicar serviço.
Na secção Detalhes do alvo, selecione Proxy Web seguro.
Selecione a instância do proxy Web seguro que quer publicar. Os campos de rede e região são preenchidos com os detalhes da instância de proxy Web seguro selecionada.
Em Nome do serviço, introduza um nome para a associação de serviço.
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 proxy Web seguro selecionada.
Na secção Preferência de ligação, selecione Aceitar automaticamente todas as ligações.
Clique em Adicionar serviço.
Cloud Shell
Use o comando gcloud compute service-attachments create
.
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 o seguinte:
SERVICE_ATTACHMENT_NAME
: o nome do anexo de serviçoSWP_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 ConnectREGION
: a região da implementação do Secure Web ProxyPROJECT
: o projeto da implementação do Secure Web Proxy
Crie pontos finais
Crie um ponto final em cada rede VPC e região que precise de enviar tráfego de saída através da instância de proxy Web seguro centralizada. Repita os seguintes passos para cada ponto final que tem de criar.
Consola
Na Google Cloud consola, aceda à página Private Service Connect.
Clique no separador Pontos finais ligados.
Clique em Associar ponto final.
Em Segmentar, selecione Serviço publicado.
Para Serviço de destino, introduza o URI do anexo de serviço ao qual quer estabelecer ligação.
O URI do anexo de serviço está neste formato:
projects/SERVICE_PROJECT/regions/REGION/serviceAttachments/SERVICE_NAME
Em Nome do ponto final, introduza um nome a usar para o ponto final.
Selecione uma rede para o ponto final.
Selecione uma sub-rede para o ponto final.
Selecione um endereço IP para o ponto final. Se precisar de um novo endereço IP, pode criar um:
- Clique no menu pendente Endereço IP e selecione Criar endereço IP.
- Introduza um Nome e uma Descrição opcional para o endereço IP.
- Selecione uma versão do IP.
Se estiver a criar um endereço IPv4, selecione Atribuir automaticamente ou Permitir-me escolher.
Se selecionou Deixar-me escolher, introduza o endereço IP personalizado que quer usar.
Clique em Reservar.
Clique em Adicionar ponto final.
Cloud Shell
Reserve um endereço IP interno para atribuir ao ponto final.
gcloud compute addresses create ADDRESS_NAME \ --region=REGION \ --subnet=SUBNET \ --ip-version=IP_VERSION
Substitua o seguinte:
ADDRESS_NAME
: o nome a atribuir ao endereço IP reservado.REGION
: a região do endereço IP do ponto final. Esta tem de ser a mesma região que contém a associação de serviço do produtor de serviços.SUBNET
: o nome da sub-rede para o endereço IP do ponto final.IP_VERSION
: a versão IP do endereço IP, que pode serIPV4
ouIPV6
.IPV4
é a predefinição. Para especificarIPV6
, o endereço IP tem de estar associado a uma sub-rede com um intervalo de endereços IPv6 internos.
Crie uma regra de encaminhamento para associar o ponto final à associação do serviço do produtor do serviço.
gcloud compute forwarding-rules create ENDPOINT_NAME \ --region=REGION \ --network=NETWORK_NAME \ --address=ADDRESS_NAME \ --target-service-attachment=SERVICE_ATTACHMENT
Substitua o seguinte:
ENDPOINT_NAME
: o nome a atribuir ao ponto final.REGION
: a região do ponto final. Tem de ser a mesma região que contém a associação do serviço do produtor do serviço.NETWORK_NAME
: o nome da rede VPC para o ponto final.ADDRESS_NAME
: o nome da morada reservada.SERVICE_ATTACHMENT
: o URI da associação do serviço do produtor do serviço. Por exemplo:projects/SERVICE_PROJECT/regions/REGION/serviceAttachments/SERVICE_NAME
Encaminhe cargas de trabalho para pontos finais do Private Service Connect
Configure as variáveis de ambiente do proxy para que cada carga de trabalho use o endereço IP de um ponto final do Private Service Connect para o tráfego de saída.
Por exemplo, para uma carga de trabalho num ambiente Linux ou macOS, pode usar a linha de comandos 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 o seguinte:
ENDPOINT_IP_ADDRESS
: o endereço IP interno do seu ponto finalHTTP_PORT
: a porta para receber tráfego HTTPHTTPS_PORT
: a porta para receber tráfego HTTPS
Para obter informações sobre a definição permanente de variáveis de proxy no ambiente das suas cargas de trabalho, consulte a documentação do seu sistema operativo.
O que se segue?
- Configure a inspeção TLS
- Use etiquetas para criar políticas
- Atribua endereços IP estáticos para o tráfego de saída
- Considerações adicionais para o modo de associação do serviço do Private Service Connect