Nesta página, mostramos exemplos de configuração de TLS mútuo (mTLS) para um balanceador de carga de aplicativo clássico.
Antes de começar
- Leia a Visão geral do balanceador de carga de aplicativo externo.
- Leia a visão geral do TLS mútuo.
- Configure TLS mútuo com certificados fornecidos pelo usuário ou TLS mútuo com uma CA particular.
- Um balanceador de carga de aplicativo clássico é compatível com diferentes serviços e buckets de back-end. Verifique se você configurou um balanceador de carga de aplicativo clássico com um dos seguintes back-ends compatíveis:
Configurar o mTLS para o balanceador de carga
Para que a autenticação TLS mútua funcione, depois de configurar um balanceador de carga, você precisa atualizar o proxy HTTPS de destino usando o recurso ServerTLSPolicy
.
Verifique se você já criou o recurso
ServerTLSPolicy
. Para instruções, consulte Criar os recursos de segurança de rede.Para listar todos os proxies HTTPS de destino no projeto, use o comando
gcloud compute target-https-proxies list
:gcloud compute target-https-proxies list
Anote o nome do proxy HTTPS de destino para anexar o recurso
ServerTLSPolicy
. Esse nome é chamado deTARGET_HTTPS_PROXY_NAME
nas etapas a seguir.Para exportar a configuração de um proxy HTTPS de destino para um arquivo, use o comando
gcloud compute target-https-proxies export
:gcloud compute target-https-proxies export TARGET_HTTPS_PROXY_NAME \ --global \ --destination=xlb-mtls-target-proxy.yaml
Liste todos os recursos
ServerTlsPolicies
no local especificado do projeto atual.Console
- No console do Google Cloud, acesse a página Autenticação do cliente.
Acesse a página "Autenticação do cliente"
- Todos os recursos
ServerTlsPolicies
serão exibidos.
gcloud
Para listar todos os recursos (
ServerTlsPolicies
) de autenticação do cliente, use o comandogcloud network-security server-tls-policies list
:gcloud network-security server-tls-policies list \ --location=global
Anote o nome do recurso
ServerTlsPolicies
para configurar o mTLS. Esse nome será chamado deSERVER_TLS_POLICY_NAME
na próxima etapa.Para anexar o arquivo de recurso
ServerTlsPolicy
xlb-mtls-target-proxy.yaml
, use o comando a seguir. SubstituaPROJECT_ID
pelo ID do projeto do Google Cloud.echo "serverTlsPolicy: //networksecurity.googleapis.com/projects/PROJECT_ID/locations/global/serverTlsPolicies/SERVER_TLS_POLICY_NAME" >> xlb-mtls-target-proxy.yaml
Para importar a configuração de um proxy HTTPS de destino de um arquivo, use o comando
gcloud compute target-https-proxies import
:gcloud compute target-https-proxies import TARGET_HTTPS_PROXY_NAME \ --global \ --source=xlb-mtls-target-proxy.yaml
Adicionar cabeçalhos personalizados mTLS
Com o mTLS ativado, é possível usar cabeçalhos de solicitação personalizados para transmitir informações sobre a conexão do mTLS para os serviços de back-end. Você também pode ativar o registro para que as falhas de conexão mTLS sejam capturadas nos registros.
Para listar todos os serviços de back-end no projeto, use o comando
gcloud compute backend-services list
:gcloud compute backend-services list
Anote o nome do serviço de back-end para ativar os cabeçalhos e a geração de registros personalizados. Esse nome é chamado de
BACKEND_SERVICE
na etapa a seguir.Para atualizar o serviço de back-end, use o comando
gcloud compute backend-services update
:gcloud compute backend-services update BACKEND_SERVICE \ --global \ --enable-logging \ --logging-sample-rate=1 \ --custom-request-header='X-Client-Cert-Present:{client_cert_present}' \ --custom-request-header='X-Client-Cert-Chain-Verified:{client_cert_chain_verified}' \ --custom-request-header='X-Client-Cert-Error:{client_cert_error}' \ --custom-request-header='X-Client-Cert-Hash:{client_cert_sha256_fingerprint}' \ --custom-request-header='X-Client-Cert-Serial-Number:{client_cert_serial_number}' \ --custom-request-header='X-Client-Cert-SPIFFE:{client_cert_spiffe_id}' \ --custom-request-header='X-Client-Cert-URI-SANs:{client_cert_uri_sans}' \ --custom-request-header='X-Client-Cert-DNSName-SANs:{client_cert_dnsname_sans}' \ --custom-request-header='X-Client-Cert-Valid-Not-Before:{client_cert_valid_not_before}' \ --custom-request-header='X-Client-Cert-Valid-Not-After:{client_cert_valid_not_after}'
A seguir
- Configurar o TLS mútuo para um balanceador de carga de aplicativo externo global
- Configurar o TLS mútuo com uma CA particular
- Configurar o TLS mútuo com certificados fornecidos pelo usuário
- Ver registros para validação do certificado do cliente mTLS
- Limpar uma configuração de balanceamento de carga