Stai
visualizzando la documentazione di Apigee X.
Visualizza la documentazione di Apigee Edge.
Questo argomento spiega come accedere alle informazioni sulla connessione TLS nelle variabili di flusso per un proxy API in esecuzione su Apigee o Apigee ibrido.
Acquisizione delle informazioni di connessione TLS
Durante una richiesta a un proxy API, Apigee può acquisire informazioni sulla connessione TLS. Il proxy API può quindi accedere a tali informazioni tramite variabili di flusso per eseguire ulteriori analisi e convalida.
Il tipo di informazioni TLS acquisite da Apigee dipende dal fatto che la risorsa Ingress sia configurata per supportare TLS unidirezionale o bidirezionale (applicabile solo con Apigee ibrido). Ad esempio, per TLS unidirezionale, Apigee può acquisire informazioni sulla crittografia TLS o sul protocollo TLS utilizzati nella connessione TLS.
Per la crittografia TLS a due vie, Apigee può acquisire tutte le stesse informazioni acquisite per TLS unidirezionale, nonché acquisire informazioni sul certificato del client. Ad esempio, Apigee può acquisire l'impronta digitale SHA1 del certificato client e del certificato client in formato PEM.
Acquisizione di informazioni per TLS a due e due vie
La tabella riportata di seguito elenca le variabili di flusso che contengono le informazioni sulla connessione TLS acquisite da Apigee e Apigee ibrido, disponibili per l'accesso nel proxy API.
Variabile di flusso | Descrizione |
tls.cipher
|
La crittografia utilizzata dalla connessione TLS. |
tls.protocol
|
Il protocollo utilizzato dalla connessione TLS. |
tls.server.name
|
Il nome del server SNI richiesto. |
tls.session.id
|
L'identificatore della sessione. |
Acquisizione di informazioni TLS aggiuntive durante la crittografia bidirezionale
La tabella riportata di seguito elenca le variabili di flusso che contengono i dettagli del certificato client acquisiti da Apigee ibrido in TLS bidirezionale:
Variabile di flusso | Descrizione |
tls.client.s.dn
|
L'oggetto (DN) del certificato client. |
tls.client.i.dn
|
L'emittente del nome distinto (DN) del certificato client. |
tls.client.raw.cert
|
Il certificato client in formato PEM. |
tls.client.cert.serial
|
Numero di serie del certificato client. |
tls.client.cert.fingerprint
|
L'impronta digitale SHA1 del certificato client. |
tls.session.id
|
L'identificatore della sessione. |
Configurazione di Apigee ibrida per abilitare TLS bidirezionale
Per configurare il traffico in entrata in modo che richieda un certificato client, aggiungi i seguenti dettagli al file delle sostituzioni:
virtualhosts: - name: internal minTLSProtocolVersion: "1.2" #optional maxTLSProtocolVersion: "1.2" #optional tlsMode: MUTUAL sslSecret: tls-certificates
Consulta anche la sezione Configurare TLS e mTLS nel traffico in entrata di Istio.
Accesso alle variabili di flusso in un proxy API
Dall'interno del proxy API puoi accedere alle variabili di flusso TLS e analizzarle. Ad esempio, puoi accedere ai criteri AssignMessage o JavaScript per accedervi.
Puoi anche fare riferimento alle variabili di flusso in un elemento <Condition>
di un proxy o in un flusso di destinazione oppure in un <Step>
o <RouteRule>
. Ad esempio, potresti indirizzare una richiesta a target diversi in base al codice SN del client.
Per ulteriori informazioni, consulta i seguenti articoli: