2016-08-26 31 views
5

Bir süre önce, PingFederate'u altyapımıza nasıl entegre edeceğimize bakmaya başladık.PingFederate ve NGinx tümleştirme ve dağıtma seçenekleri

İlk kullanım durumumuz şu şekildedir: uygulamamıza çok kullanıcılı kiracı erişimi sağlıyoruz ve farklı şirketler uygulamanıza erişmek için farklı (kendi) Kimlik sağlayıcılarını kullanabilirler.

Şu anda bu iş akışının sınırlıdır akış: Mutiple Idp(s) to one SP

Ancak ileride akışında uzatılabilir olabilir Şu

biz Reverse Proxy olarak Nginx kullanıyorsanız ve PingFed belgelere dayalı bu tamamen zordur Many-to-many relations için Şu anda sahip olduğumuz dağıtım seçeneklerini anlamak. Bu entegrasyon apache httpd için nasıl çalıştığını az çok anlaşılıyor bu guide PingFed and apache httpd integration

alındı ​​diyagram dayanarak

. Temel olarak apache üzerinde SSO akışları ile çalışan apache PingFed Agent vardır ve temelde "oturum" ya da SSO akışını başlatır.

Processing Steps 
1. A user attempts to access a resource on the Apache server protected by the PingFederate 
Apache Agent. 
2. The user is redirected to the PingFederate server for authentication. 
(If an OpenToken session already exists, the user is granted immediate access.) 
3. The PingFederate server redirects the user’s browser to an IdP for authentication using either the 
SAML or WS-Federation protocols. The IdP partner authenticates the user and returns a SAML 
assertion. 
4. PingFederate validates the assertion and creates an OpenToken for the user including any 
configured attributes. PingFederate then redirects the browser, including the OpenToken, back to 
the Apache Agent. 
5. The Agent verifies the OpenToken and grants access to the protected resource. The User ID and 
any attributes from the OpenToken are exposed to the resource as HTTP Request Headers or Apache Environment Variables. 

Ve çoğunlukla Adım 5 apache ajanı

talep Başlıkları veya Apache Ortam değişkenleri kullanarak fiili uygulamaya Kullanıcı hakkında bilgi geçer.
  1. nasıl PingFed ve nginx (apache httpd ile bu soruya açıklanan seçeneği için) için benzer dağıtım yapmak: Burada yukarıda belirtilen tüm bilgilere dayanarak

    2 soru nedir?

  2. Web Sunucusu'nu (Ters Proxy) PingFederate ile birlikte kullanmak gerekli mi? Veya Ping Federatı da WebServer olarak kullanılabilir mi? Evet ise muhtemelen bazı bağlantılar ve ek açıklamalar takdir edilmektedir.

cevap

2
  1. nginx desteklediğini Ping Kimlik hiçbir PingFederate ajan mimarisi vardır. "Ajan Adaptörü" (referans adaptörü olarak da bilinir) 'e bakmanızı ve kendinizinkini yapmanızı öneririm.
  2. PingFederate ile bir ters proxy kullanmanız gerekmez. PingFederate, Jetty'yi web kabı olarak kullanır ve , trafiği kusursuz bir şekilde sunabilmektedir. proxy'nin tersine, gereksinimlerine sahip kuruluşların doğrudan bir uygulama sunucusuna açılmasına karşı destek sağlamak için seçenekler sunuyoruz. Biz pingFed çok doğal Ping Access ile entegre olduğunu bir anlayış var PingFed entegre çalıştığımızda
+0

iyi proxy sunucular ihtiyacını elimintating, bir PEP olarak Nginx web sunucusunda dağıtılabilir: https://github.com/pingidentity/lua-resty-openidc/ –

+0

Peki genel olarak Bu şemayı (NGINX olmadan) izlemenizi öneririz: https://documentation.pingidentity.com/display/AIK12/Implementing+SP+Functionality? Ve PingFed'in tipik ters proxy görevleri ile nasıl iyi bir bağlantı sağlayabileceğini sağlayabilirsiniz: Statik içerik para çekme, SSL sonlandırma ..... Ya da Jetty yeteneklerine bakmalı mıyım? – user1459144

+0

lua-resty-openidc - bu görevde nasıl yararlı olabileceğini biraz açıklayabilir misiniz? Fikri tam olarak kavradığımdan emin değilim. – user1459144

4

Bu değer nihai çözüm konusunda fikir ve gözlemlerini

  1. yayımlamak. Ping Access, Ters proxy olarak işlev görür.
  2. enter image description here

Ve Kimlik PingAccess ve PingFed arasındaki OpenID protokolü bağlamak kullanılarak yapılır ana fikir.PingFederate ve Auth sağlayıcısı arasındaki Doğrulama çok farklı şekillerde yapılabilir:

  1. O SAML
  2. O
  3. Ping Fed ayrıca hizmet giriş sayfasına ve bazı özel kullanarak kimlik doğrulaması yapabilir başka SSO PROTOOL olabilir olabilir

Ancak uygulama için kimlik doğrulama akış PingFed aynı kalır DB veya LDAP bu karmaşıklığı

İlgili konular