Accesso alle informazioni sulla connessione TLS in un proxy API

Stai visualizzando la documentazione di Apigee X.
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 ibrido.

Acquisizione delle informazioni di connessione TLS

Durante una richiesta a un proxy API, Apigee può acquisire informazioni sulla connessione TLS. Il proxy API può quindi accedere a tali informazioni tramite variabili di flusso per eseguire ulteriori analisi e convalida.

Il tipo di informazioni TLS acquisite da Apigee dipende dal fatto che la risorsa Ingress sia configurata per supportare TLS unidirezionale o bidirezionale (applicabile solo con Apigee ibrido). Ad esempio, per TLS unidirezionale, Apigee può acquisire informazioni sulla crittografia TLS o sul protocollo TLS utilizzati nella connessione TLS.

Per la crittografia TLS a due vie, Apigee può acquisire tutte le stesse informazioni acquisite per TLS unidirezionale, nonché acquisire informazioni sul certificato del client. Ad esempio, Apigee può acquisire l'impronta digitale SHA1 del certificato client e del certificato client in formato PEM.

Acquisizione di informazioni per TLS a due e due vie

La tabella riportata di seguito elenca le variabili di flusso che contengono le informazioni sulla connessione TLS acquisite da Apigee e Apigee ibrido, 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 la crittografia bidirezionale

La tabella riportata di seguito elenca le variabili di flusso che contengono i dettagli del certificato client acquisiti da Apigee ibrido in TLS bidirezionale:

Variabile di flusso Descrizione
tls.client.s.dn L'oggetto (DN) del certificato client.
tls.client.i.dn L'emittente del nome distinto (DN) del certificato client.
tls.client.raw.cert Il certificato client in formato PEM.
tls.client.cert.serial Numero di serie del certificato client.
tls.client.cert.fingerprint L'impronta digitale SHA1 del certificato client.
tls.session.id L'identificatore della sessione.

Configurazione di Apigee ibrida per abilitare TLS bidirezionale

Per configurare il traffico in entrata in modo che richieda 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 la sezione Configurare TLS e mTLS nel traffico in entrata di Istio.

Accesso alle variabili di flusso in un proxy API

Dall'interno del proxy API puoi accedere alle variabili di flusso TLS e analizzarle. Ad esempio, puoi accedere ai criteri AssignMessage o JavaScript per accedervi.

Puoi anche fare riferimento alle variabili di flusso in un elemento <Condition> di un proxy o in un flusso di destinazione oppure in un <Step> o <RouteRule>. Ad esempio, potresti indirizzare una richiesta a target diversi in base al codice SN del client.

Per ulteriori informazioni, consulta i seguenti articoli: