Esta página aplica-se ao Apigee e ao Apigee Hybrid.
Veja a documentação do
Apigee Edge.
Este tópico explica como aceder às informações de ligação TLS em variáveis de fluxo para um proxy de API em execução no Apigee ou no Apigee hybrid.
Capturar informações de ligação TLS
Durante um pedido a um proxy de API, o Apigee pode capturar informações sobre a ligação TLS. Em seguida, o proxy da API pode aceder a essas informações através de variáveis de fluxo para realizar análises e validações adicionais.
O tipo de informações de TLS captadas pelo Apigee depende de o Ingress estar configurado para suportar o TLS unidirecional ou bidirecional (aplicável apenas com o Apigee híbrido). Por exemplo, para o TLS unidirecional, o Apigee pode capturar informações sobre a cifra TLS ou o protocolo TLS usado na ligação TLS.
Para o TLS bidirecional, o Apigee pode capturar todas as mesmas informações que são capturadas para o TLS unidirecional, e também capturar informações sobre o certificado do cliente. Por exemplo, o Apigee pode capturar a impressão digital SHA1 do certificado do cliente e o certificado do cliente no formato PEM.
Capturar informações para TLS unidirecional e bidirecional
A tabela seguinte apresenta as variáveis de fluxo que contêm informações de ligação TLS captadas pelo Apigee e pelo Apigee Hybrid, e que estão disponíveis para acesso no proxy de API.
Variável de fluxo | Descrição |
tls.cipher
|
A cifra usada pela ligação TLS. |
tls.protocol
|
O protocolo usado pela ligação TLS. |
tls.server.name
|
O nome do servidor SNI pedido. |
tls.session.id
|
O identificador de sessão. |
Capturar informações TLS adicionais durante o TLS bidirecional
A tabela seguinte apresenta as variáveis de fluxo que contêm detalhes do certificado de cliente captados pelo Apigee hybrid no TLS bidirecional:
Variável de fluxo | Descrição |
tls.client.s.dn
|
O nome distinto (DN) do assunto do certificado de cliente. |
tls.client.i.dn
|
O nome distinto (DN) do emissor do certificado de cliente. |
tls.client.raw.cert
|
O certificado do cliente no formato PEM. |
tls.client.cert.serial
|
O número de série do certificado de cliente. |
tls.client.cert.fingerprint
|
A impressão digital SHA1 do certificado do cliente. |
tls.session.id
|
O identificador de sessão. |
Configurar o Apigee Hybrid para ativar o TLS bidirecional
Para configurar a entrada de modo a pedir um certificado de cliente, adicione os seguintes detalhes ao ficheiro de substituições:
virtualhosts: - name: internal minTLSProtocolVersion: "1.2" #optional maxTLSProtocolVersion: "1.2" #optional tlsMode: MUTUAL sslSecret: tls-certificates
Consulte também o artigo Configurar o TLS e o mTLS no gateway de entrada do Istio.
Aceder às variáveis de fluxo num proxy de API
No proxy de API, pode aceder e inspecionar as variáveis de fluxo TLS. Por exemplo, pode usar a política AssignMessage ou a política JavaScript para aceder a eles.
Também pode consultar as variáveis de fluxo num elemento <Condition>
de um proxy ou de um fluxo de destino, ou num elemento <Step>
ou <RouteRule>
. Por exemplo, pode
encaminhar um pedido para diferentes destinos com base no número de série do cliente.
Para mais informações, consulte: