Questa pagina si applica ad Apigee e Apigee hybrid.
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 Hybrid.
Acquisizione delle informazioni sulla connessione TLS
Durante una richiesta a un proxy API, Apigee può acquisire informazioni sulla connessione TLS. Il proxy API può quindi accedere a queste informazioni tramite le variabili di flusso per eseguire analisi e convalide aggiuntive.
Il tipo di informazioni TLS acquisite da Apigee dipende dalla configurazione dell'ingresso per supportare TLS unidirezionale o bidirezionale (applicabile solo con Apigee Hybrid). Ad esempio, per TLS unidirezionale, Apigee può acquisire informazioni sulla crittografia TLS o sul protocollo TLS utilizzato nella connessione TLS.
Per TLS bidirezionale, Apigee può acquisire tutte le stesse informazioni acquisite per TLS unidirezionale, e anche informazioni sul certificato del client. Ad esempio, Apigee può acquisire l'impronta SHA1 del certificato client e il certificato client in formato PEM.
Acquisizione di informazioni per TLS unidirezionale e bidirezionale
La tabella seguente elenca le variabili di flusso che contengono le informazioni sulla connessione TLS acquisite da Apigee e Apigee Hybrid e 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 TLS bidirezionale
La seguente tabella elenca le variabili di flusso che contengono i dettagli del certificato client acquisiti da Apigee Hybrid in TLS bidirezionale:
Variabile di flusso | Descrizione |
tls.client.s.dn
|
Il nome distinto (DN) del soggetto del certificato client. |
tls.client.i.dn
|
Il nome distinto (DN) dell'emittente del certificato client. |
tls.client.raw.cert
|
Il certificato client in formato PEM. |
tls.client.cert.serial
|
Il numero di serie del certificato client. |
tls.client.cert.fingerprint
|
L'impronta SHA1 del certificato client. |
tls.session.id
|
L'identificatore della sessione. |
Configurazione di Apigee hybrid per abilitare TLS bidirezionale
Per configurare l'ingresso in modo da richiedere un certificato client, aggiungi i seguenti dettagli al file di override:
virtualhosts: - name: internal minTLSProtocolVersion: "1.2" #optional maxTLSProtocolVersion: "1.2" #optional tlsMode: MUTUAL sslSecret: tls-certificates
Vedi anche Configurazione di TLS e mTLS sul gateway in entrata Istio.
Accesso alle variabili di flusso in un proxy API
All'interno del proxy API, puoi accedere alle variabili di flusso TLS e ispezionarle. Ad esempio, puoi utilizzare il criterio AssignMessage o JavaScript per accedervi.
Puoi anche fare riferimento alle variabili di flusso in un elemento <Condition>
di un flusso proxy o di destinazione oppure in un <Step>
o <RouteRule>
. Ad esempio, potresti
instradare una richiesta a destinazioni diverse in base al numero di serie del client.
Per saperne di più, vedi: