组织 SSO 认证
单点登录(SSO)是一种认证方案,使你 TiDB Cloud 组织中的成员能够使用身份提供商(IdP)中的身份登录 TiDB Cloud,而无需使用邮箱地址和密码。
TiDB Cloud 支持以下两种 SSO 认证类型:
标准 SSO:成员可以使用 GitHub、Google 或 Microsoft 的认证方式登录 TiDB Cloud 控制台。标准 SSO 默认对 TiDB Cloud 中的所有组织启用。
云组织 SSO:成员可以使用你组织指定的认证方式,通过 TiDB Cloud 的自定义登录页面登录。云组织 SSO 默认处于禁用状态。
与标准 SSO 相比,云组织 SSO 提供了更高的灵活性和自定义能力,可以更好地满足你组织的安全和合规要求。例如,你可以指定登录页面上显示哪些认证方式,限制允许登录的邮箱地址域名,并允许你的成员通过使用 OpenID Connect (OIDC) 或 Security Assertion Markup Language (SAML) 身份协议的身份提供商(IdP)登录 TiDB Cloud。
本文档将指导你如何将组织的认证方案从标准 SSO 迁移到云组织 SSO。
开始前的准备
在迁移到云组织 SSO 之前,请为你的组织检查并确认本节中的各项内容。
确定组织 TiDB Cloud 登录页面的自定义 URL
启用云组织 SSO 后,你的成员必须使用自定义 URL 登录 TiDB Cloud,而不能再使用公共登录 URL(https://tidbcloud.com)。
自定义 URL 启用后无法更改,因此你需要提前确定要使用的 URL。
自定义 URL 的格式为 https://tidbcloud.com/enterprise/signin/your-company-name,其中 your-company-name 可自定义为你的公司名称。
确定组织成员的认证方式
TiDB Cloud 为组织 SSO 提供以下认证方式:
- 用户名和密码
- GitHub
- Microsoft
- OIDC
- SAML
启用云组织 SSO 时,前四种方式默认启用。如果你希望强制组织成员使用 SSO,可以禁用用户名和密码认证方式。
所有已启用的认证方式都会显示在你的自定义 TiDB Cloud 登录页面上,因此你需要提前决定哪些认证方式需要启用或禁用。
决定是否启用自动加入(Auto-provision)
自动加入是一项允许成员无需 Organization Owner 或 Project Owner 邀请即可自动加入组织的功能。在 TiDB Cloud 中,所有支持的认证方式默认禁用自动加入。
- 当某认证方式未启用自动加入时,只有被
Organization Owner或Project Owner邀请的用户才能通过自定义 URL 登录。 - 当某认证方式启用自动加入时,任何使用该认证方式的用户都可以通过自定义 URL 登录。登录后,他们会被自动分配为组织内的默认
Organization Viewer角色。
对于 OIDC 和 SAML 认证方式,如果你启用 Auto-provision Accounts,则必须在配置认证方式详情时配置 Allowed Email Domains。对于 SAML,如果你启用 SCIM Provisioning Accounts,也同样需要这样做。在你可以在 Allowed Email Domains 中使用某个域名之前,需要先在 Domains 区域中添加并验证该域名。
对于其他认证方式,如果你选择启用自动加入,建议限制允许认证的邮箱域名。
通知成员关于云组织 SSO 迁移计划
在启用云组织 SSO 之前,请确保告知你的成员以下内容:
- TiDB Cloud 的自定义登录 URL
- 何时开始使用自定义登录 URL 替代
https://tidbcloud.com进行登录 - 可用的认证方式
- 成员登录自定义 URL 是否需要邀请
Step 1. 启用云组织 SSO
要启用云组织 SSO,请按照以下步骤操作:
以拥有
Organization Owner角色的用户身份登录 TiDB Cloud 控制台,然后通过左上角的下拉框切换到目标组织。在左侧导航栏,点击 Organization Settings > Authentication。
在 Authentication 页面,点击 Enable。
在弹窗中输入你组织的自定义 URL,该 URL 在 TiDB Cloud 中必须唯一。
勾选 I understand and confirm 复选框,然后点击 Enable。
Step 2. 配置认证方式
在 TiDB Cloud 中启用某认证方式后,使用该方式的成员可以通过你的自定义 URL 登录 TiDB Cloud。
配置用户名和密码、Google、GitHub 或 Microsoft 认证方式
启用云组织 SSO 后,你可以按如下方式配置用户名和密码、Google、GitHub 或 Microsoft 认证方式:
在 Organization Settings 页面,根据需要启用或禁用 Google、GitHub 或 Microsoft 认证方式。
对于已启用的认证方式,你可以点击 配置该方式的详细信息。
在认证方式详情中,你可以配置以下内容:
默认禁用。你可以根据需要启用。出于安全考虑,如果你选择启用自动加入,建议限制允许认证的邮箱域名。
Allowed Email Domains
配置该字段后,只有指定邮箱域名的用户才能通过自定义 URL 使用该认证方式登录 TiDB Cloud。填写域名时需去除
@符号,并用英文逗号分隔。例如:company1.com,company2.com。
点击 Save。
为 OIDC 和 SAML 添加并验证域名
如果你想为 OIDC 或 SAML 启用 Auto-provision Accounts,或者为 SAML 启用 SCIM Provisioning Accounts,请添加并验证你的组织成员用于登录的邮箱域名。在这些情况下,Allowed Email Domains 为必填项,并且只能使用状态为 Verified 的域名。
如果 Auto-provision Accounts 和 SCIM Provisioning Accounts 均被禁用,则 Allowed Email Domains 为可选项。如果你在该字段中输入了任何域名,这些域名仍然必须先在 Domains 区域中完成验证。
要添加并验证域名,请执行以下步骤:
在左侧导航栏中,点击 Organization Settings > Authentication。
在 Authentication 页面中,点击 Domains 区域中的 Add Domain。
输入你想要允许的域名,例如
example.com,然后点击 Add domain and next。在验证对话框中,复制 TXT 记录的 Host 和 Value。
在你的 DNS 提供商中,使用复制的 Host 和 Value 添加一条 TXT 记录。
等待 DNS 传播,返回 TiDB Cloud,然后点击 Verify。
DNS 更改可能需要几分钟才能生效。如果验证失败,请等待几分钟后重试。
确认域名状态变为 Verified。
配置 OIDC 认证方式
如果你有使用 OIDC 身份协议的身份提供商,可以为 TiDB Cloud 登录启用 OIDC 认证方式。
在 TiDB Cloud 中,OIDC 认证方式默认禁用。启用云组织 SSO 后,你可以按如下方式启用并配置 OIDC 认证方式:
从你的身份提供商获取 TiDB Cloud 组织 SSO 所需的以下信息:
- Issuer URL
- Client ID
- Client secret
在 TiDB Cloud 控制台的 Authentication 页面,在 Authentication Methods 区域找到 OIDC 行,然后点击 展开 OIDC 方式详情。
在认证方式详情中,你可以配置以下内容:
Name
指定 OIDC 认证方式在自定义登录页面上显示的名称。
Issuer URL、Client ID 和 Client Secret
粘贴你从 IdP 获取的对应值。
默认禁用。你可以根据需要启用。
Allowed Email Domains
如果你为 OIDC 启用了 Auto-provision Accounts,则该字段为必填项。仅输入你已在 Domains 区域中验证过的域名。只有使用这些邮箱域名的用户才能通过自定义 URL 登录 TiDB Cloud,并被自动加入到你的组织中。填写时需去除
@符号,并用英文逗号分隔多个域名。例如:company1.com,company2.com。如果 Auto-provision Accounts 被禁用,则该字段为可选项。如果你输入了任何域名,这些域名仍然必须先在 Domains 区域中完成验证。
点击 Save。
配置 SAML 认证方式
如果你有使用 SAML 身份协议的身份提供商,可以为 TiDB Cloud 登录启用 SAML 认证方式。
在 TiDB Cloud 中,SAML 认证方式默认禁用。启用云组织 SSO 后,你可以按如下方式启用并配置 SAML 认证方式:
从你的身份提供商获取 TiDB Cloud 组织 SSO 所需的以下信息:
- Sign on URL
- Signing Certificate
在 TiDB Cloud 控制台的 Authentication 页面,在 Authentication Methods 区域找到 SAML 行,然后点击 展开 SAML 方式详情。
在认证方式详情中,你可以配置以下内容:
Name
指定 SAML 认证方式在自定义登录页面上显示的名称。
Sign on URL
粘贴你从 IdP 获取的 URL。
Signing Certificate
粘贴你从 IdP 获取的完整签名证书,包括起始行
---begin certificate---和结束行---end certificate---。默认禁用。你可以根据需要启用。
Allowed Email Domains
如果你为 SAML 启用了 Auto-provision Accounts 或 SCIM Provisioning Accounts,则该字段为必填项。仅输入你已在 Domains 区域中验证过的域名。只有使用这些邮箱域名的用户才能通过自定义 URL 登录 TiDB Cloud,并被加入到你的组织中。填写时需去除
@符号,并用英文逗号分隔多个域名。例如:company1.com,company2.com。如果 Auto-provision Accounts 和 SCIM Provisioning Accounts 均被禁用,则该字段为可选项。如果你输入了任何域名,这些域名仍然必须先在 Domains 区域中完成验证。
SCIM Provisioning Accounts
默认禁用。如果你希望通过身份提供商集中自动化管理 TiDB Cloud 组织用户和用户组的创建、删除和身份管理,可以启用该选项。详细配置步骤见 配置 SCIM 自动化管理。
在启用 SCIM Provisioning Accounts 之前,请先为要加入的用户添加并验证邮箱域名,并在 Allowed Email Domains 字段中进行配置。
点击 Save。
配置 SCIM 自动化管理
跨域身份管理系统(SCIM) 是一种开放标准,用于自动化在身份域和 IT 系统之间交换用户身份信息。通过配置 SCIM 自动化管理,你可以将身份提供商中的用户组自动同步到 TiDB Cloud,并在 TiDB Cloud 中集中管理这些组的角色。
在 TiDB Cloud 中,启用 SAML 认证方式 的 SCIM Provisioning Accounts 选项,并记录以下信息以备后续使用。
- SCIM connector base URL
- 用户唯一标识字段
- 认证模式
在你的身份提供商中,为 TiDB Cloud 配置 SCIM 自动化管理。
在身份提供商中,为你的 TiDB Cloud 组织的 SAML 应用集成添加 SCIM 自动化管理。
例如,如果你的身份提供商是 Okta,参见 为应用集成添加 SCIM 自动化管理。
在身份提供商中,将 SAML 应用集成分配给所需的用户组,使组内成员可以访问和使用该应用集成。
例如,如果你的身份提供商是 Okta,参见 将应用集成分配给用户组。
将身份提供商中的用户组推送到 TiDB Cloud。
例如,如果你的身份提供商是 Okta,参见 管理用户组推送。
在 TiDB Cloud 中查看从身份提供商推送的用户组。
- 在 TiDB Cloud 控制台 中,通过左上角下拉框切换到目标组织。
- 在左侧导航栏,点击 Organization Settings > Authentication。
- 点击 Groups 标签页。你可以看到从身份提供商同步过来的用户组。
- 如需查看某个组内的用户,点击 View。
在 TiDB Cloud 中为从身份提供商推送的用户组分配角色。
如果你在身份提供商中更改了推送组的成员,这些更改会动态同步到 TiDB Cloud 中对应的用户组。
- 如果在身份提供商中为组新增成员,这些成员会获得对应组的角色。
- 如果在身份提供商中移除组成员,这些成员也会从 TiDB Cloud 中对应的用户组移除。