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 ulteriori analisi e convalide.
Il tipo di informazioni TLS acquisite da Apigee dipende dal fatto che Ingress sia configurato per supportare TLS unidirezionale o bidirezionale (applicabile solo con Apigee Hybrid). Ad esempio, per TLS unilaterale, Apigee può acquisire informazioni sul protocollo TLS o sulla crittografia TLS utilizzata nella connessione TLS.
Per TLS bidirezionale, Apigee può acquisire tutte le stesse informazioni acquisite per TLS unidirezionale, nonché informazioni sul certificato del client. Ad esempio, Apigee può acquisire la impronta SHA1 del certificato client e il certificato client in formato PEM.
Acquisizione di informazioni sia per TLS a un senso che a doppio senso
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 il TLS bidirezionale
La tabella seguente 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. |
Configurare Apigee hybrid per abilitare TLS bidirezionale
Per configurare l'ingress per richiedere 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 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 e ispezionare le variabili del flusso TLS. Ad esempio, puoi utilizzare i criteri AssignMessage o JavaScript per accedervi.
Puoi anche fare riferimento alle variabili di flusso in un elemento <Condition>
di un flusso proxy o di destinazione o in un <Step>
o <RouteRule>
. Ad esempio, potresti instradare una richiesta a diversi target in base all'SN del client.
Per saperne di più, consulta: