設定 OCI IAM 與 JumpCloud 之間的單一登入和使用者佈建
簡介
透過在 Oracle Cloud Infrastructure Identity and Access Management (OCI IAM) 和 JumpCloud 之間設定單一登入 (SSO),OCI 管理員可以使用其 JumpCloud 證明資料順暢地登入 OCI 主控台。此外,透過佈建 RESTful API 的使用者,您可以實現從 JumpCloud 到 OCI 的即時使用者同步。
本教學課程示範如何透過設定安全宣告標記語言 (SAML) 同盟,以及跨網域識別管理 (SCIM) 2.0 連線的系統,將 OCI IAM 與 JumpCloud 整合。

此外,在建立 SSO 並同步識別之後,可以定義 OCI IAM 原則來設定各種 OCI 資源的存取控制。如需詳細資訊,請參閱原則入門和深入瞭解以標記為基礎的 Oracle Cloud Infrastructure Identity and Access Management 原則。
注意:此教學課程是 OCI IAM 與識別網域特定教學課程。
目標
-
設定存取管理的 SAML 型 SSO。
-
設定身分識別管理的 SCIM 2.0 佈建。
-
測試並驗證資料。
必備條件
-
存取 OCI 租用戶。如需詳細資訊,請參閱 Oracle Cloud Infrastructure Free Tier
-
OCI IAM 識別網域的識別網域管理員角色。如需詳細資訊,請參閱瞭解管理員角色。
-
JumpCloud 組織
-
JumpCloud 組織內的管理員角色
注意:在 JumpCloud 整合中使用 OCI 方案時,我們發現使用者建立 / 更新動作不一致。因此,為了本教學課程,我們將改用自訂應用程式。
第 1 節:設定存取管理的 SAML 型 SSO
JumpCloud 可作為身分識別提供者 (IdP)、認證使用者,以及安全地將認證權杖傳送至 OCI IAM,其可作為服務提供者 (SP)。若要設定 SAML 聯合,必須由雙方交換描述資料。
工作 1.1:從 OCI IAM 取得服務提供者描述資料
OCI IAM 識別網域中的 SP 描述資料會先匯出。
-
開啟瀏覽器頁籤,然後輸入 URL:
https://cloud.oracle.com。 -
輸入雲端帳戶名稱 (亦稱為租用戶名稱),然後按一下下一步。
-
選取要登入的識別網域。這是用來設定 SSO 的識別網域,例如
Default。 -
輸入管理員證明資料以登入 OCI 主控台。
-
導覽至識別與安全性,然後在識別下,按一下網域。

-
按一下識別網域的名稱。如果看不到網域,請變更區間以尋找正確的網域。

-
在安全性下,按一下身分識別提供者和匯出 SAML 中繼資料。

-
選取中繼資料檔案。在含自行簽署憑證的描述資料底下,按一下下載 XML ,然後將此 XML 檔案儲存在電腦本機,這是 SP 描述資料。

任務 1.2:建立 SSO 應用程式
在 JumpCloud 入口網站中建立 SSO 應用程式,以代表「OCI 主控台」。
-
在瀏覽器中,使用 URL 登入 JumpCloud 入口網站:
https://console.jumpcloud.com/login -
在使用者授權下,選取 SSO 應用程式,然後按一下開始使用。

-
在自訂應用程式下,按一下選取,然後按一下下一步。

-
選取管理單一登入 (SSO) ,然後選取設定 SSO 與 SAML 。選取將使用者匯出至此 App (Identity Management) ,然後按一下下一步。

-
在顯示標籤底下輸入名稱 (例如
OCI Console),然後按一下儲存應用程式。然後,按一下設定應用程式。
工作 1.3:設定 SSO 應用程式
新建立的自訂應用程式需要 SSO 組態。
-
在 SSO 頁籤的服務提供者中繼資料下,按一下上傳中繼資料,然後選取儲存於任務 1.1.8 中的服務點中繼資料檔案。

-
如果自動填入 SP 實體 ID 和 ACS URL ,則會正確剖析 XML 檔案。
在 JumpCloud 中繼資料下,按一下匯出中繼資料,然後將此 XML 檔案儲存在電腦本機,這是 IdP 中繼資料。完成時,按一下儲存。

工作 1.4:啟用 JumpCloud 作為 OCI IAM 的 IdP
系統會建立一個代表 JumpCloud 的新 IdP。完成時,會設定 IdP 原則以啟用 SSO 認證。
-
在 OCI 主控台中,瀏覽至網域,選取安全性,然後按一下身分識別提供者。
-
選取新增 IdP ,然後按一下新增 SAML IdP 。

-
輸入 SAML IdP 的名稱 (例如
JumpCloud),然後按下一步。
-
請務必選取匯入 IdP 描述資料。在上傳身分識別提供者描述資料底下,從工作 1.3.2 上傳 IdP 描述資料,然後按下一步。

-
在對應使用者識別中,輸入下列資訊,然後按下一步。
- 要求的 NameID 格式:選取無。
- 識別提供者使用者屬性:選取 SAML 宣告名稱 ID 。
- 識別網域使用者屬性:選取使用者名稱。

-
在複查並建立中,驗證組態並按一下建立 IdP 。

-
按一下啟用,然後按一下新增至 IdP 原則。

注意:立即可用的網域中沒有任何關聯的 App,只有一個預設 IdP 原則。這基本上表示所有應用程式都落在此原則的範圍內,包括 OCI 主控台。如果網域有個別針對特定應用程式的自訂 IdP 原則,請務必視需要新增規則以定位 OCI 主控台。請小心執行,因為任何組態錯誤都會導致鎖定。
-
按一下建立 IdP 原則。

-
在新增原則中,輸入名稱 (例如
OCI Console),然後按一下新增原則。
-
在新增身分識別提供者規則中,按一下新增 IdP 規則,然後輸入規則名稱。例如,
OCI Console access rule。在指派身分識別提供者下,選取使用者名稱 - 密碼和 JumpCloud 。完成後,按一下新增 IdP 規則,然後按一下下一步。

注意:新增 Username-Password 選項以保留本機認證。這可避免在聯合設定值發生問題時鎖定。
-
按一下新增應用程式,搜尋並從清單中選取 OCI 主控台。按一下新增應用程式,然後按一下關閉。

第 2 節:設定以 SCIM 2.0 為基礎的使用者啟動設定
使用者生命週期管理是在 JumpCloud 與 OCI IAM 之間設定,其中 JumpCloud 會作為識別存放區。確定要啟動設定下游的所有使用者都已填入下列屬性的適當值:
- 名字
- 姓氏
- 公司電子郵件
- 顯示名稱
- 公司所在國家
- 工作市別 (地區)
- 工作狀態 (區域)
- 工作街道地址
- 郵遞區號
注意:公司電子郵件與使用者名稱的對應可確保 SAML 主旨 /NameID 中的一致性,且 SSO 必須能夠運作。舉例而言:
><saml2:Subject><saml2:NameID Format="urn:oasis:names:tc:SAML:1.0:nameid-format:unspecified">XXX+test4@oracle.com</saml2:NameID> >
工作 2.1:在 OCI IAM 中建立機密應用程式並產生加密密碼記號
OAuth 2.0 從屬端已在 OCI IAM 中註冊。會啟用適當的流程並授予權限。系統會收集此從屬端的證明資料。
-
前往 OCI 主控台,瀏覽至網域,然後選取第 1 節中使用的網域。
-
前往整合的應用程式,選取新增應用程式、機密應用程式,然後按一下啟動工作流程。

-
輸入機密應用程式的名稱 (例如
SCIMclient),然後按下一步。 -
在從屬端組態段落中,選取立即將此應用程式設定為從屬端,然後在授權底下,選取從屬端證明資料。

-
選取新增應用程式角色,然後按一下新增角色。在新增應用程式角色頁面中,選取使用者管理員,然後按一下新增。

-
按下一步,然後按完成。
-
按一下啟動以啟動新應用程式。

-
在一般資訊段落中,記下從屬端 ID 和從屬端加密密碼,然後選取顯示加密密碼以顯示純文字。

-
加密密碼記號是 clientID 和 clientsecret 的 base64 編碼。
-
若為 Windows,請開啟 PowerShell,然後執行下列命令來產生 base64 編碼。
[Convert]::ToBase64String([Text.Encoding]::UTF8.GetBytes("<clientID>:<clientsecret>”)) -
對於 MacOS,請使用「終端機」來執行下列指令。
echo -n <clientID>:<clientsecret> | base64傳回加密密碼記號。舉例而言:
echo -n 392357752xxxx7523923457437:3454-9853-7843-3554 | base64 Nk0NzUyMzxxxxxxxxxxxxxxxMzMtNTQzNC05ODc4LTUzNQ==

-
-
請記下密碼記號。
工作 2.2:尋找 OCI IAM GUID
從屬端需有 SCIM 端點詳細資訊才能進行 API 呼叫。
-
前往 OCI 主控台,瀏覽至網域,然後選取第 1 節中使用的網域。
-
在網域資訊中,選取網域 URL 旁邊的複製並記下此項目。它應該如下所示:
https://<IdentityDomainID>.identity.oraclecloud.com:443 -
新增
/admin/v1至 URL 的結尾。最後的 URL 應該如下所示:https://<IdentityDomainID>.identity.oraclecloud.com:443/admin/v1 -
請記下 URL。
工作 2.3:在 JumpCloud 應用程式中設定識別管理
移至 JumpCloud,會填入 SCIM 端點和 OAuth 2.0 證明資料。
-
開啟在任務 1.1.2 中建立的 SSO 應用程式,然後前往識別管理。
-
輸入以下資訊並按一下測試連線。
- API 類型:選取 SCIM API 。
- SCIM 版本:選取 SCIM 2.0 。
- 基礎 URL:輸入工作 2.2.4 的基礎 URL。
- 權杖金鑰:輸入從工作 2.1.10 產生的加密密碼權杖。
- 測試使用者電子郵件:在 JumpCloud 目錄中輸入使用者的電子郵件。

注意:如果連線成功,則可使用 SCIM 使用者屬性自訂。群組預設會同步至 OCI,但可以透過關閉群組管理來變更。
-
在 SCIM 屬性名稱中,按一下 + 新增屬性,以根據下列影像建立屬性對映。完成時,請按一下啟用。

-
應該會收到要驗證之連線的相關通知。請按一下儲存。

工作 2.4:將群組指派給 JumpCloud 應用程式
注意:先決條件為先在 JumpCloud 中建立 OCI 管理員群組後再繼續進行。
現在,需要存取 Oracle 資源的群組將與佈建一致。
-
開啟 SSO 應用程式,然後移至使用者群組頁籤。
-
選取需要佈建至 OCI 的群組,然後按一下儲存。

第 3 節:測試與驗證
注意:若要讓 SSO 運作,OCI IAM 和 JumpCloud 中必須要有 SSO 使用者帳戶。
最後,會驗證同步的識別並測試聯合認證。
-
在 JumpCloud 和 OCI 主控台中開啟其中一個使用者,以驗證詳細資訊是否相符。


-
重複相同的處理程序,以驗證群組是否已同步。


注意:現在身分識別已同步化,我們會驗證 SSO 登入。
-
在新的瀏覽器視窗中,開啟 OCI 主控台。輸入雲端帳戶名稱 (亦稱為租用戶名稱),然後按一下下一步。
-
選取已設定 JumpCloud 同盟的識別網域。
-
在 Oracle Cloud 帳戶登入頁面中,選取 JumpCloud 。必須重新導向至 JumpCloud 登入頁面。

-
輸入同盟使用者的 JumpCloud 證明資料。認證成功時,應有重新導向回 OCI 主控台。
結論
此整合可讓管理員不需要管理個別的 OCI 證明資料、增強安全性,以及簡化存取管理。這也有助於身分識別管理,減少管理費用並消除冗餘。
確認
- 作者 - Tonmendu Bose (資深雲端工程師)
其他學習資源
在 docs.oracle.com/learn 上探索其他實驗室,或在 Oracle Learning YouTube 頻道上存取更多免費學習內容。此外,請造訪 education.oracle.com/learning-explorer 以成為 Oracle Learning Explorer。
如需產品文件,請造訪 Oracle Help Center 。
Set up Single Sign-On and User Provisioning between OCI IAM and JumpCloud
G33643-02