Auth0 SAML 实施
对应的官方文档地址
本文是专门针对 Auth0 用于配置 SAML 2.0 方式的 SSO 登录的帮助。有关其他 IdP 方式配置 SSO 登录的帮助,请参阅 SAML 2.0 配置。
配置需要在 Bitwarden 网页密码库和 Auth0 门户网站中同时进行。在您继续进行操作时,我们建议您随时准备好并按照记录的顺序完成步骤。
已经是 SSO 专家?跳过本文中的说明,然后下载示例配置,将里面的屏幕截图与您自己的配置进行比较。
⬇️下载示例
在网页密码库中打开 SSO
如果你是直接从 SAML 2.0 配置过来的,你应该已经创建了一个组织 ID 并打开了 SSO 配置界面。如果你没有,请参考那篇文章,为 SSO 创建一个组织 ID。
导航到您组织的管理 → 单点登录界面:
你不需要编辑此界面上的任何内容,但要保持打开以方便引用。
如果您是自托管 Bitwarden,您可以选择性使用成员解密选项。此功能默认情况下被禁用,因此现在继续使用主密码解密,并了解如何在配置完成并成功运行后开始使用 Key Connector。
创建 Auth0 应用程序
在 Auth0 门户中,使用应用程序菜单来创建一个 Regular Web Application(常规的 Web 应用程序):
点击 Setting 标签并配置以下信息,其中一些信息您需要从 Bitwarden 业务门户中获取:
Auth0 设置 | 描述 |
---|---|
Name | 给此应用程序取一个专用于 Bitwarden 的名称。 |
Domain | 请注意此值。在后面的步骤中您将需要它。 |
Application Type | 选择 Regular Web Application。 |
Token Endpoint Authentication Method | 选择 Post (HTTP Post),它将映射到稍后配置的 Binding Type 属性。 |
Application Login URI | 将此字段设置为从 Bitwarden SSO 配置界面中预先生成的 SP Entity ID。
对于云托管客户,其始终为 |
Allowed Callback URLS | 将此字段设置为从 Bitwarden SSO 配置界面中预先生成的 Assertion Consumer Service (ACS) URL。
对于云托管客户,其始终为 |
Grant Types
在 Advanced Settings → Grant Types 部分,确保选择了以下授权类型(可以预先选择):
Certificates
在 Advanced Settings → Certificates 部分,复制或下载您的签名证书。你现在还不需要用它做任何事情,但需要稍后引用它。
Endpoints
不需要在 Advanced Settings → Endpoints 部分编辑任何东西,但你需要这个 SAML 端点,以便稍后引用它。
在较小的窗口中,Endpoints 选项卡可能会消失在浏览器的边缘。如果您找不到它,请单击 Certificates 选项卡,然后按右方向键键(→)。
配置 Auth0 规则
创建规则来定制你的应用程序的 SAML 响应行为。虽然 Auth0 提供了多个选项,但这里将只关注那些专门映射到 Bitwarden 的选项。要创建一个自定义 SAML 配置规则集,请使用 Auth Pipeline → Rules 菜单来 Create(创建)规则:
以下任何项目均可配置:
Key | 描述 |
---|---|
| Auth0 使用此算法对 SAML 声明或响应进行签名。默认为 |
| 此算法用于计算 SAML 声明或响应的摘要。默认为 |
| 默认,Auth0 将仅对 SAML 声明进行签名。将此属性设置为 |
| 默认为 |
使用像下面这样的 Script(脚本)来实现这些规则。如需帮助,请参阅 Auth0 文档。
回到网页密码库
至此,你已经在 Auth0 门户网站配置好了你所需要的一切。回到 Bitwarden 网页密码库来完成配置。
单点登录界面将配置分为两个部分:
SAML 服务提供程序配置将决定 SAML 请求的格式。
SAML 身份提供程序配置将决定用于 SAML 响应的预期格式。
服务提供程序配置
除非您已配置了自定义规则,否则您的服务提供重新配置就已经完成了。如果您配置了自定义规则或要对实现做进一步的更改,请编辑相关字段:
字段 | 描述 |
---|---|
Name ID Format | NameID Format 用于在 SAML 请求( |
Outbound Signing Algorithm | 用于签名 SAML 请求的算法,默认为 |
Signing Behavior | SAML 请求是否/何时将被签名。默认,Auth0 不要求对请求进行签名。 |
Minimum Incoming Signing Algorithm | Bitwarden 在 SAML 响应中接受的最小签名算法。默认,Auth0 使用 |
Want Assertions Signed | Bitwarden 是否要求 SAML 声明被签名。默认,Auth0 对 SAML 声明进行签名,因此,除非您配置了自定义签名规则,否则请选中此框。 |
Validate Certificates | 通过受信任的 CA 使用来自 IdP 的受信任和有效证书时,请选中此框。除非在 Bitwarden SSO 登录 docker 镜像中配置了适当的信任链,否则自签名证书可能会失败。 |
完成服务提供程序配置部分后,Save(保存)您的工作。
身份提供程序配置
身份提供程序配置通常需要你返回 Auth0 门户以获取应用程序的值:
字段 | 描述 |
---|---|
Entity ID | 输入您的 Auth0 应用程序的 Domain 值(参考此处),使用前缀 |
Binding Type | 选择 HTTP POST 以匹配在您的 Auth0 应用程序中指定的 Token Endpoint Authentication Method 的值。 |
Single Sign On Service URL | 输入您的 Auth0 应用程序的 SAML Protocol URL(参阅 Endpoints)。例如, |
Single Log Out Service URL | SSO 登录当前还不支持 SLO。该选项计划用于将来的开发,但是您可以根据需要预先配置它。 |
Artifact Resolution Service URL | 输入您的 Auth0 应用程序的 SAML Metadata URL(参阅 Endpoints)。例如, |
X509 Public Certificate | 黏贴已复制的 Signing Certificate,移除 |
Outbound Signing Algorithm | 默认,Auth0 使用 |
Allow Unsolicited Authentication Response | SSO 登录当前不支持未经请求(由 IdP 发起)的 SAML 声明。该选项计划用于将来的开发。 |
Disable Outbound Logout Requests | SSO 登录当前还不支持 SLO。该选项计划用于将来的开发。 |
Want Authentication Requests Signed | Auth0 是否要求 SAML 请求被签名。 |
完成身份提供程序配置部分后,Save(保存)您的工作。
您可以通过激活单点登录身份验证策略来要求用户使用 SSO 登录。请注意,这需要先激活单一组织政策。了解更多。
测试配置
配置完成后,通过导航到 https://vault.bitwarden.com 并选择 Enterprise Single Sign-On 按钮来进行测试:
输入已配置的组织标识符,然后选择 Log In。如果您的实施已成功配置,您将被重定向到 Auth0 的登录界面:
使用您的 Auth0 凭据进行身份验证后,输入您的 Bitwarden 主密码来解密您的密码库!
最后更新于