Duo SAML 实施
对应的官方文档地址
本文是专门针对 Duo 用于配置 SAML 2.0 方式的 SSO 登录的帮助。有关其他 IdP 方式配置 SSO 登录的帮助,请参阅 SAML 2.0 配置。
配置需要在 Bitwarden 网页密码库和 Duo 管理门户中同时进行。在您继续进行操作时,我们建议您随时准备好并按照记录的顺序完成步骤。
已经是 SSO 专家?跳过本文中的说明,然后下载示例配置,将里面的屏幕截图与您自己的配置进行比较。
⬇️下载示例
在网页密码库中打开 SSO
本文假定您已经使用身份提供程序设置了 Duo。如果还没有的话,请参阅 Duo 文档以了解详细信息。
如果你是直接从 SAML 2.0 配置过来的,你应该已经创建了一个组织 ID 并打开了 SSO 配置界面。如果你没有,请参考那篇文章,为 SSO 创建一个组织 ID。
导航到您组织的管理 → 单点登录界面:
你不需要编辑此界面上的任何内容,但要保持打开以方便引用。
如果您是自托管 Bitwarden,您可以选择性使用成员解密选项。此功能默认情况下被禁用,因此现在继续使用主密码解密,并了解如何在配置完成并成功运行后开始使用 Key Connector。
保护应用程序
在 Duo 管理门户中,导航到 Applications 界面并选择 Protect an Application 按钮:
在搜索栏中,输入 generic service provider
然后选择 Generic Service Provider (Single Sign-On):
在应用程序配置界面完成以下步骤和配置,其中的一些步骤和配置需要您从 Bitwarden 业务门户中获取:
元数据
您不需要在 Metadata 部分编辑任何内容(请参阅上面的屏幕截图),但稍后您需要引用这些值:
下载
选择 Download certificate 按钮以下载您的 X.509 证书,因为您需要在稍后的配置中使用它。
服务提供程序
字段 | 描述 |
---|---|
Entity ID | 将此字段设置为从 Bitwarden SSO 配置界面预先生成的 SP Entity ID。
对于云托管客户,其始终为 |
Assertion Consumer Service (ACS) URL | 将此字段设置为从 Bitwarden SSO 配置界面预先生成的 Assertion Consumer Service (ACS) URL。
对于云托管客户,其始终为 |
Service Provider Login URL | 将此字段设置为用户访问 Bitwarden 的登录 URL。
对于云托管客户,其始终为 |
SAML 响应
字段 | 描述 |
---|---|
NameID format | 将此字段设置为 SAML NameID 格式,以便 Duo 在 SAML 响应中发送。 |
NameID attribute | 将此字段设置为 Duo 属性,该属性用于在响应中填充 NameID。 |
Signature algorithm | 将此字段设置为用于 SAML 声明和响应的加密算法。 |
Signing options | 设置为 Sign response 或 Sign assertion,,或同时设置。 |
Map attributes | 使用这些字段将 IdP 属性映射到 SAML 响应属性。无论您配置了哪个 NameID 属性,请将 IdP |
完成这些字段的配置后,Save(保存)您的更改。
回到网页密码库
至此,您已经在 Duo 管理门户网站中配置了所需的一切。回到 Bitwarden 网页密码库来完成配置。
单点登录界面将配置分为两个部分:
SAML 服务提供程序配置将决定 SAML 请求的格式。
SAML 身份提供程序配置将决定用于 SAML 响应的预期格式。
服务提供程序配置
根据在 Duo 管理门户中的应用程序设置中所选择的选项配置以下字段:
字段 | 描述 |
---|---|
Name ID Format | NameID Format 被用在 SAML 请求( |
Outbound Signing Algorithm | 用于签名 SAML 请求的算法,默认为 |
Signing Behavior | SAML 请求是否/何时将被签名。默认,Duo 不要求对请求进行签名。 |
Minimum Incoming Signing Algorithm | Bitwarden 在 SAML 响应中接受的最小签名算法。默认,Duo 使用 |
Want Assertions Signed | Bitwarden 是否要求 SAML 声明被签名。如果您选择了 Sign assertion 选项,请选中此框。 |
Validate Certificates | 通过受信任的 CA 使用来自 IdP 的受信任和有效证书时,请选中此框。除非在 Bitwarden SSO 登录 docker 镜像中配置了适当的信任链,否则自签名证书可能会失败。 |
完成服务提供程序配置部分后,Save(保存)您的工作。
身份提供程序配置
身份提供程序配置通常需要你返回 Duo 管理门户以获取应用程序的值:
字段 | 描述 |
---|---|
Entity ID | 输入您的 Duo 应用程序的 Domain 值,这可以从 Duo 应用程序元数据部分获取到。 |
Binding Type | 将此字段设置为 HTTP post。 |
Single Sign On Service URL | 输入您的 Duo 应用程序的 Single Sign-On URL 值,这可以从 Duo 应用程序元数据部分获取到。 |
Single Log Out Service URL | SSO 登录当前还不支持 SLO。该选项计划用于将来的开发,但是您可以根据需要将其预先配置为您的 Duo 应用程序的 Single Log-Out URL 值 。 |
Artifact Resolution Service URL | 对于 Duo 实现,您可以将此字段留空。 |
X509 Public Certificate | 黏贴已下载的证书,移除 |
Outbound Signing Algorithm | 将此字段设置为已选择的 SAML 响应签名算法。 |
Allow Unsolicited Authentication Response | SSO 登录当前不支持未经请求(由 IdP 发起)的 SAML 声明。该选项计划用于将来的开发。 |
Disable Outbound Logout Requests | SSO 登录当前还不支持 SLO。该选项计划用于将来的开发。 |
Want Authentication Requests Signed | Duo 是否要求 SAML 请求被签名。 |
完成身份提供程序配置部分后,Save(保存)您的工作。
您可以通过激活单点登录身份验证策略来要求用户使用 SSO 登录。请注意,这需要先激活单一组织政策。了解更多。
测试配置
配置完成后,通过导航到 https://vault.bitwarden.com 并选择 Enterprise Single Sign-On 按钮来进行测试:
输入已配置的组织标识符,然后选择 Log In。如果您的实施已成功配置,您将被重定向到您的源 IdP 的登录界面。
使用您的 Duo 凭据进行身份验证后,输入您的 Bitwarden 主密码来解密您的密码库!
最后更新于