SAML 单点登录
Redis Cloud 支持使用 SAML(安全断言标记语言)的 IdP 发起和 SP 发起的单点登录 (SSO)。您可以使用任何身份提供商与 Redis Cloud 集成,只要它支持 SAML 协议即可,或者您可以参考一些特定提供商的集成指南。
Redis Cloud 支持使用SAML(安全断言标记语言)的IdP 发起的单 点登录(SSO)。
您无法使用SCIM(跨域身份管理系统)来配置 Redis Cloud 用户。但是,Redis Cloud 支持即时 (JIT) 用户配置,这意味着 Redis Cloud 会在新用户首次使用 SAML SSO 登录时自动创建用户帐户。
SAML SSO 概述
启用 SAML SSO 后,身份提供者 (IdP)管理员将处理 SAML 用户管理,而不是 Redis Cloud 帐户所有者。
只要支持 SAML 协议,您就可以使用任何身份提供商与 Redis Cloud 集成。您还可以参考以下几个流行身份提供商的集成指南:
- Auth0 SAML 集成
- AWS IAM 身份中心 SAML 集成
- Azure Active Directory SAML 集成
- Google Workspace 集成
- Okta SAML 集成(通用)
- Okta SAML 集成(Org2Org)
- PingIdentity SAML 集成
为 Redis Cloud 帐户激活 SAML SSO 后,该帐户的所有现有本地用户(设置 SAML SSO 的用户除外)都将转换为 SAML 用户,并且需要使用 SAML SSO 才能登录。在他们可以登录 Redis Cloud 之前,身份提供商管理员需要在 IdP 端设置这些用户并配置属性redisAccountMapping以将它们映射到适当的 Redis Cloud 帐户和角色。
IdP 发起的 SSO
使用 IdP 发起的单点登录,您可以在登录身份提供商 (IdP)后选择 Redis Cloud 应用程序。这会将您重定向到Redis Cloud 控制台并登录到您的 SAML 用户帐户。
SP 发起的 SSO
您还可以从Redis Cloud 控制台发起单点登录。此过程称为服务提供商 (SP)发起的单点登录。
-
从 Redis Cloud 控制台的登录屏幕中,选择SSO。
-
输入与您的 SAML 用户帐户关联的电子邮件地址。
-
选择登录按钮。
-
如果您已与身份提供商建立了活动的 SSO 会话,这将使您登录到 SAML 用户帐户。
-
否则,SSO 流程会将您重定向到身份提供商的登录屏幕。输入您的 IdP 用户凭据以登录。这会将您重定向回 Redis Cloud 控制台并自动登录到您的 SAML 用户帐户。
-
多重身份验证
帐户所有者仍为本地用户,应设置多重身份验证 (MFA)以帮助保护其帐户。激活 SAML 后,帐户所有者可以设置启用了 MFA 的其他本地旁路用户。
如果启用了 MFA 强制执行,请注意 Redis Cloud 不会对 SAML 用户强制执行 MFA,因为身份提供者会处理 MFA 管理和强制执行。
设置 SAML SSO
要为 Redis Cloud 帐户设置 SAML 单点登录:
-
设置 SAML 应用程序以将 Redis Cloud 与您的身份提供商集成。
-
下载服务提供商元数据并将其上传到您的身份提供商。
在 Redis Cloud 中验证域所有权
在 Redis Cloud 中设置 SAML SSO 之前,您必须验证您拥有与 SAML 设置关联的域。
-
使用与您通过身份提供商设置的 SAML 用户关联的电子邮件地址登录Redis Cloud 。
-
从Redis Cloud 控制台菜单中选择访问管理。
-
选择单点登录。
-
选择设置 SAML SSO按钮:
-
从Redis Cloud 控制台的SAML屏幕,您必须验证您拥有与 SAML 配置关联的域。选择“添加域”以打开“管理域绑定”面板。
-
选择“复制”以复制提供的 TXT DNS 记录。对于要与 SAML 设置关联的每个域,将复制的 TXT 记录添加到其 DNS 记录中。
-
选择添加域来添加域。
-
-
保存域名后,其状态为Pending。选择Verify进行验证。
我们将检查域名的 DNS 记录中是否存在提供的 TXT 记录。如果 TXT 记录不存在或我们无法解析您的域名,我们将无法验证该域名,并且该域名的用户将无法使用 SAML SSO 登录。
如果我们找到 TXT 记录,域名的状态将变为已验证。
您可以选择添加域来添加另一个域。
-
选择“关闭”以关闭域绑定面板。
验证至少一个域后,您可以选择管理域以再次打开管理域绑定面板并添加或验证更多域。
设置 SAML 应用
设置 SAML 应用程序以将 Redis Cloud 与您的身份提供商集成:
-
登录到您的身份提供商的管理控制台。
-
为服务提供商 Redis Cloud 创建或添加 SAML 集成应用程序。
-
设置您的 SAML 服务提供商应用,以便 SAML 断言包含以下属性:
属性名称
(区分大小写)描述 名 用户的名字 姓 用户的姓氏 电子邮件 用户的电子邮件地址(用作 Redis Cloud 控制台中的用户名) redisAccountMapping 小写角色名称(所有者、成员、经理、billing_admin 或查看者)和帐户设置中找到的用户 Redis 云帐号的键值对 对于
redisAccountMapping,您可以使用以下选项之一将同一个用户添加到多个启用 SAML 的帐户:-
包含以逗号分隔的帐户/角色对列表的单个字符串
<saml2:Attribute Name="redisAccountMapping" NameFormat="urn:oasis:names:tc:SAML:2.0:attrname-format:unspecified"> <saml2:AttributeValue xsi:type="xs:string" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> 12345=owner,54321=manager </saml2:AttributeValue> </saml2:Attribute> -
多个字符串,每个字符串代表一个帐户/角色对
<saml2:Attribute Name="redisAccountMapping" NameFormat="urn:oasis:names:tc:SAML:2.0:attrname-format:unspecified"> <saml2:AttributeValue xsi:type="xs:string" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> 12345=owner </saml2:AttributeValue> <saml2:AttributeValue xsi:type="xs:string" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> 54321=manager </saml2:AttributeValue> </saml2:Attribute>
笔记:要确认身份提供者的 SAML 断言包含所需的属性,您可以使用 SAML-tracer Web 开发人员工具来检查它们。 -
-
设置您的身份提供商所需的任何其他配置,以确保您可以
redisAccountMapping为 SAML 用户配置属性。如果您的身份提供者允许您使用工作流或组规则配置自定义属性,则您可以设置自动化来
redisAccountMapping自动配置字段,而不是手动配置。
在 Redis Cloud 中配置 SAML
设置 SAML 集成应用程序并在身份提供商中创建 SAML 用户后,您需要配置 Redis Cloud 帐户以设置 SAML SSO。
-
使用与您通过身份提供商设置的 SAML 用户关联的电子邮件地址登录Redis Cloud 。
-
从Redis Cloud 控制台菜单中选择访问管理。
-
选择单点登录。
-
如果还没有,请验证至少一个域。
-
配置身份提供者元数据设置。
为此,您需要从身份提供商处获取以下元数据值:
环境 描述 发行者(IdP 实体 ID) 身份提供者的唯一实体 ID IdP 服务器 URL 身份提供商的 SAML SSO HTTPS URL 单点注销 URL 用于退出身份提供商和连接的应用程序的 URL(可选) 断言签名证书 用于验证来自身份提供商的 SAML 断言的公共 SHA-256 证书 要查找这些元数据值,请参阅身份提供商的文档。
-
选择启用。
-
在SAML 激活对话框中,选择“继续”。
下载服务提供商元数据
接下来,您需要下载 Redis Cloud 的服务提供商元数据,并使用它来完成为您的身份提供商配置 SAML 集成应用程序:
-
选择“下载”按钮以XML 格式下载服务提供商元数据。
-
登录到您的身份提供商的管理控制台。
-
使用下载的 XML 配置 Redis 云服务提供商应用程序。
-
一些身份提供商允许您直接上传 XML 文件。
-
其他人则要求您使用特定的元数据字段手动配置服务提供商应用程序,例如:
XML 属性 价值 描述 EntityDescriptor 的实体 ID https:// auth.redis.com /saml2/服务提供商 /<ID>标识 Redis Cloud 服务提供商的唯一 URL AssertionConsumerService 的位置 https:// auth.redis.com /sso/saml2/<ID>身份提供商发送 SAML 断言以对用户进行身份验证的服务提供商端点 -
要与某些身份提供商一起使用IdP 发起的 SSO,您还需要将 RelayState 参数设置为以下 URL:
https://cloud.redis.io/#/login/?idpId=<ID>替换
<ID>以使其与AssertionConsumerService LocationURL 的 ID 匹配。
要了解有关如何配置服务提供商应用程序的更多信息,请参阅身份提供商的文档。
-
激活 SAML SSO
完成身份提供商和 Redis Cloud 帐户之间所需的 SAML SSO 配置后,您可以测试并激活 SAML SSO。
成功激活后,与该帐户关联的所有用户(您用于设置 SAML SSO 的本地用户除外)都将转换为 SAML 用户。他们无法再使用之前的登录方式登录,而必须改用 SAML SSO。但是,您可以在激活 SAML SSO 后添加本地旁路用户,以便在身份提供商停机或 SAML SSO 出现其他问题时允许访问帐户。
要激活 SAML SSO:
-
退出与身份提供商的所有活动 SSO 会话。
-
要激活 SAML 集成,请选择激活按钮。
-
在“注销通知”对话框中,选择“继续”。这会将您重定向到您配置的身份提供商的登录屏幕。
-
使用您的身份提供商登录。
-
重定向到 Redis Cloud 登录屏幕后,您可以执行以下任一操作:
-
像往常一样使用您的本地凭证登录。
-
选择SSO并输入与身份提供商中配置的 SAML 用户关联的电子邮件地址。您的用户将转换为 Redis Cloud 中的 SAML 用户。如果您希望您的用户帐户仍为本地旁路用户,请不要使用此方法。
笔记:如果在重定向到 Redis Cloud 登录屏幕时 看到SAML 激活失败通知,请使用本地用户凭据登录并检查 SAML 配置是否存在问题。 -
激活 SAML SSO 后,从“团队”选项卡中添加一些本地旁路用户。本地旁路用户应设置 MFA以获得额外的安全性。
更新配置
如果在设置 SAML SSO 后更改某些元数据或配置设置(例如断言签名证书),请记住执行以下操作:
-
使用新值更新 SAML SSO 配置。
-
下载更新的服务提供商元数据并使用它来更新 Redis 云服务提供商应用程序。
关联其他账户
为一个帐号设置 SAML SSO 后,您可以将您拥有的其他帐号链接到现有的 SAML 配置。这样,您就可以在多个帐号中使用相同的 SAML 配置进行 SSO。
要将其他账户链接到现有的 SAML SSO 配置:
-
使用具有现有 SAML 配置的账户登录Redis Cloud 控制台。
-
转到访问管理 > 单点登录。
-
选择获取令牌。
选择复制以复制链接令牌。
-
登录要链接到 SAML 配置的帐户。转到访问管理 > 单点登录,然后将复制的令牌输入加入现有 SAML 配置文本框。选择箭头进行确认。
完成此操作后,原始帐户的所有者将收到将新帐户链接到 SAML 配置的请求。
-
使用原始帐户登录并选择“访问管理”>“单点登录” 。您应该在“未链接的帐户”列表中看到新帐户。
笔记:要查看未关联账户列表 中的 Redis Cloud 账户并与之交互,您必须是该账户的所有者。如果您不是所有者,则该账户不会显示在此部分中。 -
选择关联账户。
-
在转换现有用户对话框中,选择确认转换以完成帐户链接。
停用 SAML SSO
在停用账户的 SAML SSO 之前,您必须以分配有所有者角色的本地(非 SAML)用户身份登录该账户。
停用帐户的 SAML SSO 还会删除与该帐户关联的任何现有 SAML 类型用户。
要为特定账户停用 SAML SSO,请执行以下操作:
-
在Redis Cloud 控制台中,选择您的姓名以显示您的可用账户。
-
如果尚未选择相关帐户,请从切换帐户列表中选择它。
-
转到访问管理 > 单点登录。
-
选择停用 SAML。这只会停用当前帐户的 SAML SSO。其他链接帐户将继续使用此 SAML SSO 配置。
-
选择“停用”以确认停用。
取消配置 SAML 用户
当用户从您的身份提供者中删除时,他们对 Redis Cloud 的访问权限也应被删除。
当您撤销用户对 Redis Cloud 的访问权限后,他们将无法访问 Redis Cloud 控制台,但他们的 API 密钥仍然有效。您可以删除 API 密钥以删除访问权限。
要在删除时取消配置 SAML 用户,身份提供商管理员可以设置一个 webhook 以自动发出适当的 Cloud API 请求。有关使用 API 请求管理用户的更多信息,请参阅Redis Cloud API 文档中的用户。