Compartilhar via


Use o mTLS nos Aplicativos de Contêiner do Azure

O MTLS (Mutual Transport Layer Security) é uma extensão do protocolo TLS padrão que oferece autenticação mútua entre cliente e servidor. Os Aplicativos de Contêiner do Azure dão suporte à execução de aplicativos com mTLS habilitado, proporcionando maior segurança em seus aplicativos.

Nos Aplicativos de Contêiner do Azure, todas as solicitações recebidas passam pelo Envoy antes de serem encaminhadas ao aplicativo de destino. Ao usar mTLS, o cliente troca certificados com o Envoy. Cada um desses certificados é inserido no cabeçalho X-Forwarded-Client-Cert, que é enviado para o aplicativo.

Para criar um aplicativo mTLS nos Aplicativos de Contêiner do Azure, você precisa:

  1. Configurar os Aplicativos de Contêiner do Azure para exigir certificados de cliente dos pares.
  2. Extrair certificados X.509 de solicitações.

Este artigo explica como lidar com os certificados de handshake do mTLS de pares, extraindo o certificado X.509 do cliente.

Exigir certificados do cliente

Siga as etapas abaixo para configurar seu aplicativo contêiner e exigir certificados do cliente:

  1. Abra seu aplicativo de contêiner no portal do Azure.
  2. Em Configurações, selecione Ingress.
  3. Selecione a opção Habilitado.
  4. Para Tipo de ingress, selecione HTTP.
  5. No modo Certificado do cliente, selecione Exigir.
  6. Selecione Salvar para aplicar as alterações.

Para obter mais informações sobre as configurações, confira o artigo Configurar a autenticação de certificado do cliente nos Aplicativos de Contêiner do Azure.

Extrair certificados X.509

Para extrair certificados X.509 do cabeçalho X-Forwarded-Client-Cert, analise o valor do cabeçalho no código do seu aplicativo. Esse cabeçalho contém informações do certificado do cliente quando o mTLS está habilitado. Os certificados aparecem como uma lista separada por ponto e vírgula, que inclui o hash, o certificado e a cadeia.

Siga este procedimento para extrair e analisar o certificado em seu aplicativo:

  1. Recupere o cabeçalho X-Forwarded-Client-Cert da solicitação recebida.
  2. Analise o valor do cabeçalho para extrair os detalhes do certificado.
  3. Coloque os certificados analisados nos atributos padrão de certificado para validação ou uso posterior.

Uma vez analisados, os certificados podem ser validados e usados conforme as necessidades do seu aplicativo.

Exemplo

Em aplicativos Java, use o filtro de autenticação Reactive X.509 para mapear as informações de usuários dos certificados no contexto de segurança. Para conferir um exemplo completo de um aplicativo Java com mTLS no Azure Container Apps, leia o artigo Aplicativo para servidores mTLS nos Aplicativos de Contêiner do Azure.