连接单点登录

订阅: 商业版
要求: Docker Desktop 4.42 及更高版本
适用于: 管理员

设置单点登录 (SSO) 连接涉及同时配置 Docker 和您的身份提供商 (IdP)。本指南将引导您完成 Docker 中的设置、IdP 中的设置以及最终连接。

提示

您将在 Docker 和 IdP 之间复制和粘贴值。请在一个会话中完成本指南,并为 Docker 和 IdP 分别打开浏览器窗口。

先决条件

开始之前

  • 验证您的域
  • 使用您的身份提供商 (IdP) 设置帐户
  • 完成配置单点登录指南中的步骤

第一步:在 Docker 中创建 SSO 连接

注意

在创建 SSO 连接之前,您必须验证至少一个域

  1. 登录 Docker Home 并选择您的组织。
  2. 选择管理控制台,然后选择SSO 和 SCIM
  3. 选择创建连接并为连接提供一个名称。
  4. 选择一种身份验证方法:SAMLAzure AD (OIDC)
  5. 复制您的 IdP 所需的值
    • Okta SAML:实体 IDACS URL
    • Azure OIDC:重定向 URL

保持此窗口打开,以便稍后从您的 IdP 粘贴值。

第二步:在您的 IdP 中创建 SSO 连接

根据您的 IdP 提供商使用以下选项卡。

  1. 登录您的 Okta 帐户并打开管理员门户。
  2. 选择管理,然后选择创建应用集成
  3. 选择SAML 2.0,然后选择下一步
  4. 将您的应用命名为“Docker”。
  5. 可选。上传一个标志。
  6. 从 Docker 粘贴值
    • Docker ACS URL -> 单点登录 URL
    • Docker 实体 ID -> 受众 URI (SP 实体 ID)
  7. 配置以下设置
    • 名称 ID 格式:EmailAddress
    • 应用程序用户名:Email
    • 更新应用程序于:创建并更新
  8. 可选。添加 SAML 属性。请参阅SSO 属性
  9. 选择“**下一步**”。
  10. 选中这是我们创建的内部应用复选框。
  11. 选择完成
  1. 登录 Microsoft Entra(以前称为 Azure AD)。
  2. 选择默认目录 > 添加 > 企业应用程序
  3. 选择创建自己的应用程序,将其命名为“Docker”,并选择非库应用程序
  4. 创建应用后,转到单点登录并选择SAML
  5. 基本 SAML 配置部分选择编辑
  6. 编辑基本 SAML 配置并从 Docker 粘贴值
    • Docker 实体 ID -> 标识符
    • Docker ACS URL -> 回复 URL
  7. 可选。添加 SAML 属性。请参阅SSO 属性
  8. 保存配置。
  9. SAML 签名证书部分,下载您的证书 (Base64)

注册应用

  1. 登录 Microsoft Entra(以前称为 Azure AD)。
  2. 选择应用注册 > 新注册
  3. 将应用程序命名为“Docker”。
  4. 设置帐户类型并从 Docker 粘贴重定向 URI
  5. 选择注册
  6. 复制客户端 ID

创建客户端密钥

  1. 在您的应用中,转到证书和密钥
  2. 选择新建客户端密钥,描述并配置持续时间,然后添加
  3. 复制新密钥的

设置 API 权限

  1. 在您的应用中,转到API 权限
  2. 选择授予管理员同意并确认。
  3. 选择添加权限 > 委托权限
  4. 搜索并选择User.Read
  5. 确认已授予管理员同意。

第三步:将 Docker 连接到您的 IdP

通过将您的 IdP 值粘贴到 Docker 中来完成集成。

  1. 在 Okta 中,选择您的应用并转到查看 SAML 设置说明

  2. 复制SAML 登录 URLx509 证书

    重要

    复制整个证书,包括----BEGIN CERTIFICATE--------END CERTIFICATE----行。

  3. 返回 Docker 管理控制台。

  4. 粘贴SAML 登录 URLx509 证书值。

  5. 可选。选择一个默认团队。

  6. 查看并选择创建连接

  1. 在文本编辑器中打开您下载的证书 (Base64)

  2. 复制以下值

    • 来自 Azure AD:登录 URL
    • 证书 (Base64)内容
    重要

    复制整个证书,包括----BEGIN CERTIFICATE--------END CERTIFICATE----行。

  3. 返回 Docker 管理控制台。

  4. 粘贴登录 URL证书 (Base64)值。

  5. 可选。选择一个默认团队。

  6. 查看并选择创建连接

  1. 返回 Docker 管理控制台。
  2. 粘贴以下值
    • 客户端 ID
    • 客户端密钥
    • Azure AD 域
  3. 可选。选择一个默认团队。
  4. 查看并选择创建连接

第四步:测试连接

  1. 打开一个隐身浏览器窗口。
  2. 使用您的域电子邮件地址登录管理控制台。
  3. 浏览器将重定向到您的身份提供商的登录页面进行身份验证。如果您有多个 IdP,请选择登录选项继续使用 SSO
  4. 通过您的域电子邮件进行身份验证,而不是使用您的 Docker ID。

如果您使用的是 CLI,则必须使用个人访问令牌进行身份验证。

可选:配置多个 IdP

Docker 支持多个 IdP 配置。要将多个 IdP 与一个域一起使用

  • 对每个 IdP 重复本页面上的步骤 1-4。
  • 每个连接必须使用相同的域。
  • 用户将选择继续使用 SSO在登录时选择他们的 IdP。

可选:强制执行 SSO

重要

如果未强制执行 SSO,用户仍然可以使用 Docker 用户名和密码登录。

强制执行 SSO 要求用户在登录 Docker 时使用 SSO。这可以集中身份验证并强制执行 IdP 设置的策略。

  1. 登录 Docker Home 并选择您的组织或公司。
  2. 选择管理控制台,然后选择SSO 和 SCIM
  3. 在 SSO 连接表中,选择操作菜单,然后选择启用强制执行
  4. 按照屏幕上的说明操作。
  5. 选择开启强制执行

当强制执行 SSO 时,您的用户将无法修改其电子邮件地址和密码、将用户帐户转换为组织,或通过 Docker Hub 设置 2FA。如果您想使用 2FA,则必须通过您的 IdP 启用 2FA。

后续步骤

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