2011-12-09 9 views

回答

0

eduPerson對象類規範(200806)

2.2.8。 eduPersonPrincipalName(在eduPerson 1.0中定義); OID:1.3.6.1.4.1.5923.1.1.1.6


RFC 4512定義 (1.3.6.1.4.1.5923.1.1.1.6

 NAME 'eduPersonPrincipalName' 

     DESC 'eduPerson per Internet2 and EDUCAUSE' 

     EQUALITY caseIgnoreMatch 

     SYNTAX '1.3.6.1.4.1.1466.115.121.1.15' SINGLE-VALUE) 

應用工具類:標準;#值:單

定義

的該人機構間認證目的的「的NetID」應該形式爲「用戶名@範圍」表示,其中範圍defin。 es本地安全域。不建議使用多個「@」符號,但在任何情況下,從左側開始的第一個「@」符號將被視爲組件之間的分隔符。因此,用戶標識符位於第一個「@」右側的安全域左側。該解析規則符合正則表達式處理中的POSIX「貪婪」消歧方法。當範圍是註冊域名時,相應的註冊人組織將被視爲範圍。例如,[email protected]將意味着EPPN背後的身份有「的NetID」,「弗朗西斯」在高等教育與域名註冊本身的制度中的「trinity.edu」。如果使用其他值類型,則它們的語義將不得不由相關方進行分析。作用域的每個值都定義了一個名稱空間,其中分配的主體名稱是唯一的。根據此規則,沒有一對eduPersonPrincipalName值應該衝突。如果它們相同,則它們指同一個管理域內的同一個主體。

如果填充,用戶應該能夠識別號來驗證,使用本地運營服務。本地認證系統應該能夠充分地確認(對本地和遠程應用程序)認證的委託人是發佈該標識符的人。

最初的意圖是對的Shibboleth項目,http://shibboleth.internet2.edu/內使用此屬性。然而,很快其他許多應用程序也可以很好地利用這個屬性(例如H.323視頻,聊天軟件等)。 eduPersonPrincipalName(EPPN)將用於如下:一,資源所有者,A,就看B的目錄條目發現B的EPPN。 A會告訴本地授權系統B的EPPN被允許使用該資源。當B試圖訪問該資源時,應用程序(或訪問控制基礎設施)將會驗證B的身份,與當地的授權系統檢查,確保B已被​​授予適當的訪問權限,然後授予或拒絕訪問。

EPPN看起來像一個Kerberos標識符(主@境界)。網站可能選擇在本地實施EPPN作爲Kerberos主體。但是,這不是要求。網站可以選擇以本地可接受的任何方式進行身份驗證。

同樣,EPPN不應該與用戶公佈的電子郵件地址混淆,雖然這兩個值可以是相同的。有些網站選擇將電子郵件地址和安全主體的用戶部分設爲相同的字符串;其他網站選擇不這樣做。即使它們看起來是相同的,但它們被用於不同的子系統和用於不同的目的,並且不要求它們必須保持不變。

用戶對象的本地白頁目錄中的uid屬性還可以包含一個登錄ID,安全主體;某些系統(例如NDS)可能會在cn屬性中放入登錄ID。這些屬性在通用的對象類中定義。不幸的是,它們的使用沒有以足夠精確和一致的方式規定用於跨域授權。各種系統已經對這些屬性進行相互衝突的使用;因此,我們已經定義了這個新的屬性。

的假設是EPPNs是由univ.edu的大學企業爲基礎進行管理。一個特定的EPPN僅分配給相關用戶;它不是由多人共享的安全主體標識符。最後,每個EPPN在本地安全域內都是唯一的。

多久,如果有的話,一個以前分配EPPN被重新分配給differrent個人之前是一個體制的決定。一些機構會選擇不再重新分配EPPNs。其他人可能會在重新分配之前選擇較短的間隔。雖然這使依賴方的工作變得複雜,但不可避免地給予了機構的自主權。有關這些問題的進一步討論,請參閱MACE關於標識符的最佳實踐文檔

此屬性應該證明在創建基於當前部署的一些技術和應用上目前不使用LDAP或需要PKI代碼有用。這個屬性應該有助於創建一個框架,以促進使用不同技術的網站之間有趣的機構間協作。簡而言之,這個屬性爲另一個抽象層提供了基礎。

實施例爲應用此屬性將是有用的 控制對資源的訪問

實施例(LDIF片段) eduPersonPrincipalName:hputter @ hsww。wiz

語法:directoryString;索引:PRES,EQ,分


參考文獻: http://middleware.internet2.edu/eduperson/docs/internet2-mace-dir-eduperson-200806.html#eduPersonPrincipalName

+0

引用鏈接已過時 – danludwig

1

你需要有釋放到你的屬性。通常,它將作爲頭部添加到本地SP的請求中,至少這是它在帶有ISAPI擴展的IIS上的工作方式。

1

你可以在特定於應用程序的語言和環境的方式access the Attributes。首選的方法是使用環境變量,但您也可以使用HTTP請求標頭,這可能會有一些安全問題,因爲客戶端可以「僞造」他們想要的任何標頭(但是,像nginx這樣的一些HTTP前端將刪除具有下劃線的標頭在他們中,這是Shibboleth Native SP通常會使用的)。

如果你在Tomcat上使用Java,例如,你將有mod_proxy_ajp上的Apache HTTP與mod_shib2工作,你會配置SP前面加上「AJP_」到頁眉/變量,從而使mod_proxy_ajp的代碼把這些請求作爲屬性而不是標題。

無論如何,一旦你知道用戶名(可能是委託/主題)被傳遞給你的應用程序,你可以簡單地通過您的編程語言中的典型屬性訪問方法爲鏈接上面提到訪問它。