使用 OAM 和 IdP 傳送屬性
本文涵蓋如何在進行「聯合 SSO」作業時,輕鬆設定 OAM 以將具有「SSO 宣告」的屬性傳送給合作夥伴。可以將這些屬性設為擷取自下列位置的資料:
-
LDAP 使用者記錄 (屬性、DN...)
-
OAM 使用者階段作業 (屬性、階段作業計數 ...)
-
瀏覽器的 HTTP 要求 (cookie、user-agent...)
請注意,設定 SAML NameID 值的設定方式與 OAM 中屬性的設定方式類似。
SSO 回應中的屬性
在聯合 SSO 作業期間,IdP 會發出目標為 SP 的記號,其中包含三種資料:
-
使用者資訊:關於允許 SP 識別使用者的使用者資料 (
userID
,電子郵件地址 ...) -
聯合認證資訊:使用者認證方式、使用者查問時間、使用者的階段作業何時到期 ...
-
用於驗證權杖發出的權杖相關資訊,以確保 IdP 是建立權杖的實體,而且權杖尚未過期 ...
IdP 伺服器能夠以 SAML/OpenID 屬性身分將資訊傳送給 SP/RP,其基礎如下:
-
靜態字串
-
使用者資訊:
-
使用者 ID
-
識別存放區名稱
-
使用者全域唯一 ID (
guid
) -
指定給使用者的群組清單
-
儲存在 LDAP 使用者記錄中的屬性值
-
-
OAM 使用者的階段作業:
-
階段作業的認證層次
-
用來查問從屬端的「認證配置」名稱
-
從屬端的開啟階段作業數
-
階段作業建立時的 XML 格式日期
-
階段作業到期時的 XML 格式日期
-
儲存在 OAM 階段作業中的屬性值。請注意,此屬性可能已由另一個 OAM 元件儲存 (例如 OAM、OAM/SP...)
-
-
瀏覽器的 HTTP 要求:
-
特定 HTTP 標頭的值
-
特定 Cookie 值
-
客戶端的 IP 位址
-
-
以上資料作為單一屬性的組合:例如,可以將 IdP 設定成根據 UserID、「識別存放區名稱」和使用者的階段作業計數傳送屬性值。
以上內容適用於傳送 SAML 宣告和 OpenID SSO 回應中的屬性,但也適用於設定 SAML 宣告中的 SAML NameID 值。
設定 IdP
有數種方式可為 SAML NameID 和 SAML/OpenID 屬性設定 IdP:
-
透過 OAM 管理主控台
-
SAML NameID 的設定方式如下:
-
指示要使用的 LDAP 使用者屬性
-
根據 LDAP 使用者記錄、階段作業資料、http 要求資料或靜態資料設定表示式
-
SAML/OpenID 屬性可透過指出下列項目來設定:
- 要使用的 LDAP 使用者屬性
-
下列其中一個使用者資料:
-
使用者 ID
-
識別存放區名稱
-
使用者全域唯一 ID (
guid
) -
指定給使用者的群組清單
-
要使用的 OAM 階段作業屬性
-
下列其中一個階段作業資料:
-
階段作業的認證層次
-
用來查問從屬端的「認證配置」名稱
-
從屬端的開啟階段作業數
-
階段作業建立時的 XML 格式日期
-
階段作業到期時的 XML 格式日期
-
要使用的 HTTP 標頭
-
要使用的 Cookie
-
瀏覽器的 IP 位址
-
靜態字串
-
以 LDAP 使用者記錄、階段作業資料、http 要求資料或靜態資料為基礎的表示式
-
透過 WLST 命令
-
SAML NameID 可以藉由根據 LDAP 使用者記錄、階段作業資料、http 要求資料或靜態資料設定表示式來設定
-
根據 LDAP 使用者記錄、階段作業資料、http 要求資料或靜態資料指示表示式,可以設定 SAML/OpenID 屬性
-
表示式
IdP 設定為透過使用類似「OAM 授權原則回應」中使用的表示式語言來傳送屬性 /NameID。以下是可用來設定 NameID/ 屬性的可能元素清單。
類型 | 資料 | 表示式 |
|
---|---|---|---|
使用者 | 使用者 ID | $user.userid | $user.userid |
識別儲存庫 名稱 |
$user.id_domain | $user.id_domain | |
使用者 GUID | $user.guid | $user.guid | |
逗號 使用者的群組清單 (使用區隔) 隸屬於 |
$user.groups | $user.groups | |
LDAP 使用者屬性 | $user.a?r.ATTR_NAME,其中 ATTR_NAME 是「LDAP 使用者屬性」的名稱 | $user.a?r.givenname | |
OAM 使用者階段作業 | 認證層次 | $session.authn_level | $session.authn_level |
認證配置 | $session.authn_scheme | $session.authn_schem | |
階段作業計數 | $session.count | $session.count | |
階段作業建立日期 | $session.creation | $session.creation | |
階段作業 到期日期 |
$session.expiration | $session.expiration | |
階段作業屬性 | $session.a?r.ATTR_NAME,含 ATTR_NAME 是 OAM 的名稱 階段作業屬性 |
$session.a?r.fed.part (此階段作業屬性集 從遠端 IdP 接收「宣告」時,由 OAM/SP 送出,其中包含 IdP 的合作夥伴名稱;我們會在未來文章中討論這些屬性的詳細資訊) |
|
瀏覽器的 HTTP 要求 |
HTTP 標頭值 | $request.httpheader.HTTP_HEADER_NAME,其中 HTTP_HEADER_NAME 是 HTTP 標頭的名稱 | $user.httpheader.user 代理程式 |
Cookie 值 | $request.cookie.COOKIE_NAME,與 COOKIE_NAME 是 Cookie 的名稱 |
$user.cookie.JSESSION | |
客戶的 IP 地址 |
$request.client_ip | $request.client_ip |
一律傳送的備註
「SP 屬性設定檔」用於各種協定,包括:
-
SAML SSO,其中 SP 在程式實際執行時無法要求任何屬性
-
SAML SOAP 屬性交換,其中 SP 可在程式實際執行時要求任何屬性
-
OpenID 2.0,其中 SP 可在程式實際執行時要求任何屬性
「SP 屬性設定檔」段落中顯示的「一律傳送」選項可讓管理員指示 IdP 在宣告中一律傳送屬性,即使 SP 夥伴未要求該屬性。
其他學習資源
探索 docs.oracle.com/learn 上的其他實驗室,或存取 Oracle Learning YouTube 頻道上的更多免費學習內容。此外,瀏覽 education.oracle.com/learning-explorer 成為 Oracle Learning Explorer。
如需產品文件,請造訪 Oracle Help Center 。
Sending Attributes with OAM and IdP
F61885-01
September 2022
Copyright © 2022, Oracle and/or its affiliates.