Accesso alle informazioni sulla connessione TLS in un proxy API

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: