Duo SAML 实施
最后更新于
最后更新于
对应的官方文档地址
本文是专门针对 Duo 用于配置 SAML 2.0 方式的 SSO 登录的帮助。有关其他 IdP 方式配置 SSO 登录的帮助,请参阅 SAML 2.0 配置。
配置需要在 Bitwarden 网页密码库和 Duo 管理门户中同时进行。在您继续进行操作时,我们建议您随时准备好并按照记录的顺序完成步骤。
已经是 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。
对于云托管客户,其始终为 https://sso.bitwarden.com/saml2
。对于自托管实例,这由您配置的服务器 URL 决定,例如为 https://your.domain.com/sso/saml2
。
Assertion Consumer Service (ACS) URL
将此字段设置为从 Bitwarden SSO 配置界面预先生成的 Assertion Consumer Service (ACS) URL。
对于云托管客户,其始终为 https://sso.bitwarden.com/saml2/your-org-id/Acs
。对于自托管实例,这由您配置的服务器 URL 决定,例如为 https://your.domain.com/sso/saml2/your-org-id/Acs
。
Service Provider Login URL
将此字段设置为用户访问 Bitwarden 的登录 URL。
对于云托管客户,其始终为 https://vault.bitwarden.com/#/sso
。对于自托管实例,这由您配置的服务器 URL 决定,例如为 https://your.domain.com/#/sso
。
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 Email Address
属性映射到 Email
,如下面的屏幕截图所示:
完成这些字段的配置后,Save(保存)您的更改。
至此,您已经在 Duo 管理门户网站中配置了所需的一切。回到 Bitwarden 网页密码库来完成配置。
单点登录界面将配置分为两个部分:
SAML 服务提供程序配置将决定 SAML 请求的格式。
SAML 身份提供程序配置将决定用于 SAML 响应的预期格式。
根据在 Duo 管理门户中的应用程序设置中所选择的选项配置以下字段:
Name ID Format
NameID Format 被用在 SAML 请求(NameIDPolicy
)中。将此字段设置为已选择的 NameID 格式。
Outbound Signing Algorithm
用于签名 SAML 请求的算法,默认为 rsa-sha256
。
Signing Behavior
SAML 请求是否/何时将被签名。默认,Duo 不要求对请求进行签名。
Minimum Incoming Signing Algorithm
Bitwarden 在 SAML 响应中接受的最小签名算法。默认,Duo 使用 rsa-sha256
进行签名,因此请从下拉列表中选择该选项,除非您选择了不同的选项。
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
黏贴已下载的证书,移除 -----BEGIN CERTIFICATE-----
和 -----END 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 主密码来解密您的密码库!