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 a due vie, Apigee può acquisire tutte le informazioni acquisite per TLS a una via, 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 per TLS sia 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 del 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: