建立 SSO 連線

訂閱: Business
面向: 管理員

建立單點登入 (SSO) 連線需要先在 Docker 中設定連線,然後在身份提供者 (IdP) 中設定連線。本指南提供了在 Docker 和 IdP 中設定 SSO 連線的步驟。

提示

本指南需要在 Docker 和 IdP 中複製和貼上值。為確保無縫連線過程,請一次性完成本指南中的所有步驟,併為 Docker 和 IdP 開啟單獨的瀏覽器視窗。

前提條件

開始之前,請確保您已完成以下事項

  • 您的域名已驗證
  • 您已在 IdP 中設定了賬戶
  • 您已完成配置單點登入指南中的步驟

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

注意

在 Docker 中建立 SSO 連線之前,您必須驗證至少一個域名。


  1. 登入 Admin Console
  2. 選擇個人資料頁面選擇您的組織或公司。請注意,當組織隸屬於公司時,您必須選擇公司並在公司級別配置組織的域名。
  3. 在“安全和訪問”下,選擇 SSO 和 SCIM
  4. 選擇 建立連線 併為連線命名。
  5. 選擇認證方法,SAMLAzure AD (OIDC)
  6. 複製以下欄位新增到您的 IdP:
    • Okta SAML:實體 IDACS URL
    • Azure OIDC:重定向 URL
  7. 保持此視窗開啟,以便您在本指南末尾將 IdP 中的連線資訊貼上到此處。

重要提示

組織管理正在遷移到 Admin Console。

在 Docker Admin Console 中管理成員、團隊、設定和活動日誌。Docker Hub 中對這些功能的訪問許可權即將終止。請前往Admin Console

  1. 登入 Docker Hub。
  2. 選擇 My Hub,然後從列表中選擇您的組織。
  3. 在組織頁面上,選擇 Settings,然後選擇 Security
  4. 在 SSO 連線表中,選擇 建立連線 併為連線命名。
  5. 選擇認證方法,SAMLAzure AD (OIDC)
  6. 複製以下欄位新增到您的 IdP:
    • Okta SAML:實體 IDACS URL
    • Azure OIDC:重定向 URL
  7. 保持此視窗開啟,以便您在本指南末尾將 IdP 中的連線資訊貼上到此處。

第二步:在 IdP 中建立 SSO 連線

您的 IdP 使用者介面可能與以下步驟略有不同。請參閱您的 IdP 文件進行確認。


  1. 登入您的 Okta 賬戶。
  2. 選擇 Admin 開啟 Okta 管理門戶。
  3. 在左側導航選單中,選擇 Administration
  4. 選擇 Administration,然後選擇 Create App Integration
  5. 選擇 SAML 2.0,然後選擇 Next
  6. 輸入 "Docker Hub" 作為您的 App Name
  7. 可選。上傳徽標。
  8. 選擇 Next
  9. 將 Docker 中的以下值輸入到 Okta 中的對應欄位:
    • Docker ACS URL:Single Sign On URL
    • Docker 實體 ID:Audience URI (SP Entity ID)
  10. 在 Okta 中配置以下設定:
    • Name ID format:EmailAddress
    • Application username:Email
    • Update application on:Create and update
  11. 可選。新增 SAML 屬性。有關 SSO 屬性表,請參閱SSO attributes
  12. 選擇 Next
  13. 選中 This is an internal app that we have created 複選框。
  14. 選擇 Finish
  1. 登入您的 Azure AD 管理門戶。
  2. 選擇 Default Directory,然後選擇 Add
  3. 選擇 Enterprise Application,然後選擇 Create your own application
  4. 為應用程式名稱輸入 "Docker",並選擇 non-gallery 選項。
  5. 建立應用程式後,轉到 Single Sign-On 並選擇 SAML
  6. Basic SAML configuration 部分選擇 Edit
  7. 將 Docker 中的以下值輸入到 Azure 中的對應欄位:
    • Docker 實體 ID:Identifier
    • Docker ACS URL:Reply URL
  8. 可選。新增 SAML 屬性。有關 SSO 屬性表,請參閱SSO attributes
  9. 儲存配置。
  10. SAML Signing Certificate 部分,下載您的 Certificate (Base64)

要建立 Azure Connect (OIDC) 連線,您必須為 Docker 建立應用註冊、客戶端金鑰並配置 API 許可權:

建立應用註冊

  1. 登入您的 Azure AD 管理門戶。
  2. 選擇 App Registration,然後選擇 New Registration
  3. 輸入 "Docker Hub SSO" 或類似的應用程式名稱。
  4. 支援的賬戶型別下,指定誰可以使用此應用程式或訪問該應用。
  5. Redirect URI 部分,從下拉選單中選擇 Web,並將 Docker 控制檯中的 Redirect URI 值貼上到此欄位。
  6. 選擇 Register 註冊應用。
  7. 複製應用概覽頁面上的 Client ID。您需要此資訊來繼續在 Docker 中配置 SSO。

