使用 Oracle Access Management Identity Federation Services 的單一登入
您可以讓 Essbase 內部部署使用來自 Oracle Access Management Identity Federation Services (FS) 的單一登入 (SSO)。這描述如何將 Oracle Access Management Identity Federation 設定為要與 WebLogic 作為「服務提供者」(SP) 搭配使用的「身分識別提供者」(IDP)。
- 您必須要有一個已啟用聯合服務的 Oracle Access Manager (OAM) 環境。OAM 已與 LDAP 目錄整合,例如 OUD、OID 或 AD。此處的 OID 已與 OAM 整合。
- 您必須安裝 Essbase 。
- 若要讓 Essbase 使用使用 Oracle Access Management Identity Federation Services 的 Single Sign-On,必須依照顯示的順序執行。
PART A - 取得 SP 組態的 IDP 描述資料
- 登入 OAM 主控台,然後瀏覽至「組態」>「可用的服務」。
- 確認已啟用 Identity Federation,或啟用它。
- 前往 [ 組態 ] > [ 設定值 ] > [ 檢視 ] > [ 聯合 ]。
- 按一下匯出 SAML 2.0 描述資料以下載 IDP 描述資料。
- 將中繼資料檔案儲存為
oam_fed_idp_metadata.xml,以使用此檔案在 WebLogic 中將 OAM 註冊為 IDP。 - 編輯
oam_fed_idp_metadata.xml、移除<md:RoleDescriptor ... </md:RoleDescriptor標記,然後儲存檔案。WebLogic 不支援此標記。
PART B - 設定 WebLogic 服務提供者 (SP)
- 啟用 SSL。
- 在 WebLogic 主控台的網域結構下,移至「環境」>「伺服器」> essbase_server1 >「組態」>「一般」。選取啟用監聽連接埠核取方塊,並提供「受管理伺服器」的連接埠號碼。
- 在受管理伺服器上啟用通訊協定 HTTP 的 SSL。在網域結構下,移至「環境 > 伺服器 > essbase_server1 通訊協定 > HTTP」。選取啟用 SSL 監聽連接埠核取方塊,並提供連接埠號碼。
- 前往「安全範圍 > myrealm > 組態 > 一般頁籤」。將安全性模型設為進階。
- 使用 WebLogic 管理主控台建立識別宣告器。
- 登入 WebLogic 主控台。
- 前往首頁 > 安全範圍總結 > myrealm > 提供者。
- 按一下建立新認證提供者。
- 按一下確定。
- 輸入提供者名稱作為 SAML-IA ,然後選取類型 SAML2IdentityAsserter 。
- 按一下確定。
- 建立新的 SAMLAuthenticator 提供者。
- 前往:首頁 > 安全範圍總結 > myrealm > 提供者。
- 按一下建立新認證提供者。
- 按一下確定。
- 輸入提供者名稱作為 SAML-auth ,然後選取類型 SAMLAuthenticator 。
- 按一下確定。
- 針對以上步驟中建立的認證程式,將控制旗標值變更為 SUFFICIENT 。
- 前往:首頁 > 安全領域總結 > myrealm > 提供者 > SAML-auth。
- 在「組態 > 通用」下,將控制標誌設為 SUFFICIENT 。
- 按一下儲存。
- 建立新的 OID 認證提供者。
- 前往:首頁 > 安全範圍總結 > myrealm > 提供者。
- 按一下建立新認證提供者。
- 按一下確定。
- 輸入提供者名稱作為 oid-auth,然後選取類型 OracleInternetDirectoryAuthenticator 。
- 按一下確定。
- 針對新增的 OID 認證提供者,將控制旗標變更為 SUFFICIENT ,然後按一下儲存。
- 選取「提供者特定」頁籤,然後輸入您的 OID 伺服器詳細資訊。從 OAM 主控台 > 使用者識別存放區區段取得 OID 伺服器詳細資訊。
- 從「OAM 主控台」組態 >「使用者識別存放區」,按一下 OID 存放區。
- 在 OID-auth 提供者的「提供者特定」區段中,將下列區段更新為適當的值。
- 連線段落:
- 輸入主機:OID 伺服器的主機名稱
- 主體:cn=orcladmin,cn=users,dc=us,dc=oracle,dc=com
- 證明資料確認證明資料:提供證明資料
- 使用者基準 DN:cn=users,dc=us,dc=oracle,dc=com
- 群組基準 DN:cn=groups,dc=us,dc=oracle,dc=com
- 使用擷取的使用者名稱作為主要項目:check
- 連線段落:
- 接受其他欄位的預設值,並儲存所有變更。
- 啟用受管理伺服器的聯合項目。
- 前往首頁 > 環境伺服器 > essbase_server1 > 組態 > Federation Services。
- 在「SAML 2.0 服務提供者」頁籤中,選取已啟用選項並提供預設 URL 作為
接受其餘欄位作為預設值並儲存。https://Essbase-Host:Essbase-Managed Server-SSL-Port/essbase/jet - 取得 IDP 組態的 SP 描述資料:在「SAML 2.0 一般」頁籤中,提供適當的值並儲存。
- 儲存變更之後,將 SP 中繼資料匯出至 XML 檔案,例如:
sp_metadata.xml。 - 按一下發佈中繼資料。
- 使用從 OAM 方塊複製的 oam_fed_idp_metadata.xml 檔案,在 WebLogic 上建立 IDP 夥伴。
- 前往安全範圍 > myrealm > 提供者 > 認證 > saml_IA > 管理 > 新建 > 新的 Web 單一登入身分識別提供者夥伴,例如:WebSSO-IdP-Partner-oam。
- 選取
oam_fed_idp_metadata.xml file,然後按一下確定。 - 若要啟用 IDP 夥伴,請按一下 WebSSO-IDP-Partner-oam 。選取已啟用核取方塊,然後提供重新導向 URL。
- 在 OAM 主控台上設定 IDP。
- 前往聯合 > 身分識別提供者管理。
- 按一下建立服務提供者夥伴。
- 輸入名稱。
- 確定已選取啟用夥伴。
- 接受 SAML 2.0 作為協定 (預設)。
- 選取從 WebLogic (SP) 下載的中繼資料檔案。
- 指定 NameID 格式設定值。
- 選取未指定作為 NameID 格式。
- 選取使用者 ID 存放區屬性作為 NameID 值。
- 在包含使用者識別碼的 LDAP 使用者記錄中輸入使用者屬性。Oracle Internet Directory 是「使用者資料存放區」,屬性為
uid。
- 編輯
$ORACLE_HOME/user_projects/domains/Essbase-Domain/bin/setDomainEnv.sh並新增-DLOGOUT_URL to the JVM arg EXTRA_JAVA_PROPERTIES,如下所示:變更之前:EXTRA_JAVA_PROPERTIES="-Djavax.management.builder.initial=weblogic.management.jmx.mbeanserver.WLSMBeanServerBuilder ${EXTRA_JAVA_PROPERTIES}"變更之後:EXTRA_JAVA_PROPERTIES="-Djavax.management.builder.initial=weblogic.management.jmx.mbeanserver.WLSMBeanServerBuilder -DLOGOUT_URL=http://OAM-Host:OAM-Port/oam/server/logout ${EXTRA_JAVA_PROPERTIES}"
PART C - 指定角色
OID 整合之後,內嵌的 LDAP 使用者 (例如 WebLogic) 無法登入 Essbase 介面。只允許 REST/MaxL 作業。使用內嵌的 LDAP 管理員使用者,使用 REST 將 Essbase 角色指派給 OID 使用者。OID 使用者只能在角色指派後登入 Essbase。
將角色指派給至少一個 OID 使用者 (管理員) 後,OID 使用者便可登入 Essbase 並直接透過介面將角色指派給其他使用者。
以 REST 為基礎的指派範例,如下所示:curl --insecure -X PUT -u weblogic:samplepass "http://host:9000/essbase/rest/v1/permissions/user1" -H "accept: application/json" -H "Content-Type: application/json" -d "{ \"links\": [ { \"rel\": \"string\", \"href\": \"string\", \"method\": \"string\", \"type\": \"string\" } ], \"id\": \"user1\", \"name\": \"user1\", \"role\": \"service_administrator\", \"group\": false}"
D 部分:測試 OAM FS 單一登入
https://<essbase_vm>:<sslportno>/essbase/jet要求會重新導向至「OAM 同盟」登入頁面。附註:
如果發生登出問題,若要完成登出動作,請關閉瀏覽器。