Okta SAML 实施

对应的官方文档地址

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

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

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

📥 下载示例

打开业务门户

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

SAML 2.0 配置

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

创建 Okta 应用程序

在 Okta 管理门户中,从导航中选择 ApplicationsApplications。在应用程序界面,选择 Add Application 按钮:

添加应用程序

选择 Create New App 按钮:

在 Create a New Application Integration 对话框中,从 Platform 下拉列表中选择 Web 并选择 SAML 2.0 单选按钮:

应用程序类型设置

选择 Create 按钮以继续进行配置。

常规设置

General Settings 界面,为应用程序指定一个唯一的、专用于 Bitwarden 的名称,然后选择 Next

配置 SAML

Configure SAML 界面,配置以下字段:

字段

描述

Single sign on 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

Audience URI (SP Entity ID)

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

Name ID format

选择在 SAML 声明中使用的 SAML NameID format。默认为 Unspecified

Application username

选择用户用于登录 Bitwarden 的 Okta 属性。

高级设置

选择 Show Advanced Settings 链接并配置以下字段:

高级设置

字段

描述

Response

SAML 响应是否由 Okta 签名。

Assertion Signature

SAML 声明是否由 Okta 签名。

Signature Algorithm

用于对响应和/或声明进行签名的签名算法,具体取决于设置为 Signed 的算法。默认为 rsa-sha256

Digest Algorithm

用于对响应和/或声明进行签名的摘要算法,具体取决于设置为 Signed 的算法。此字段必须与已选择的 Signature Algorithm 匹配。

属性声明

Attribute Statements 部分,构建以下 SP → IdP 属性映射:

属性语句

配置完成后,选择 Next 按钮进入 Feedback 界面然后选择 Finish

获取 IdP 值

应用程序创建后,选择应用程序的 Sign On 选项卡,然后选择 View Setup Instructions 按钮:

获取 IdP 值

保留此页面以备将来使用,或复制 Identity Provider Single Sign-On URLIdentity Provider Issuer 并下载 X.509 Certificate

分配

导航到 Assignments 选项卡然后选择 Assign 按钮:

分配群组

您可以使用 Assign to People 选项逐个用户地分配对应用程序的访问权限,或使用 Assign to Groups 选项来批量分配。

回到业务门户

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

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

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

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

服务提供程序配置

根据在 Okta 管理门户设置期间所选择的选项配置以下字段:

字段

描述

Name ID Format

将其设置为在 Okta 中指定的 NameID 格式。否则,请保留为 Unspecified

Outbound Signing Algorithm

Bitwarden 用于签名 SAML 请求的算法。

Signing Behavior

SAML 请求是否/何时将被签名。

Minimum Incoming Signing Algorithm

将其设置为在 Okta 中指定的 签名算法。

Want Assertions Signed

如果您在 Okta 中将 Assertion Signature 字段设置为 Signed,请选中此框。

Validate Certificates

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

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

身份提供程序配置

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

字段

描述

Entity ID

输入您的 Identity Provider Issuer,这可以从 Okta 的 Sign On 设置界面获取。

Binding Type

设置为 Redirect。Okta 目前不支持 HTTP POST。

Single Sign On Service URL

输入您的 Identity Provider Single Sign-On URL,这可以从 Okta 的 Sign On 设置界面获取。

Single Log Out Service URL

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

Artifact Resolution Service URL

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

X509 Public Certificate

黏贴已下载的证书,移除 -----BEGIN CERTIFICATE----------END CERTIFICATE-----。 多余的空格、回车符和其他多余的字符将导致证书验证失败

Outbound Signing Algorithm

选择在 Okta 应用程序配置期间选择的签名算法。如果您没有更改签名算法,请将其保留为默认 (rsa-sha256)。

Allow Unsolicited Authentication Response

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

Disable Outbound Logout Requests

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

Want Authentication Requests Signed

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

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

测试配置

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

Enterprise Single Sign-On 按钮

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

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