聯合認證-SAML(二)
在聯邦環境中,通常有下面的3種實體:
Subject主題):Subject是SAML實體中的第一個重要的概念,Subject包括了User、Entity、Workstation等能夠象征一個參與信息交換的實體。
RelyingParty信任方):SAML中的ServiceProvider角色,也就是提供服務的一方。
AssertingParty斷言方):SAML中的IdentityProvider角色,用于提供對主題的身份信息的正確的斷言,類似一個公證機構。
我們看看聯邦環境的一個場景:
假設有一個Peter(Subject)的法國公民,他需要訪問比利時(ServiceProvider),他在比利時機場被要求提供身份信息,Peter提供了歐盟(Federation)的通行證件,隨即,這個通行證件在比利時機場被審核,或通過計算機送到歐盟身份認證中心(IdentityProvider),該中心有一個由所有歐盟國家共同建立的公民數據庫,中心審核了Peter的身份信息,并斷言“Yes,HeisPeterFromFrance”,于是,Peter得到禮貌的回應“歡迎光臨比利時”。
如果你將歐盟看作是一個聯邦環境,你會發現上面的場景跟在聯邦環境應用SAML很相似。
在聯邦環境下,任何需要授權訪問的服務都需要知道服務請求方的身份主題信息(Whoareyou),服務提供方(ServiceProvider)不負責審核用戶的身份信息,但它依賴于1個甚至多個IdentityProvider來完成此任務,見下圖。
1個IdnetityProvider可以被多個ServiceProvider共享,當然,共享的前提是建立信任關系(即ServiceProvider要信任IdnetityProvider),就好比如,如果比利時(ServiceProvider)需要開放對歐盟國家成員訪問,它信任歐盟的IdnetityProvider,它信任歐盟的IdnetityProvider的任何判斷,包括”HeisPeterFromFrance”。至于是否讓Peter入境,那是受權限策略的控制(注意SAML同樣對Authorization斷言做了標準化,此處,我們僅僅關注Authentication)。