連接單一登入
設定單一登入 (SSO) 連接涉及設定 Docker 和您的識別提供者 (IdP)。本指南將引導您完成在 Docker 中的設定、IdP 中的設定,以及最終的連接。
提示您需要在 Docker 和您的 IdP 之間複製並貼上數值。請在同一個工作階段中,並分別開啟 Docker 和 IdP 的瀏覽器視窗來完成本指南。
先決條件
開始之前
- 驗證您的網域
- 與您的識別提供者 (IdP) 建立帳戶
- 完成設定單一登入指南中的步驟
第一步:在 Docker 中建立 SSO 連接
注意在建立 SSO 連接之前,您必須驗證至少一個網域。
- 登入 Docker Home 並選擇您的組織。
- 選取 管理主控台 (Admin Console),然後選取 SSO 和 SCIM (SSO and SCIM)。
- 選擇建立連接 (Create Connection) 並為該連接提供名稱。
- 選擇驗證方法:SAML 或 Azure AD (OIDC)。
- 複製 IdP 所需的數值
- Okta SAML:實體 ID (Entity ID)、ACS URL
- Azure OIDC:重新導向 URL (Redirect URL)
請保持此視窗開啟,以便稍後貼上來自 IdP 的數值。
第二步:在您的識別提供者 (IdP) 中建立 SSO 連接
根據您的 IdP 提供者使用以下分頁。
- 登入您的 Okta 帳戶並開啟管理入口網站。
- 選擇 Administration,然後選擇 Create App Integration。
- 選擇 SAML 2.0,然後選擇 Next。
- 將您的應用程式命名為「Docker」。
- 選用。上傳標誌。
- 從 Docker 貼上數值
- Docker ACS URL -> Single Sign On URL
- Docker Entity ID -> Audience URI (SP Entity ID)
- 設定以下設定
- Name ID format:
EmailAddress - Application username:
Email - Update application on:
Create and update
- Name ID format:
- 選用。新增 SAML 屬性。請參閱SSO 屬性。
- 選擇「下一步」(Next)。
- 勾選 This is an internal app that we have created 核取方塊。
- 選擇 Finish。
- 登入 Microsoft Entra(前身為 Azure AD)。
- 選擇 Default Directory > Add > Enterprise Application。
- 選擇 Create your own application,命名為「Docker」,並選擇 Non-gallery。
- 建立應用程式後,前往 Single Sign-On 並選擇 SAML。
- 在 Basic SAML configuration 區段中選擇 Edit。
- 編輯 Basic SAML configuration 並貼上來自 Docker 的數值
- Docker Entity ID -> Identifier
- Docker ACS URL -> Reply URL
- 選用。新增 SAML 屬性。請參閱SSO 屬性。
- 儲存設定。
- 從 SAML Signing Certificate 區段,下載您的 Certificate (Base64)。
註冊應用程式
- 登入 Microsoft Entra(前身為 Azure AD)。
- 選擇 App Registration > New Registration。
- 將應用程式命名為「Docker」。
- 設定帳戶類型並貼上來自 Docker 的 Redirect URI。
- 選擇 Register。
- 複製 Client ID。
建立用戶端密鑰 (Client secrets)
- 在您的應用程式中,前往 Certificates & secrets。
- 選擇 New client secret,描述並設定持續時間,然後選擇 Add。
- 複製新密鑰的 value。
設定 API 權限
- 在您的應用程式中,前往 API permissions。
- 選擇 Grant admin consent 並確認。
- 選擇 Add a permissions > Delegated permissions。
- 搜尋並選擇
User.Read。 - 確認已授予管理員同意。
第三步:將 Docker 連接到您的 IdP
透過將您的 IdP 數值貼入 Docker 來完成整合。
在 Okta 中,選擇您的應用程式並前往 View SAML setup instructions。
複製 SAML Sign-in URL 和 x509 Certificate。
重要複製完整憑證,包含
----BEGIN CERTIFICATE----和----END CERTIFICATE----行。返回 Docker 管理控制台。
貼上 SAML Sign-in URL 和 x509 Certificate 數值。
選用。選擇預設團隊。
檢查並選擇 Create connection。
在文字編輯器中開啟您下載的 Certificate (Base64)。
複製以下數值
- 來自 Azure AD:Login URL
- Certificate (Base64) 內容
重要複製完整憑證,包含
----BEGIN CERTIFICATE----和----END CERTIFICATE----行。返回 Docker 管理控制台。
貼上 Login URL 和 Certificate (Base64) 數值。
選用。選擇預設團隊。
檢查並選擇 Create connection。
- 返回 Docker 管理控制台。
- 貼上以下數值
- Client ID
- Client Secret
- Azure AD Domain
- 選用。選擇預設團隊。
- 檢查並選擇 Create connection。
第四步:測試連接
- 開啟無痕瀏覽器視窗。
- 使用您的網域電子郵件地址登入管理控制台。
- 瀏覽器將重新導向至您的識別提供者登入頁面以進行驗證。如果您有多個 IdP,請選擇登入選項 Continue with SSO。
- 透過您的網域電子郵件進行驗證,而非使用您的 Docker ID。
如果您使用 CLI,則必須使用個人存取權杖進行驗證。
選用:設定多個 IdP
Docker 支援多個 IdP 設定。若要對一個網域使用多個 IdP:
- 針對每個 IdP 重複本頁面的第 1-4 步。
- 每個連接必須使用相同的網域。
- 使用者將在登入時選擇 Continue with SSO 來選擇他們的 IdP。
選用:強制執行 SSO
重要如果未強制執行 SSO,使用者仍然可以使用 Docker 使用者名稱和密碼登入。
強制執行 SSO 要求使用者在登入 Docker 時使用 SSO。這能集中化驗證並強制執行 IdP 設定的原則。
- 登入 Docker Home 並選擇您的組織或公司。
- 選取 管理主控台 (Admin Console),然後選取 SSO 和 SCIM (SSO and SCIM)。
- 在 SSO 連接表格中,選擇 Action 功能表,然後選擇 Enable enforcement。
- 依照螢幕指示操作。
- 選擇 Turn on enforcement。
當強制執行 SSO 時,您的使用者將無法修改其電子郵件地址和密碼、將使用者帳戶轉換為組織,或透過 Docker Hub 設定雙重驗證 (2FA)。如果您想使用 2FA,必須透過您的 IdP 啟用 2FA。