ADFS OIDC 实施

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

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

在网页密码库中打开 SSO

如果您是直接从 OIDC 配置过来的,你应该已经创建了一个组织 ID 并打开了 SSO 配置界面。如果你没有,请参考那篇文章,为 SSO 创建一个组织 ID。

导航到您组织的管理单点登录界面:

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

如果您是自托管 Bitwarden,您可以选择性使用成员解密选项。此功能默认情况下被禁用,因此现在继续使用主密码解密,并了解如何在配置完成并成功运行后开始使用 Key Connector

创建应用程序组

在服务器管理器中,导航到 AD FS Management 并创建一个新的应用程序组:

1、在控制台树中,选择 Application Groups,然后从 Actions 列表中选择 Add Application Group

2、在 Welcome 向导界面上,选择 Server application accessing a web API

3、在 Server Application 界面上:

  • 为服务器应用程序起一个 Name

  • 记下 Client Identifier。在后续步骤中需要此值。

  • 指定一个 Redirect URI。对于云托管的客户,这始终是 https://sso.bitwarden.com/oidc-signin。对于自托管实例,这取决于您配置的服务器 URL,例如 https://your.domain.com/sso/oidc-signin

4、在 Configure Application Credentials 界面上,记下 Client Secret。在后续步骤中需要此值。

5、在 Configure Web API 界面上:

  • 为 Web API 起一个 Name

  • Client Identifier Redirect URI(参见步骤 3)添加到 Identifier list 中。

6、在 Apply Access Control Policy 界面上,为应用程序组设置适当的访问控制策略。

7、在 Configure Application Permissions 界面上,允许范围勾选 allatclaimsopenid

8、完成添加应用程序组向导。

添加转换声明规则

在服务器管理器中,导航到 AD FS Management 然后编辑已创建的应用程序组:

1、在控制台树中,选择 Application Groups

2、在 Application Groups 列表中,右键单击已创建的应用程序组然后选择 Properties

3、在 Applications 部分,选择 Web API 并选择 Edit...

4、导航到 Issuance Transform Rules 选项卡然后选择 Add Rule... 按钮。

5、在 Choose Rule Type 界面上,选择 Send LDAP Attributes as Claims

6、在 Configure Claim Rule 界面上:

  • 给规则起一个 Claim rule name

  • 从 LDAP Attribute 下拉列表中,选择 E-Mail-Addresses

  • 从 Outgoing Claim Type 下拉列表中,选择 E-Mail Address

回到网页密码库

至此,您已经配置好了 AD FS 服务器管理器所需要的一切。回到 Bitwarden 网页密码库以配置以下字段:

字段描述

Authority

输入附加了 /adfs 的 AD FS 服务器的主机名称,例如 https://adfs.mybusiness.com/adfs

Client ID

Client Secret

Metadata Address

输入附加了 /.well-known/openid-configuration 的指定 Authority 值,例如 https://adfs.mybusiness.com/adfs/.well-known/openid-configuration

OIDC Redirect Behavior

选择 Redirect GET

Get Claims From User Info Endpoint

如果您在 SSO 期间收到 URL 太长错误 (HTTP 414)、截断的 URL 和/或失败,请启用此选项。

Custom Scopes

定义要添加到请求中的自定义范围(逗号分隔)。

Custom User ID Claim Types

为用户标识(逗号分隔)定义自定义声明类型键。定义后,会在返回标准类型之前搜索自定义声明类型。

Custom Email Claim Types

为用户的电子邮件地址(逗号分隔)定义自定义声明类型键。定义后,会在返回标准类型之前搜索自定义声明类型。

Custom Name Claim Types

为用户的全名或显示名称(逗号分隔)定义自定义声明类型键。定义后,会在返回标准类型之前搜索自定义声明类型。

Requested Authentication Context Class Reference values

定义身份验证上下文类引用标识符(acr_values)(以空格分隔)。按优先顺序列出 acr_values

Expected “acr” Claim Value in Response

定义 Bitwarden 在响应中期望和验证的 acr 声明值。

完成这些字段的配置后,Save(保存)您的工作。

您可以通过激活单点登录身份验证策略来要求用户使用 SSO 登录。请注意,这需要先激活单一组织政策。了解更多

测试配置

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

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

最后更新于