OneLogin SAML 实施

对应的官方文档地址

本文是专门针对 OneLogin 用于配置 SAML 2.0 方式的 SSO 登录的帮助。有关其他 IdP 方式配置 SSO 登录的帮助,请参阅 SAML 2.0 配置

配置需要在 Bitwarden 业务门户和 OneLogin 门户中同时进行。在您继续进行操作时,我们建议您随时准备好并按照记录的顺序完成步骤。

是 SSO 专业人士?请跳过本文中的说明,然后下载配置示例的截图以与您自己的配置进行比较。

📥 下载示例

打开业务门户

如果你是直接从 SAML 2.0 配置过来的,你应该已经创建了一个组织 ID 并打开了 SSO 配置界面。如果没有,请打开业务门户并导航到 SSO 配置界面:

SAML 2.0 配置

你不需要编辑此界面上的任何内容,但要保持打开以方便参考。

创建 OneLogin 应用程序

在 OneLogin 门户中,导航到 Applications 界面然后选择 Add App 按钮:

SAML 测试连接器应用程序

为您的应用程序指定一个专用于 Bitwarden 的 Display Name,然后选择 Save 按钮。

配置

从左侧导航中选择 Configuration 然后配置以下的信息,您需要从 Bitwarden 业务门户获取其中的一些信息:

应用程序设置

描述

Audience (EntityID)

将此字段设置为从 Bitwarden SSO 配置界面预先生成的 SP Entity ID。 对于云托管客户,其始终为 https://sso.bitwarden.com/saml2。对于自托管实例,这由您配置的服务器 URL 决定,例如为 https://your.domain.com/sso/saml2

Recipient

将此字段设置为同样也用于 Audience (Entity ID) 设置的预先生成的 SP Entity ID

ACS (Consumer) URL Validator

尽管被 OneLogin 标记为必需,但您实际上并不需要在此字段中输入信息以与 Bitwarden 集成。跳到下一个字段 ACS (Consumer) URL

ACS (Consumer) URL

将此字段设置为从 Bitwarden SSO 配置界面预先生成的 Assertion Consumer Service (ACS) URL。 对于云托管客户,其始终为 https://sso.bitwarden.com/saml2/your-org-id/Acs。对于自托管实例,这由您配置的服务器 URL 决定,例如为 https://your.domain/sso/saml2/your-org-id/Acs

SAML initiator

选择 Service Provider。SSO 登录当前不支持 IdP 发起的 SAML 声明。

SAML nameID Format

将此字段设置您希望用于 SAML 声明的 SAML NameID 格式

SAML signature element

默认,OneLogin 将签名 SAML 响应。您可以将其设置为 AssertionBoth

完成配置设置后,选择 Save 按钮。

参数

从左侧导航中选择 Parameters,然后使用 🞤Add 图标创建以下自定义参数:

字段名称

email

Email

firstname

First Name

lastname

Last Name

完成自定义参数后,选择 Save 按钮。

SSO

从左侧导航中选择 SSO 并完成以下操作:

1、选择 X.509 证书下的 View Details 链接:

查看您的证书

在证书界面,下载或复制您的 X.509 PEM 证书,因为您稍后需要使用它。复制后,返回主 SSO 界面。

2、设置您的 SAML Signature Algorithm

3、记下您的 Issuer URLSAML 2.0 Endpoint (HTTP)。您很快就需要使用这些值

访问权限

从左侧导航中选择 Access。在 Roles 部分,为您希望能够使用 Bitwarden 的所有角色分配应用程序访问权限。大多数实现会创建一个专用于 Bitwarden 的角色,而不是选择基于包罗万象(例如,Default)或基于预先存在的角色进行分配。

角色分配

回到业务门户

至此,您已经在 OneLogin 门户网站中配置了所需的一切。回到 Bitwarden 业务门户以完成配置。

业务门户将配置分为两个部分:

  • SAML Service Provider Configuration(SAML 服务提供程序配置):确定 SAML 请求的格式。

  • SAML Identity Provider Configuration(SAML 身份提供程序配置):确定期望 SAML 响应的格式。

服务提供程序配置

根据在 OneLogin 门户网站设置期间所选择的选项配置以下字段:

字段

描述

Name ID Format

将此字段设置为您在应用程序配置期间为 OneLogin SAML nameID Format 字段选择的内容。

Outbound Signing Algorithm

用于签名 SAML 请求的算法,默认为 sha-256

Signing Behavior

SAML 请求是否/何时将被签名。默认,OneLogin 不要求对请求进行签名。

Minimum Incoming Signing Algorithm

将此字段设置为您在应用程序配置期间为 OneLogin SAML Signature Algorithm 字段选择的内容。

Want Assertions Signed

如果您在应用程序配置期间将 OneLogin 中的 SAML signature element 设置为 AssertionBoth,请选中此框。

Validate Certificates

通过受信任的 CA 使用来自 IdP 的受信任和有效证书时,请选中此框。除非在 Bitwarden SSO 登录 docker 镜像中配置了适当的信任链,否则自签名证书可能会失败。

完成服务提供程序配置部分后,Save(保存)您的工作。

身份提供程序配置

身份提供程序配置通常需要你返回 OneLogin 门户网站以获取应用程序的值:

字段

描述

Entity ID

输入您的 OneLogin Issuer URL,这可以从 OneLogin 应用 SSO 界面获取。

Binding Type

设置为 HTTP Post(如 SAML 2.0Endpoint (HTTP) 中所示)。

Single Sign On Service URL

输入您的 OneLogin SAML 2.0 Endpoint (HTTP),这可以从 OneLogin 应用 SSO 界面获取。

Single Log Out Service URL

SSO 登录当前还不支持 SLO。该选项计划用于将来的开发。但是您可以根据需要预先配置它。

Artifact Resolution Service URL

对于 OneLogin 实现,您可以将此字段留空。

X509 Public Certificate

黏贴获取到的 X.509 证书one,移除 -----BEGIN CERTIFICATE----------END CERTIFICATE-----。 多余的空格、回车符和其他多余的字符将导致证书验证失败

Outbound Signing Algorithm

选择在 OneLogin SSO 配置界面选择的签名算法。

Allow Unsolicited Authentication Response

SSO 登录当前不支持未经请求(由 IdP 发起)的 SAML 声明。该选项计划用于将来的开发。

Disable Outbound Logout Requests

SSO 登录当前还不支持 SLO。该选项计划用于将来的开发。

Want Authentication Requests Signed

OneLogin 是否要求 SAML 请求被签名。

完成身份提供程序配置部分后,Save(保存)您的工作。

测试配置

配置完成后,通过导航到 https://vault.bitwarden.com 并选择 Enterprise Single Sign-On 按钮来进行测试:

Enterprise Single Sign-On 按钮

输入已配置的组织标识符,然后选择 Log In。如果您的实现已成功配置,您将被重定向到 OneLogin 的登录界面:

使用您的 OneLogin 凭据进行身份验证后,输入您的 Bitwarden 主密码来解密您的密码库!