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 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: