Apigee Edge belgelerini görüntülüyorsunuz.
.
Git:
Apigee X belgeleri. bilgi
Edge, tek yönlü ve iki yönlü TLS'yi destekleyen sanal ana makineler oluşturmanıza olanak tanır. Tek yönlü TLS sayesinde istemci, bir uç yönlendirici ve yönlendirici üzerinde dağıtılan bir sanal ana makineye bir oturum isteği gönderir. sanal ana makinenin ortak anahtarını içeren bir sertifika ile yanıt verir. İmzalı bir sertifika için istemci, sertifikanın kimliğini doğrulamak üzere Sertifika Yetkilisi'ne (CA) istek gönderebilir.
İki yönlü TLS'de hem istemci hem de Edge, bir isteğin parçası olarak doğrulanan sertifikaları geçirir:
- Uç Yönlendirici, kendi kimliğini doğrulamak için sertifikasını TLS istemcisine sunar. Müşteri daha sonra, sertifikasını sunucuya göndermeden önce sunucunun kimliğini doğrular.
- TLS istemcisi, kimliğini doğrulamak için Edge'e sertifikasını sunar.
Daha fazla bilgi için Sanal ana makineler hakkında başlıklı makaleye bakın.
TLS bağlantı bilgilerini yakalama
TLS'yi destekleyen bir sanal ana makine üzerinden API proxy'sine gönderilen istekler sırasında Edge TLS bağlantısı hakkında bilgi içerir. Daha sonra API proxy'niz bu bilgilere diğer akış değişkenlerini de dahil etmeniz gerekir.
Edge tarafından yakalanan TLS bilgilerinin türü, sanal ana makinenin tek yönlü veya iki yönlü TLS'yi destekleyip desteklemediğine bağlıdır. Örneğin, tek yönlü TLS için Edge TLS bağlantısında kullanılan TLS şifresi veya TLS protokolü
Edge, iki yönlü TLS için tek yönlü TLS ile aynı bilgilerin tümünü yakalayabilir ve ayrıca istemcinin sertifikasıyla ilgili bilgileri de yakalayabilir. Örneğin, Edge istemci sertifikasının SHA1 parmak izini ve istemci sertifikasını PEM biçiminde yakalayabilir.
Her ikisi için de bilgi yakalama tek yönlü ve çift yönlü TLS
Aşağıdaki tabloda, yakalanan TLS bağlantı bilgilerini içeren akış değişkenleri listelenmektedir
tarafından yürütülebilir ve API proxy'sinden erişilebilir. Bu bilgiler, sanal ana makine tanımında <ConnectionProperties>
değerinin true olarak ayarlanmasıyla hem tek yönlü hem de çift yönlü TLS için yakalanır:
Akış değişkeni | Açıklama |
---|---|
tls.cipher
|
TLS bağlantısı tarafından kullanılan şifre. |
tls.protocol
|
TLS bağlantısı tarafından kullanılan protokol. |
tls.server.name
|
İstenen SNI sunucu adı. |
tls.session.id
|
Oturum tanımlayıcısı. Bu akış değişkeni, |
İki yönlü TLS sırasında ek TLS bilgileri yakalama
Aşağıdaki tabloda, Edge tarafından iki yönlü TLS'de yakalanan istemci sertifikası ayrıntılarını içeren akış değişkenleri listelenmiştir. Bu bilgiler, sanal ana makine tanımında <ClientProperties>
parametresi doğru olarak ayarlanarak iki yönlü TLS için yakalanır:
Akış değişkeni | Açıklama |
---|---|
tls.client.s.dn
|
İstemci sertifikasının konu Ayırt Edici Adı (DN). |
tls.client.i.dn
|
İstemci sertifikasını veren kuruluş Ayırt Edici Adı (DN). |
tls.client.raw.cert
|
PEM biçimindeki istemci sertifikası. |
tls.client.cert.serial
|
İstemci sertifikasının seri numarası. |
tls.client.cert.fingerprint
|
İstemci sertifikasının SHA1 parmak izi. |
tls.session.id
|
Oturum tanımlayıcısı. Bu akış değişkeni,
True (doğru) olarak |
TLS bilgilerini yakalamak için bir sanal ana makine yapılandırma
Sanal ana makineyi TLS bilgilerini yakalayacak şekilde yapılandırmak için <PropagateTLSInformation>
altındaki aşağıdaki özellikleri true
olarak ayarlayın.
<ConnectionProperties>
: Hem tek yönlü hem de iki yönlü TLS için TLS bağlantı bilgilerinin yakalanmasını etkinleştirin. Varsayılan değerfalse
değeridir.<ClientProperties>
: Ek bilgi yakalamayı etkinleştir iki yönlü TLS'dir. Varsayılan değer:false
.
Örneğin, aşağıdaki sanal ana makine tanımı iki yönlü TLS kullanır ve her iki TLS bilgi türünü de yakalamayı sağlar:
<VirtualHost name="secure"> .... <SSLInfo> <Enabled>true</Enabled> # Enable two-way TLS. <ClientAuthEnabled>true</ClientAuthEnabled> <IgnoreValidationErrors>false</IgnoreValidationErrors> <KeyAlias>ks-alias</KeyAlias> <KeyStore>ref://ks-ref</KeyStore> <TrustStore>ref://ts-ref</TrustStore> </SSLInfo> <PropagateTLSInformation> <ConnectionProperties>true</ConnectionProperties> <ClientProperties>true</ClientProperties> </PropagateTLSInformation> </VirtualHost>
JSON gövdesi iletiyorsanız özellikleri şu şekilde ayarlayın:
"propagateTLSInformation" : { "connectionProperties" : true, "clientProperties" : true }
Üstbilgi boyutu sınırlarını ayarlama
Bir sanal ana makinede TLS bilgilerinin yakalanmasını etkinleştirdiğinizde Edge, bu bilgileri HTTP üstbilgilerini kullanarak iletir. Bu nedenle, Cloud için Edge'i mi yoksa Özel Bulut için Edge'i mi kullandığınıza bağlı olarak başlık boyutu sınırlarının uygun şekilde ayarlandığından emin olmanız gerekir:
- Cloud için Uç: Apigee, başlık boyutlarını uygun şekilde ayarlar.
- Private Cloud için Edge: Özellik kullanılamaz.
API proxy'sindeki akış değişkenlerine erişme
API proxy'nizden TLS akış değişkenlerine erişebilir ve bunları inceleyebilirsiniz. Örneğin, bu mesajlara erişmek için AssignMessage politikasını kullanabilir, JavaScript politikasıyla JavaScript'de bu mesajlara erişebilirsiniz.
Ayrıca, proxy veya hedef akışın <Condition>
öğesindeki akış değişkenlerine de başvurabilirsiniz.
veya <Step>
ya da <RouteRule>
içinde sunulur. Örneğin, bir isteği istemcinin SN'sine göre farklı hedeflere yönlendirebilirsiniz.
Daha fazla bilgi için: