Azure SAML 实施

对应的官方文档地址

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

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

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

📥 下载示例

打开业务门户

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

SAML 2.0 配置

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

创建企业应用程序

在 Azure 门户中,导航到 Azure Active Directory 并从导航菜单中选择 Enterprise applications

选择 🞤New application 按钮:

在 Browse Azure AD Gallery 界面,选择 🞤Create your own application 按钮:

在 Create your own application 界面,为应用程序指定一个唯一的、专用于 Bitwarden 的名称并选择 Create 按钮。

启用单点登录(SSO)

在应用程序概览界面,从导航菜单选择 Single sign-on

在 Single sign-on 界面,选择 SAML

SAML 设置

基本 SAML 配置

选择 Edit 按钮并配置如下字段:

字段

描述

Identifier (Entity ID)

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

Reply URL (Assertion Consumer Service URL)

将此字段设置为从 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

Sign on URL

将此字段设置为用户访问 Bitwarden 的登录 URL。 对于云托管客户,其始终为 https://vault.bitwarden.com/#/sso。对于自托管实例,这由您配置的服务器 URL 决定,例如为 https://your.domain.com/#/sso

用户属性 & 声明

Azure 构造的默认声明可用于 SSO 登录,但你可以选择使用此部分来配置 Azure 在 SAML 响应中使用的 NameID 格式。

选择 Edit 按钮并选择 Unique User Identifier (Name ID) 条目以编辑 NameID 声明:

选项包括默认、电子邮件地址、永久、未指定和 Windows 限定域名。有关详细信息,请参阅 Microsoft Azure 文档

SAML 签名证书

下载 Base64 证书以在后续步骤中使用。

设置您的应用程序

复制或记下此部分中的 Login URLAzure AD Identifier,以在后续步骤中使用。

用户和群组

从导航菜单选择 Users and Groups

选择 Add user/group 按钮,以分配用户或群组级别对 SSO 登录应用程序的访问权限。

回到业务门户

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

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

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

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

服务提供程序配置

配置以下字段:

字段

描述

Name ID Format

默认,Azure 将使用电子邮件地址。如果您更改这个设置,请选择对应的值。否则,请将此字段设置为 UnspecifiedEmail Address

Outbound Signing Algorithm

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

Signing Behavior

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

Minimum Incoming Signing Algorithm

默认,Azure 将使用 RSA SHA-256 签名。请从下拉列表中选择 rsa-sha256

Want Assertions Signed

Bitwarden 是否要求 SAML 声明被签名

Validate Certificates

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

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

身份提供程序配置

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

字段

描述

Entity ID

输入从 Azure 门户获取到的 Azure AD Identifier

Binding Type

设置为 HTTP POSTRedirect

Single Sign On Service URL

输入从 Azure 门户获取到的 Login URL

Single Log Out Service URL

SSO 登录当前不支持 SLO。该选项计划用于将来的开发,但如果您需要,可以将其预先配置为 Logout URL

Artifact Resolution Service URL

Azure 当前不支持 Artifact 绑定,因此请将此字段留空。

X509 Public Certificate

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

Outbound Signing Algorithm

默认,Azure 将使用 RSA SHA-256 签名。请从下拉列表中选择 rsa-sha256

Allow Unsolicited Authentication Response

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

Disable Outbound Logout Requests

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

Want Authentication Requests Signed

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

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

测试配置

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

Enterprise Single Sign-On 按钮

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

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