建立 SSO 連線
目錄
建立單一登入 (SSO) 連線需要先在 Docker 中設定連線,然後在您的身分識別提供者 (IdP) 中設定連線。本指南提供在 Docker 和您的 IdP 中設定 SSO 連線的步驟。
提示
本指南需要在 Docker 和您的 IdP 中複製和貼上值。為了確保連線流程順暢,請在一個工作階段中完成本指南中的所有步驟,並為 Docker 和您的 IdP 保持開啟不同的瀏覽器。
先決條件
在開始之前,請確保您已完成以下步驟
- 您的網域已驗證
- 您已使用 IdP 設定帳戶
- 您已完成設定單一登入指南中的步驟
步驟一:在 Docker 中建立 SSO 連線
注意事項
在 Docker 中建立 SSO 連線之前,您必須至少驗證一個網域。
- 登入管理主控台。
- 從左側下拉式選單中選取您的組織或公司。請注意,當組織屬於公司的一部分時,您必須選取公司並在公司層級為組織設定網域。
- 在「安全性與存取」下,選取**SSO 和 SCIM**。
- 選取**建立連線**並提供連線的名稱。
- 選擇驗證方法,**SAML** 或 **Azure AD (OIDC)**。
- 複製以下欄位以新增至您的 IdP
- Okta SAML:**實體 ID**、**ACS URL**
- Azure OIDC:**重新導向 URL**
- 保持此視窗開啟,以便您在本指南結尾將來自 IdP 的連線資訊貼上到這裡。
- 登入 Docker Hub。
- 選取**組織**,然後從清單中選取您的組織。
- 在您的組織頁面上,選取**設定**,然後選取**安全性**。
- 在 SSO 連線表格中,選取**建立連線**並提供連線的名稱。
- 選擇驗證方法,**SAML** 或 **Azure AD (OIDC)**。
- 複製以下欄位以新增至您的 IdP
- Okta SAML:**實體 ID**、**ACS URL**
- Azure OIDC:**重新導向 URL**
- 保持此視窗開啟,以便您在本指南結尾將來自 IdP 的連線資訊貼上到這裡。
步驟二:在您的 IdP 中建立 SSO 連線
您的 IdP 的使用者介面可能與以下步驟略有不同。請參閱您的 IdP 文件以進行驗證。
- 登入您的 Okta 帳戶。
- 選擇管理員以開啟 Okta 管理員入口網站。
- 從左側導覽列中,選擇管理。
- 選擇管理,然後選擇建立應用程式整合。
- 選擇SAML 2.0,然後選擇下一步。
- 在應用程式名稱中輸入「Docker Hub」。
- 選用。上傳標誌。
- 選擇下一步。
- 將 Docker 中的以下值輸入到 Okta 對應的欄位中
- Docker ACS URL:單一登入 URL
- Docker Entity ID:受眾 URI (SP Entity ID)
- 在 Okta 中設定以下設定
- 名稱 ID 格式:
EmailAddress
- 應用程式使用者名稱:
Email
- 更新應用程式於:
建立和更新
- 名稱 ID 格式:
- 選擇下一步。
- 勾選這是我們建立的內部應用程式核取方塊。
- 選擇完成。
- 登入您的 Azure AD 管理員入口網站。
- 選擇預設目錄,然後選擇新增。
- 選擇企業應用程式,然後選擇建立您自己的應用程式。
- 輸入「Docker」作為應用程式名稱,然後選擇非資源庫選項。
- 建立應用程式後,前往單一登入並選擇SAML。
- 在基本 SAML 設定區段中選擇編輯。
- 將 Docker 中的以下值輸入到 Azure 對應的欄位中
- Docker Entity ID:識別碼
- Docker ACS URL:回覆 URL
- 儲存設定。
- 從SAML 簽署憑證區段中,下載您的憑證 (Base64)。
要建立 Azure Connect (OIDC) 連線,您必須建立應用程式註冊、用戶端密碼,並設定 Docker 的 API 權限
建立應用程式註冊
- 登入您的 Azure AD 管理員入口網站。
- 選擇應用程式註冊,然後選擇新增註冊。
- 輸入「Docker Hub SSO」或類似的名稱作為應用程式名稱。
- 在支援的帳戶類型下,指定可以使用此應用程式或存取應用程式的人員。
- 在重新導向 URI區段中,從下拉式選單中選擇Web,然後將 Docker 主控台中的重新導向 URI值貼到此欄位中。
- 選擇註冊以註冊應用程式。
- 從應用程式的概觀頁面複製用戶端 ID。您需要此資訊才能繼續在 Docker 中設定 SSO。
建立用戶端密碼
- 在 Azure AD 中開啟您的應用程式,然後選擇憑證與密碼。
- 選擇+ 新增用戶端密碼。
- 指定密碼的描述,並設定金鑰可以使用多久。
- 選擇新增以繼續。
- 複製密碼的值欄位。您需要此資訊才能繼續在 Docker 中設定 SSO。
設定 API 權限
- 在 Azure AD 中開啟您的應用程式,然後瀏覽至您的應用程式設定。
- 選擇API 權限,然後選擇授予 [您的租戶名稱] 的管理員同意。
- 選擇是以確認。
- 確認後,選擇新增權限,然後選擇委派的權限。
- 搜尋
User.Read
並選擇此選項。 - 選擇新增權限以確認。
- 檢查狀態欄位,確認已授予每個權限的管理員同意。
步驟三:連線 Docker 和您的 IdP
在 Docker 和您的 IdP 中建立連線後,您可以交叉連接它們以完成您的 SSO 連線
- 開啟您在 Okta 中建立的應用程式,然後選擇檢視 SAML 設定說明。
- 從 Okta SAML 設定說明頁面複製以下值
- SAML 登入 URL
- x509 憑證
- 開啟 Docker Hub 或管理主控台。您的 SSO 設定頁面應該仍然從本指南的第一步開啟。
- 選擇下一步以開啟更新單一登入連線頁面。
- 將您的 Okta SAML 登入 URL 和 x509 憑證值貼到 Docker 中。
- 選擇下一步。
- 選用。選擇要將使用者佈建到的預設團隊,然後選擇下一步。
- 驗證您的 SSO 連線詳細資訊,然後選擇建立連線。
- 在 Azure AD 中開啟您的應用程式。
- 在文字編輯器中開啟您下載的憑證 (Base64)。
- 複製以下值
- 從 Azure AD:登入 URL
- 從您的文字編輯器複製您的憑證 (Base64)檔案的內容
- 開啟 Docker Hub 或管理主控台。您的 SSO 設定頁面應該仍然從本指南的第一步開啟。
- 將您的登入 URL 和憑證 (Base64)值貼到 Docker 中。
- 選擇下一步。
- 選用。選擇要將使用者佈建到的預設團隊,然後選擇下一步。
- 驗證您的 SSO 連線詳細資訊,然後選擇建立連線。
- 開啟 Docker Hub 或管理主控台。您的 SSO 設定頁面應該仍然從本指南的第一步開啟。
- 將以下值從 Azure AD 貼到 Docker 中
- 用戶端 ID
- 用戶端密碼
- Azure AD 網域
- 選擇下一步。
- 選用。選擇要將使用者佈建到的預設團隊,然後選擇下一步。
- 驗證您的 SSO 連線詳細資訊,然後選擇建立連線。
步驟四:測試您的連線
在您完成 Docker 中的 SSO 連線流程後,我們建議您測試它
- 開啟無痕瀏覽器。
- 使用您的網域電子郵件地址登入管理主控台。
- 瀏覽器將重新導向到您的 IdP 登入頁面進行驗證。
- 透過您的網域電子郵件進行驗證,而不是使用您的 Docker ID。
您也可以透過命令列介面 (CLI) 測試您的 SSO 連線。如果您想透過 CLI 進行測試,您的使用者必須擁有個人存取權杖 (PAT)。
選用:強制執行 SSO
重要
如果未強制執行 SSO,使用者可以選擇使用 Docker 使用者名稱和密碼或 SSO 登入。
強制執行 SSO 要求使用者在登入 Docker 時使用 SSO。這會集中驗證並強制執行 IdP 設定的原則。
- 登入管理主控台。
- 從左側下拉式選單中選取您的組織或公司。請注意,當組織屬於公司的一部分時,您必須選取公司並在公司層級為組織設定網域。
- 在「安全性與存取」下,選取**SSO 和 SCIM**。
- 在 SSO 連線表格中,選擇動作圖示,然後選擇啟用強制執行。強制執行 SSO 時,您的使用者將無法修改其電子郵件地址和密碼、將使用者帳戶轉換為組織,或透過 Docker Hub 設定雙重驗證。如果您要使用雙重驗證,您必須透過您的 IdP 啟用雙重驗證。
- 繼續螢幕上的說明,並驗證您已完成所有工作。
- 選擇開啟強制執行以完成。
您的使用者現在必須使用 SSO 登入 Docker。
更多資源
以下影片示範如何強制執行 SSO。