連接單一登入

訂閱: 商務版
要求: Docker Desktop 4.42 及更高版本
適用對象: 管理員

設定單一登入 (SSO) 連接涉及設定 Docker 和您的識別提供者 (IdP)。本指南將引導您完成在 Docker 中的設定、IdP 中的設定,以及最終的連接。

提示

您需要在 Docker 和您的 IdP 之間複製並貼上數值。請在同一個工作階段中,並分別開啟 Docker 和 IdP 的瀏覽器視窗來完成本指南。

先決條件

開始之前

  • 驗證您的網域
  • 與您的識別提供者 (IdP) 建立帳戶
  • 完成設定單一登入指南中的步驟

第一步:在 Docker 中建立 SSO 連接

注意

在建立 SSO 連接之前,您必須驗證至少一個網域

  1. 登入 Docker Home 並選擇您的組織。
  2. 選取 管理主控台 (Admin Console),然後選取 SSO 和 SCIM (SSO and SCIM)
  3. 選擇建立連接 (Create Connection) 並為該連接提供名稱。
  4. 選擇驗證方法:SAMLAzure AD (OIDC)
  5. 複製 IdP 所需的數值
    • Okta SAML:實體 ID (Entity ID)ACS URL
    • Azure OIDC:重新導向 URL (Redirect URL)

請保持此視窗開啟,以便稍後貼上來自 IdP 的數值。

第二步:在您的識別提供者 (IdP) 中建立 SSO 連接

根據您的 IdP 提供者使用以下分頁。

  1. 登入您的 Okta 帳戶並開啟管理入口網站。
  2. 選擇 Administration,然後選擇 Create App Integration
  3. 選擇 SAML 2.0,然後選擇 Next
  4. 將您的應用程式命名為「Docker」。
  5. 選用。上傳標誌。
  6. 從 Docker 貼上數值
    • Docker ACS URL -> Single Sign On URL
    • Docker Entity ID -> Audience URI (SP Entity ID)
  7. 設定以下設定
    • Name ID format:EmailAddress
    • Application username:Email
    • Update application on:Create and update
  8. 選用。新增 SAML 屬性。請參閱SSO 屬性
  9. 選擇「下一步」(Next)。
  10. 勾選 This is an internal app that we have created 核取方塊。
  11. 選擇 Finish
  1. 登入 Microsoft Entra(前身為 Azure AD)。
  2. 選擇 Default Directory > Add > Enterprise Application
  3. 選擇 Create your own application,命名為「Docker」,並選擇 Non-gallery
  4. 建立應用程式後,前往 Single Sign-On 並選擇 SAML
  5. Basic SAML configuration 區段中選擇 Edit
  6. 編輯 Basic SAML configuration 並貼上來自 Docker 的數值
    • Docker Entity ID -> Identifier
    • Docker ACS URL -> Reply URL
  7. 選用。新增 SAML 屬性。請參閱SSO 屬性
  8. 儲存設定。
  9. SAML Signing Certificate 區段,下載您的 Certificate (Base64)

註冊應用程式

  1. 登入 Microsoft Entra(前身為 Azure AD)。
  2. 選擇 App Registration > New Registration
  3. 將應用程式命名為「Docker」。
  4. 設定帳戶類型並貼上來自 Docker 的 Redirect URI
  5. 選擇 Register
  6. 複製 Client ID

建立用戶端密鑰 (Client secrets)

  1. 在您的應用程式中,前往 Certificates & secrets
  2. 選擇 New client secret,描述並設定持續時間,然後選擇 Add
  3. 複製新密鑰的 value

設定 API 權限

  1. 在您的應用程式中,前往 API permissions
  2. 選擇 Grant admin consent 並確認。
  3. 選擇 Add a permissions > Delegated permissions
  4. 搜尋並選擇 User.Read
  5. 確認已授予管理員同意。

第三步:將 Docker 連接到您的 IdP

透過將您的 IdP 數值貼入 Docker 來完成整合。

  1. 在 Okta 中,選擇您的應用程式並前往 View SAML setup instructions

  2. 複製 SAML Sign-in URLx509 Certificate

    重要

    複製完整憑證,包含 ----BEGIN CERTIFICATE--------END CERTIFICATE---- 行。

  3. 返回 Docker 管理控制台。

  4. 貼上 SAML Sign-in URLx509 Certificate 數值。

  5. 選用。選擇預設團隊。

  6. 檢查並選擇 Create connection

  1. 在文字編輯器中開啟您下載的 Certificate (Base64)

  2. 複製以下數值

    • 來自 Azure AD:Login URL
    • Certificate (Base64) 內容
    重要

    複製完整憑證,包含 ----BEGIN CERTIFICATE--------END CERTIFICATE---- 行。

  3. 返回 Docker 管理控制台。

  4. 貼上 Login URLCertificate (Base64) 數值。

  5. 選用。選擇預設團隊。

  6. 檢查並選擇 Create connection

  1. 返回 Docker 管理控制台。
  2. 貼上以下數值
    • Client ID
    • Client Secret
    • Azure AD Domain
  3. 選用。選擇預設團隊。
  4. 檢查並選擇 Create connection

第四步:測試連接

  1. 開啟無痕瀏覽器視窗。
  2. 使用您的網域電子郵件地址登入管理控制台。
  3. 瀏覽器將重新導向至您的識別提供者登入頁面以進行驗證。如果您有多個 IdP,請選擇登入選項 Continue with SSO
  4. 透過您的網域電子郵件進行驗證,而非使用您的 Docker ID。

如果您使用 CLI,則必須使用個人存取權杖進行驗證。

選用:設定多個 IdP

Docker 支援多個 IdP 設定。若要對一個網域使用多個 IdP:

  • 針對每個 IdP 重複本頁面的第 1-4 步。
  • 每個連接必須使用相同的網域。
  • 使用者將在登入時選擇 Continue with SSO 來選擇他們的 IdP。

選用:強制執行 SSO

重要

如果未強制執行 SSO,使用者仍然可以使用 Docker 使用者名稱和密碼登入。

強制執行 SSO 要求使用者在登入 Docker 時使用 SSO。這能集中化驗證並強制執行 IdP 設定的原則。

  1. 登入 Docker Home 並選擇您的組織或公司。
  2. 選取 管理主控台 (Admin Console),然後選取 SSO 和 SCIM (SSO and SCIM)
  3. 在 SSO 連接表格中,選擇 Action 功能表,然後選擇 Enable enforcement
  4. 依照螢幕指示操作。
  5. 選擇 Turn on enforcement

當強制執行 SSO 時,您的使用者將無法修改其電子郵件地址和密碼、將使用者帳戶轉換為組織,或透過 Docker Hub 設定雙重驗證 (2FA)。如果您想使用 2FA,必須透過您的 IdP 啟用 2FA。

下一步

© . This site is unofficial and not affiliated with Kubernetes or Docker Inc.