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 业务门户中获取:
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。
对于云托管客户,其始终为 https://sso.bitwarden.com/saml2
;对于自托管实例,这由您配置的服务器 URL 决定,例如为 https://your.domain.com/sso/saml2
。
Allowed Callback URLS
将此字段设置为从 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
。
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(创建)规则:
以下任何项目均可配置:
signatureAlgorithm
Auth0 使用此算法对 SAML 声明或响应进行签名。默认为 rsa-sha1
,您也可以将值设置为 rsa-sha256
。
如果您更改了这个值,您必须:
-将 digestAlgorithm
设置为 sha256
。
-(在 Bitwarden 中)将 Minimum Incoming Signing Algorithm 设置为 rsa-sha256
。
digestAlgorithm
此算法用于计算 SAML 声明或响应的摘要。默认为 sha-1
。如果您更改了 signatureAlgorithm
的值,您还应该将此值设置为 sha256
.
signResponse
默认,Auth0 将仅对 SAML 声明进行签名。将此属性设置为 true
可对 SAML 响应(而不是声明)进行签名。
nameIdentifierFormat
默认为 urn:oasis:names:tc:SAML:1.1:nameid-format:unspecified
。您可以将值设置为任一 SAML NameID 格式。如果这样做了,请将 SP Name ID Format 字段更改为相应的选项(参阅这里)。
使用像下面这样的 Script(脚本)来实现这些规则。如需帮助,请参阅 Auth0 文档。
回到网页密码库
至此,你已经在 Auth0 门户网站配置好了你所需要的一切。回到 Bitwarden 网页密码库来完成配置。
单点登录界面将配置分为两个部分:
SAML 服务提供程序配置将决定 SAML 请求的格式。
SAML 身份提供程序配置将决定用于 SAML 响应的预期格式。
服务提供程序配置
除非您已配置了自定义规则,否则您的服务提供重新配置就已经完成了。如果您配置了自定义规则或要对实现做进一步的更改,请编辑相关字段:
Name ID Format
NameID Format 用于在 SAML 请求(NameIDPolicy
)中指定。要忽略它,请设置为 Not Configured。
Outbound Signing Algorithm
用于签名 SAML 请求的算法,默认为 rsa-sha256
。
Signing Behavior
SAML 请求是否/何时将被签名。默认,Auth0 不要求对请求进行签名。
Minimum Incoming Signing Algorithm
Bitwarden 在 SAML 响应中接受的最小签名算法。默认,Auth0 使用 rsa-sha1
进行签名,因此请从下拉列表中选择该选项,除非您配置了自定义签名规则。
Want Assertions Signed
Bitwarden 是否要求 SAML 声明被签名。默认,Auth0 对 SAML 声明进行签名,因此,除非您配置了自定义签名规则,否则请选中此框。
Validate Certificates
通过受信任的 CA 使用来自 IdP 的受信任和有效证书时,请选中此框。除非在 Bitwarden SSO 登录 docker 镜像中配置了适当的信任链,否则自签名证书可能会失败。
完成服务提供程序配置部分后,Save(保存)您的工作。
身份提供程序配置
身份提供程序配置通常需要你返回 Auth0 门户以获取应用程序的值:
Entity ID
输入您的 Auth0 应用程序的 Domain 值(参考此处),使用前缀 urn:
,例如,urn:bw-help.us.auth0.com
。
Binding Type
选择 HTTP POST 以匹配在您的 Auth0 应用程序中指定的 Token Endpoint Authentication Method 的值。
Single Sign On Service URL
输入您的 Auth0 应用程序的 SAML Protocol URL(参阅 Endpoints)。例如,https://bw-help.us.auth0.com/samlp/HcpxD63h7Qzl420u8qachPWoZEG0Hho2
。
Single Log Out Service URL
SSO 登录当前还不支持 SLO。该选项计划用于将来的开发,但是您可以根据需要预先配置它。
Artifact Resolution Service URL
输入您的 Auth0 应用程序的 SAML Metadata URL(参阅 Endpoints)。例如,https://bw-help.us.auth0.com/samlp/metadata/HcpxD63h7Qzl420u8qachPWoZEG0Hho2
.
X509 Public Certificate
黏贴已复制的 Signing Certificate,移除 -----BEGIN CERTIFICATE-----
和 -----END CERTIFICATE-----
。
多余的空格、回车符和其他多余的字符将导致证书验证失败。
Outbound Signing Algorithm
默认,Auth0 使用 RSA-SHA1
签名, 因此,除非您配置了自定义签名规则,否则请从下拉列表中选择 RSA-SHA1
选项。
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 主密码来解密您的密码库!
最后更新于