建立客戶端金鑰

  1. 在 Azure AD 中開啟您的應用,然後選擇 Certificates & secrets
  2. 選擇 + New client secret
  3. 指定金鑰的描述,並設定金鑰的使用期限。
  4. 選擇 Add 繼續。
  5. 複製金鑰的 Value 欄位。您需要此資訊來繼續在 Docker 中配置 SSO。

配置 API 許可權

  1. 在 Azure AD 中開啟您的應用並導航到應用設定。
  2. 選擇 API permission,然後選擇 Grant admin consent for [您的租戶名稱]
  3. 選擇 Yes 確認。
  4. 確認後,選擇 Add a permission,然後選擇 Delegated permissions
  5. 搜尋 User.Read 並選擇此選項。
  6. 選擇 Add permissions 確認。
  7. 透過檢查 Status 列,驗證是否已為每個許可權授予管理員同意。

第三步:連線 Docker 和 IdP

在 Docker 和 IdP 中建立連線後,您可以交叉連線它們來完成 SSO 連線:


  1. 開啟您在 Okta 中建立的應用,然後選擇 View SAML setup instructions

  2. 從 Okta SAML 設定說明頁面複製以下值:

    • SAML Sign-in URL

    • x509 證書

      重要提示

      您必須複製整個 x509 證書內容,包括 ----BEGIN CERTIFICATE--------END CERTIFICATE---- 行。

  3. 開啟 Docker Hub 或 Admin Console。您的 SSO 配置頁面應仍處於開啟狀態(從本指南的第一步)。

  4. 選擇 Next 開啟 更新單點登入連線 頁面。

  5. 將您的 Okta SAML Sign-in URLx509 證書值貼上到 Docker 中。

  6. 選擇 Next

  7. 可選。選擇一個預設團隊用於預配使用者,然後選擇 Next

  8. 驗證您的 SSO 連線詳情,然後選擇 Create Connection

  1. 在 Azure AD 中開啟您的應用。

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

  3. 複製以下值:

    • 從 Azure AD:Login URL

    • 從文字編輯器中複製 Certificate (Base64) 檔案內容:

      重要提示

      您必須複製整個 Certificate (base64) 內容,包括 ----BEGIN CERTIFICATE--------END CERTIFICATE---- 行。

  4. 開啟 Docker Hub 或 Admin Console。您的 SSO 配置頁面應仍處於開啟狀態(從本指南的第一步)。

  5. 將您的 Login URLCertificate (Base64) 值貼上到 Docker 中。

  6. 選擇 Next

  7. 可選。選擇一個預設團隊用於預配使用者,然後選擇 Next

  8. 驗證您的 SSO 連線詳情,然後選擇 Create Connection

  1. 開啟 Docker Hub 或 Admin Console。您的 SSO 配置頁面應仍處於開啟狀態(從本指南的第一步)。
  2. 將 Azure AD 中的以下值貼上到 Docker 中:
    • Client ID
    • Client Secret
    • Azure AD 域名
  3. 選擇 Next
  4. 可選。選擇一個預設團隊用於預配使用者,然後選擇 Next
  5. 驗證您的 SSO 連線詳情,然後選擇 Create Connection

第四步:測試連線

在 Docker 中完成 SSO 連線過程後,我們建議測試它:

  1. 開啟隱身瀏覽器。
  2. 使用您的域名電子郵件地址登入 Admin Console。
  3. 瀏覽器將重定向到您 IdP 的登入頁面進行認證。
  4. 使用您的域名電子郵件進行認證,而不是使用您的 Docker ID。

您還可以透過命令列介面 (CLI) 測試 SSO 連線。如果您想透過 CLI 測試,您的使用者必須擁有個人訪問令牌 (PAT)。

可選:強制 SSO

重要提示

如果未強制 SSO,使用者可以選擇使用 Docker 使用者名稱和密碼或 SSO 登入。

強制 SSO 要求使用者在登入 Docker 時使用 SSO。這集中了認證並強制執行 IdP 設定的策略。

  1. 登入 Admin Console
  2. 選擇個人資料頁面選擇您的組織或公司。請注意,當組織隸屬於公司時,您必須選擇公司並在公司級別配置組織的域名。
  3. 在“安全和訪問”下,選擇 SSO 和 SCIM
  4. 在 SSO 連線表中,選擇操作圖示,然後選擇 啟用強制。強制 SSO 後,您的使用者將無法更改電子郵件地址和密碼、將使用者賬戶轉換為組織,或透過 Docker Hub 設定 2FA。如果您想使用 2FA,必須透過 IdP 啟用 2FA。
  5. 繼續按照螢幕上的說明操作,並確認您已完成所有任務。
  6. 選擇 開啟強制 完成。

您的使用者現在必須使用 SSO 登入 Docker。

注意

強制 SSO 後,使用者無法使用密碼訪問 Docker CLI。使用者必須使用個人訪問令牌 (PAT) 進行認證以訪問 Docker CLI。

更多資源

以下影片演示瞭如何強制 SSO。

後續步驟

頁面選項