ADFS SAML 实施

对应的官方文档地址

本文是专门针对 Active Directory Federation Services (AD FS) 用于配置 SAML 2.0 方式的 SSO 登录的帮助。有关其他 IdP 方式配置 SSO 登录的帮助,请参阅 SAML 2.0 配置

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

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

📥 下载示例

打开业务门户

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

SAML 2.0 配置

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

创建信赖方信任

在 AD FS 服务器管理器中,选择 ToolsAD FS ManagementActionAdd Relying Party Trust。在向导中,进行如下的选择:

1、在 Welcome(欢迎)界面,选择 Claims Aware

2、在 Select Data Source(选择数据来源)界面,选择 Enter data about the relying party manually

3、在Specify Display Name(指定显示名称)界面,输入一个专用于 Bitwarden 的显示名称。

4、在 Configure URL(配置 URL)界面,选择 Enable support for SAML 2.0 WebSSO protocol

  • Relying party SAML 2.0 SSO service URL 输入框中,输入从 Bitwarden SSO 配置界面获取到的断言消费者服务(ACS)URL。 对于云托管客户,其始终为 https://sso.bitwarden.com/saml2/your-org-id/Acs;对于自托管实例,这取决于您已配置的服务器 URL,例如 https://your.domain.com/sso/saml2/your-org-id/Acs

5、在 Choose Access Control Policy 界面,选择

6、在 Configure Identifiers 界面,添加 SP 实体 ID(从 Bitwarden SSO 配置界面获取)作为依赖方信任标识符。

对于云托管客户,其始终为 https://sso.bitwarden.com/saml2;对于自托管实例,这取决于您已配置的服务器 URL,例如 https://your.domain.com/sso/saml2

7、在 Choose Access Control Policy 界面,选择所需的策略(默认为 Permit Everyone)。

8、在 Ready to Add Trust 界面,查看您的选择。

高级选项

创建依赖方信任后,您可以通过从左侧文件导航器中选择 Relying Party Trusts 并选择正确的显示名称来进一步配置其设置。

哈希算法

要更改 Secure hash algorithm(默认为 SHA-256),请导航到 Advanced 选项卡:

设置安全哈希算法

端点绑定

要更改端点 Binding(默认为 POST),请导航到 Endpoints 选项卡并选择已配置的 ACS URL:

编辑声明颁发规则

构建声明颁发规则以确保将适当的声明(包括名称 ID)传递给 Bitwarden。以下选项卡演示了示例规则:

规则 1
规则 2
规则 3
规则 1

规则 1

规则 2

规则 2

规则 3

规则 3

获取证书

在左侧的文件导航器中,选择 AD FSServiceCertificates 打开证书列表。选择 Token-signing 证书,导航到其 Details 选项卡,然后选择 Copy to File… 按钮以导出 Base-64 编码的令牌签名证书:

获取令牌签名证书

后面的步骤中您将需要此证书。

获取联合服务标识符

在左侧的文件导航器中,选择 AD FS,然后从右侧的选项菜单中选择 Edit Federation Service Properties。在 Federation Service Properties(联合服务属性)窗口中,复制 Federation Service Identifier

获取联合服务标识符

后面的步骤中您将需要此标识符。

回到业务门户

至此,你已经在 AD FS 服务器管理器范围内配置好了你所需要的一切。回到 Bitwarden 业务门户来完成配置。

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

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

  • SAML Identity Provider Configuration(SAML 身份提供程序配置)将决定用于 SAML 响应的预期格式。

服务提供程序配置

在服务提供程序配置部分,配置以下字段:

字段

描述

Name ID Format

选择构建声明颁发规则时选择的 Outgoing Name ID Format(请参阅规则 3)。

Outbound Signing Algorithm

Bitwarden 用来签署 SAML 请求的算法。

Signing Behavior

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

Minimum Incoming Signing Algorithm

默认,AD FS 将使用 SHA-256 签名。从下拉列表中选择 SHA-256,除非您已将 AD FS 配置为使用不同的算法

Want Assertions Signed

Bitwarden 是否要求 SAML 声明被签名。

Validate Certificates

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

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

身份提供程序配置

身份提供程序配置通常需要你返回 AD FS 服务器管理器以获取相应的值:

字段

描述

Entity ID

输入获取到的 Federation Service Identifier(联合服务标识符)。请注意,这可能不使用 HTTPS

Binding Type

默认,AD FS 使用 HTTP POST 端点绑定。除非您已将 AD FS 配置为使用不同的方法,否则请选择 HTTP POST

Single Sign On Service URL

输入 SSO 服务端点。该值可以从 AD FS 管理器的 ServiceEndpoints 选项卡中获取,默认情况下应以 http:// 开头并以 /adfs/services/ls 结尾。

Artifact Resolution Service URL

仅当您选择 Artifact 作为您的信赖方信任的端点绑定方法时才使用此字段。

X509 Public Certificate

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

Outbound Signing Algorithm

默认情,AD FS 将使用 SHA-256 签名。从下拉列表中选择 SHA-256,除非您已将 AD FS 配置为使用不同的算法

Allow Unsolicited Authentication Response

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

Disable Outbound Logout Requests

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

Want Authentication Requests Signed

AD FS 是否要求 SAML 请求被签名。

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

测试配置

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

输入已配置的组织标识符,然后选择 Log In。如果您的实现已成功配置,您将被重定向到 AD FS SSO 的登录界面。使用 AD FS 凭据进行身份验证后,输入您的 Bitwarden 主密码以解密您的密码库!