# Typesense Cloud 中的单点登录 (SSO)
在 Typesense Cloud 中,您可以集成任何基于 SAML 的单点登录平台,让组织内的指定用户使用他们现有的 SSO 凭证访问您的团队账户。
我们的 SAML 集成与平台无关
我们已经测试了与主流 SSO 供应商的 SAML 集成,包括 Okta、Azure Active Directory、Microsoft Entra ID、JumpCloud、Google SSO 和 Rippling SSO, 但您可以将任何提供基于 SAML 的 SSO 的供应商与 Typesense Cloud 集成。
# SSO 的费用是多少?
我们认为良好的安全性不是可选功能,因此我们向所有团队免费提供 SSO 功能,不收取额外费用。
# 如何配置 SSO
以下是为 Typesense Cloud 中的团队设置 SSO 的步骤:
# 第一步:创建团队
- 使用常规的邮箱/密码认证方式在 Typesense Cloud (opens new window) 上注册账号。
- 点击页面右上角的邮箱地址(会打开账户切换器),然后点击"新建团队"。
- 为团队命名,填写联系邮箱,点击"创建团队"。
- 出于安全和验证目的,在团队账户配置SSO之前,我们需要记录有效的支付方式(即使SSO功能不会额外收费)。 因此创建团队后,请点击顶部导航栏的"account",滚动到"Billing"部分,为团队账户添加支付方式。
现在我们需要配置您的SSO平台以继续设置。
基于GitHub的认证
如果您已使用GitHub认证,并通过GitHub组织创建了Typesense Cloud团队,将无法在该团队上配置SSO。
您需要使用邮箱/密码认证方式注册新账号,然后在该登录下创建新团队并为该团队配置SSO。 如果您联系客服支持,在为新账户添加支付方式后,我们可以将现有团队账户中的集群迁移至您的新团队账户。
# 第二步:配置您的 SSO 平台
根据 SSO 平台的文档创建一个新"应用",并将应用命名为"Typesense Cloud - <您的团队名称>"。如果您只有一个团队,也可以直接命名为"Typesense Cloud"。
注意:您在 SSO 平台中授予此应用访问权限的任何用户,都将能够登录 Typesense Cloud 并自动访问您上面创建的团队。
在 SSO 平台中为以下值使用任意占位符(我们稍后会回来填写这些内容):
- SP 单点登录 URL(在某些 SSO 平台中也称为回复 URL 或断言消费者服务 URL)
- SP 实体 ID(在某些 SSO 平台中也称为受众 URI)
使用此图片作为 SSO 应用的徽标,以便您的用户可以在 SSO 门户中轻松识别该应用。
在您的 SSO 应用中启用响应断言签名。该选项通常位于"高级"设置下,且通常默认已启用。
创建应用后,您的 SSO 平台应提供以下信息:
- IdP 单点登录 URL(在某些 SSO 平台中也称为身份提供商单点登录 URL 或登录 URL)
- IdP 实体 ID(在某些 SSO 平台中也称为身份提供商颁发者或 AD 标识符)
- IdP 证书(在某些 SSO 平台中也称为身份提供商 X.509 证书或令牌签名证书)- 采用 base64 格式(应以
-----BEGIN CERTIFICATE-----开头并以-----END CERTIFICATE-----结尾)
我们现在将继续在 Typesense Cloud 中进行设置。
# 步骤3:配置Typesense Cloud使用您的SSO平台
- 在步骤1中为团队账户添加付款方式后,再次点击顶部导航栏的"account"页面,滚动至"Team Management"部分,点击"Configure SSO"。
- 点击"Setup New Identity Provider"。
- 将您在步骤2中从SSO平台获得的值,填入Typesense Cloud对应的字段中。
- 点击"Create"
- Typesense Cloud现在会提供实际值,用于替换您在步骤2中使用的占位值。这些值需要在您的SSO平台中使用。
现在我们将完成SSO平台的最终配置。
# 步骤4:将SSO平台与Typesense Cloud关联
- 将Typesense Cloud中显示的"Service Provider Entity ID"复制粘贴到SSO平台的SP Entity ID字段(在某些SSO平台中也称为Audience URI)。
- 将Typesense Cloud中显示的"Assertion Consumer Service URL"复制粘贴到SP Single Sign-On URL字段(在某些SSO平台中也称为Reply URL)。
- 根据SSO平台的文档,配置您的SSO应用发送以下属性及其对应的数据类型:
email(格式:未指定,命名空间:空)first_name(格式:未指定,命名空间:空)last_name(格式:未指定,命名空间:空)
针对Rippling SSO
请设置:
- "Disable automatic standardization of attributes"为"Yes"。
- "Use SAML standard namespaces for xml metadata/attributes"为"Yes"。
一次性配置至此完成。
# 如何通过SSO登录
配置SSO后,有两种方式可以登录Typesense Cloud。
# 选项1:Typesense Cloud 发起的登录
这通常也被称为服务提供商(SP)发起的SSO。
你可以在Typesense Cloud中找到一个唯一的SSO登录链接,可以将该链接分享给你的团队(或在SSO平台中设置为书签),以便团队成员登录并访问你们的Typesense Cloud团队:
- 作为管理员,使用右上角的账户切换器切换到你的团队账户
- 滚动到"团队管理"部分,点击"配置SSO"
- 点击你之前配置的SSO平台
- 滚动到"面向用户的信息"部分,你会找到"单点登录URL",你的用户可以使用该URL登录
访问此链接会将用户重定向到你配置的SSO平台,如果SSO平台允许,则会自动登录用户。
# 选项2:SSO平台发起的登录
这通常也被称为身份提供商(IdP)发起的SSO。
你的用户可以直接访问组织的SSO门户,然后点击Typesense Cloud应用进行登录。
# 访问控制
# 如何授予用户访问权限
在 Typesense Cloud 中为团队配置 SSO 后,要添加新用户,您只需在您的 SSO 平台中授予他们对 SSO 应用的访问权限。
当您在 SSO 平台授权访问 Typesense Cloud 的用户首次登录 Typesense Cloud 时,我们将自动为他们创建新用户账户,并将其账户添加到您的 Typesense Cloud 团队中。 因此您无需每次都显式地在 Typesense Cloud 中配置用户。
TIP
通过 SSO 创建的账户与使用邮箱/密码登录的账户相互独立,即使它们使用相同的邮箱地址。
因此当用户通过 SSO 登录时,他们之前基于邮箱/密码的账户(如果创建过)仍将保持活跃。 但您可以从团队的账户页面移除这些账户对团队账户的访问权限。 您会看到他们的 SAML 账户和基于邮箱/密码的账户,需要移除的是后者。
完成此操作后,用户将只能通过 SSO 访问您的团队账户。
# 如何移除用户
从您的 SSO 平台移除用户的访问权限将在_下次会话_时移除他们对 Typesense Cloud 的访问权限。 如果您需要立即撤销访问权限,您还需要前往 Typesense Cloud 的团队账户页面,在"团队管理"部分移除该用户。
# 基于角色的访问控制
您可以为团队中的每个用户分配具有不同权限的角色,但这需要在 Typesense Cloud 内部完成。
阅读这篇关于基于角色的访问控制的专门指南文章获取更多信息。
# 有问题?
如有任何疑问或遇到问题,请发送邮件至 support@typesense.org 联系我们。