AWS SAML 实施

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

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

已经是 SSO 专家?跳过本文中的说明,然后下载示例配置,将里面的屏幕截图与您自己的配置进行比较。

⬇️下载示例

在网页密码库中打开 SSO

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

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

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

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

创建 AWS SSO 应用程序

在 AWS 控制台中,导航到 AWS SSO,从导航中选择 Applications,然后选择 Add a new application 按钮:

在搜索栏下方,选择 Add a custom SAML 2.0 application 选项:

详情

为此应用程序提供一个唯一的、专用于 Bitwarden 的 Display Name

AWS SSO 元数据

您需要此部分中的信息,以进行后续的配置步骤。复制 AWS SSO sign-in URLAWS SSO issuer URL,然后下载 AWS SSO certificate

应用程序属性

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

应用程序元数据

在应用程序元数据部分中,选择此选项以手动输入元数据的值:

配置以下字段:

字段描述

Application ACS 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

Application SAML audience

将此字段设置为从 Bitwarden SSO 配置界面预先生成的 SP Entity ID

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

完成后,选择 Save changes

属性映射

导航到 Attribute mappings 选项卡然后配置如下映射:

应用程序中的用户属性映射到 AWS SSO 中的此字符串值或用户属性格式

Subject

${user:email}

emailAddress

email

${user:email}

emailAddress

分配用户

导航到 Assigned users 选项卡并选择 Assign users 按钮:

您可以单独或按群组将用户分配给应用程序。

回到网页密码库

至此,你已经在 AWS 控制台范围内配置好了你所需要的一切。回到 Bitwarden 网页密码库来完成配置。

单点登录界面将配置分为两个部分:

  • SAML 服务提供程序配置将决定 SAML 请求的格式。

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

服务提供程序配置

服务提供程序配置应该已完成​​,但您可以选择编辑以下任何字段:

字段描述

Name ID Format

将其设为 Email Address

Outbound Signing Algorithm

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

Signing Behavior

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

Minimum Incoming Signing Algorithm

默认,AWS SSO 将使用 SHA-256 签名。除非您进行了更改,否则请从下拉列表中选择 sha256

Want Assertions Signed

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

Validate Certificates

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

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

身份提供程序配置

身份提供程序配置通常需要你返回 AWS 控制台以获取应用程序的值:

字段描述

Entity ID

输入从 AWS 控制台的 AWS SSO metadata 部分获取到的 AWS SSO issuer URL

Binding Type

设置为 HTTP POSTRedirect

Single Sign On Service URL

输入从 AWS 控制台的 AWS SSO metadata 部分获取到的 AWS SSO sign-in URL

Single Log Out Service URL

SSO 登录当前不支持 SLO。该选项计划用于将来的开发,但是您可以将其预先配置为 AWS SSO sign-out URL,从 AWS 控制台的 AWS SSO metadata 部分获取。

Artifact Resolution Service URL

对于 AWS 实施,您可以将此字段保留为空。

X509 Public Certificate

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

Outbound Signing Algorithm

默认,AWS SSO 将使用 SHA-256 签名。除非您进行了更改,否则请从下拉列表中选择 sha256

Allow Unsolicited Authentication Response

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

Disable Outbound Logout Requests

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

Want Authentication Requests Signed

AWS SSO 是否要求 SAML 请求被签名。

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

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

测试配置

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

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

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

最后更新于