Cette page s'applique à Apigee et à Apigee hybrid.
Consultez la documentation d'Apigee Edge.
Cet article explique comment accéder aux informations de connexion TLS dans les variables de flux pour un proxy d'API exécuté sur Apigee ou Apigee hybrid.
Récupérer des informations de connexion TLS
Lors d'une requête adressée à un proxy d'API, Apigee peut capturer des informations sur la connexion TLS. Votre proxy d'API peut ensuite accéder à ces informations via des variables de flux pour effectuer une analyse et une validation supplémentaires.
Le type d'informations TLS capturées par Apigee varie selon que l'entrée est configurée pour accepter le protocole TLS unidirectionnel ou bidirectionnel (uniquement applicable avec Apigee hybrid). Par exemple, pour le protocole TLS unidirectionnel, Apigee peut capturer des informations sur l'algorithme de chiffrement TLS ou le protocole TLS utilisé dans la connexion TLS.
Pour le protocole TLS bidirectionnel, Apigee peut capturer les mêmes informations que celles capturées pour le TLS unidirectionnel, et également capturer des informations sur le certificat du client. Par exemple, Apigee peut capturer l'empreinte SHA1 du certificat client et le certificat client au format PEM.
Récupérer des informations pour le protocole TLS unidirectionnel et bidirectionnel
Le tableau suivant répertorie les variables de flux contenant les informations de connexion TLS capturées par Apigee et Apigee hybrid, et accessibles dans le proxy d'API.
Variable de flux | Description |
tls.cipher
|
Algorithme de chiffrement utilisé par la connexion TLS. |
tls.protocol
|
Protocole utilisé par la connexion TLS. |
tls.server.name
|
Nom du serveur SNI demandé. |
tls.session.id
|
Identifiant de session. |
Récupérer des informations TLS supplémentaires lors du protocole TLS bidirectionnel
Le tableau suivant répertorie les variables de flux contenant les détails du certificat client capturés par Apigee hybrid via le protocole TLS bidirectionnel :
Variable de flux | Description |
tls.client.s.dn
|
Nom distinctif de l'objet du certificat client |
tls.client.i.dn
|
Émetteur du nom distinctif du certificat client |
tls.client.raw.cert
|
Certificat client au format PEM |
tls.client.cert.serial
|
Numéro de série du certificat client |
tls.client.cert.fingerprint
|
Empreinte SHA1 du certificat client |
tls.session.id
|
Identifiant de session. |
Configurer Apigee hybrid pour activer le protocole TLS bidirectionnel
Pour configurer l'entrée afin de demander un certificat client, ajoutez les informations suivantes au fichier de remplacement :
virtualhosts: - name: internal minTLSProtocolVersion: "1.2" #optional maxTLSProtocolVersion: "1.2" #optional tlsMode: MUTUAL sslSecret: tls-certificates
Consultez également la section Configurer les protocoles TLS et mTLS sur l'entrée Istio.
Accéder aux variables de flux dans un proxy d'API
À partir de votre proxy d'API, vous pouvez accéder aux variables de flux TLS et les inspecter. Par exemple, vous pouvez utiliser la règle AssignMessage ou JavaScript pour y accéder.
Vous pouvez également référencer les variables de flux dans un élément <Condition>
d'un flux de proxy ou d'un flux cible, ou dans un élément <Step>
ou <RouteRule>
. Par exemple, vous pouvez acheminer une requête vers différentes cibles en fonction du SN du client.
Pour en savoir plus, consultez les sections suivantes :