教程:Microsoft Entra 单一登录 (SSO) 与 AWS ClientVPN 的集成

本教程介绍如何将 AWS ClientVPN 与 Microsoft Entra ID 相集成。 将 AWS ClientVPN 与 Microsoft Entra ID 集成后,可以:

  • 在 Microsoft Entra ID 中控制谁有权访问 AWS ClientVPN。
  • 让用户能够使用其 Microsoft Entra 帐户自动登录到 AWS ClientVPN。
  • 在中心位置管理帐户。

先决条件

若要开始操作,需备齐以下项目:

  • 一个 Microsoft Entra 订阅。 如果没有订阅,可以获取一个免费帐户
  • 已启用 AWS ClientVPN 单一登录 (SSO) 的订阅。

方案描述

在本教程中,你将在测试环境中配置并测试 Microsoft Entra SSO。

  • AWS ClientVPN 支持 SP 发起的 SSO。

  • AWS ClientVPN 支持实时用户预配。

注意

此应用程序的标识符是一个固定字符串值,因此只能在一个租户中配置一个实例。

若要配置 AWS ClientVPN 与 Microsoft Entra ID 的集成,需要从库中将 AWS ClientVPN 添加到托管 SaaS 应用列表。

  1. 至少以云应用程序管理员身份登录到 Microsoft Entra 管理中心
  2. 浏览至“标识”>“应用程序”>“企业应用程序”>“新建应用程序”。
  3. 在“从库中添加”部分中,在搜索框中键入“AWS ClientVPN” 。
  4. 从结果面板中选择“AWS ClientVPN”,然后添加该应用。 在该应用添加到租户时等待几秒钟。

或者,也可以使用企业应用配置向导。 在此向导中,可以将应用程序添加到租户、将用户/组添加到应用、分配角色,以及逐步完成 SSO 配置。 详细了解 Microsoft 365 向导。

配置并测试 AWS ClientVPN 的 Microsoft Entra SSO

使用名为 B.Simon 的测试用户配置并测试 AWS ClientVPN 的 Microsoft Entra SSO。 若要使 SSO 正常工作,需要在 Microsoft Entra 用户与 AWS ClientVPN 中的相关用户之间建立关联。

若要配置并测试 AWS ClientVPN 的 Microsoft Entra SSO,请执行以下步骤:

  1. 配置 Microsoft Entra SSO - 使用户能够使用此功能。
    1. 创建 Microsoft Entra 测试用户 - 使用 B.Simon 测试 Microsoft Entra 单一登录。
    2. 分配 Microsoft Entra 测试用户 - 使 B.Simon 能够使用 Microsoft Entra 单一登录。
  2. 配置 AWS ClientVPN SSO - 在应用程序端配置单一登录设置。
    1. 创建 AWS ClientVPN 测试用户 - 在 AWS ClientVPN 中创建 B.Simon 的对应用户,并将其链接到该用户的 Microsoft Entra 表示形式。
  3. 测试 SSO - 验证配置是否正常工作。

配置 Microsoft Entra SSO

按照以下步骤启用 Microsoft Entra SSO。

  1. 至少以云应用程序管理员身份登录到 Microsoft Entra 管理中心

  2. 浏览到“标识”>“应用程序”>“企业应用程序”>“AWS ClientVPN”>“单一登录”。

  3. 在“选择单一登录方法”页上选择“SAML” 。

  4. 在“设置 SAML 单一登录”页面上,单击“基本 SAML 配置”旁边的铅笔图标以编辑设置 。

    编辑基本 SAML 配置

  5. 在“基本 SAML 配置” 部分中,按照以下步骤操作:

    a. 在“登录 URL”文本框中,使用以下模式键入 URL:https://<LOCALHOST>

    b. 在“回复 URL”文本框中,使用以下模式之一键入 URL:

    回复 URL
    http://<LOCALHOST>
    https://self-service.clientvpn.amazonaws.com/api/auth/sso/saml

    注意

    这些不是实际值。 使用实际的登录 URL 和回复 URL 更新这些值。 登录 URL 和回复 URL 可以具有相同的值 (http://127.0.0.1:35001)。 有关详细信息,请参阅 AWS 客户端 VPN 文档。 还可参考“基本 SAML 配置”部分中显示的模式。 有关任何配置问题,请联系 AWS ClientVPN 支持团队

  6. 在 Microsoft Entra 服务中,导航到“应用注册”,然后选择“所有应用程序”。

  7. 在搜索框中输入“AWS ClientVPN”,然后从搜索面板中选择“AWS ClientVPN” 。

  8. 单击“清单”。 在 replyUrlWithType,将回复 URL 保留为 http 而不是 https,使集成正常工作。 单击“保存” 。

  9. AWS ClientVPN 应用程序需要特定格式的 SAML 断言,这要求将自定义属性映射添加到 SAML 令牌属性配置。 以下屏幕截图显示了默认属性的列表。

    图像

  10. 除了上述属性,AWS ClientVPN 应用程序还要求在 SAML 响应中传递回更多的属性,如下所示。 这些属性也是预先填充的,但可以根据要求查看它们。

    名称 源属性
    memberOf user.groups
    FirstName user.givenname
    LastName user.surname
  11. 在“使用 SAML 设置单一登录”页的“SAML 签名证书”部分中找到“联合元数据 XML”,选择“下载”以下载该证书并将其保存在计算机上 。

    证书下载链接

  12. 在“SAML 签名证书”部分,单击编辑图标并将“签名选项”更改为“对 SAML 响应和断言进行签名”。 单击“ 保存”。

  13. 在“设置 AWS ClientVPN”部分中,根据需要复制相应的 URL。

    复制配置 URL

创建 Microsoft Entra 测试用户

在本部分,你将创建名为 B.Simon 的测试用户。

  1. 至少以用户管理员身份登录到 Microsoft Entra 管理中心
  2. 浏览到“标识”>“用户”>“所有用户”
  3. 选择屏幕顶部的“新建用户”>“创建新用户”。
  4. “用户”属性中执行以下步骤:
    1. 在“显示名称”字段中输入 B.Simon
    2. 在“用户主体名称”字段中,输入 username@companydomain.extension。 例如 B.Simon@contoso.com
    3. 选中“显示密码”复选框,然后记下“密码”框中显示的值。
    4. 选择“查看 + 创建”。
  5. 选择“创建”。

分配 Microsoft Entra 测试用户

在本部分,你将通过授予 B.Simon 访问 AWS ClientVPN 的权限来支持其使用单一登录。

  1. 至少以云应用程序管理员身份登录到 Microsoft Entra 管理中心
  2. 浏览到“标识”>“应用程序”>“企业应用程序”>“AWS ClientVPN”。
  3. 在应用的概述页面中,选择“用户和组”。
  4. 选择“添加用户/组”,然后在“添加分配”对话框中选择“用户和组” 。
    1. 在“用户和组”对话框中,从“用户”列表中选择“B.Simon”,然后单击屏幕底部的“选择”按钮。
    2. 如果你希望将某角色分配给用户,可以从“选择角色”下拉列表中选择该角色。 如果尚未为此应用设置任何角色,你将看到选择了“默认访问权限”角色。
    3. 在“添加分配”对话框中,单击“分配”按钮。

配置 AWS ClientVPN SSO

按照链接中提供的说明在 AWS ClientVPN 端配置单一登录。

创建 AWS ClientVPN 测试用户

在本部分中,我们将在 AWS ClientVPN 中创建一个名为 Britta Simon 的用户。 AWS ClientVPN 支持默认已启用的实时用户预配。 此部分不存在任何操作项。 如果 AWS ClientVPN 中尚不存在用户,身份验证后会创建一个新用户。

测试 SSO

在本部分,你将使用以下选项测试 Microsoft Entra 单一登录配置。

  • 单击“测试此应用程序”,这会重定向到 AWS ClientVPN 登录 URL,可以从那里启动登录流。

  • 直接转到 AWS ClientVPN 登录 URL,并从那里启动登录流。

  • 你可使用 Microsoft 的“我的应用”。 在“我的应用”中单击 AWS ClientVPN 磁贴时,将会重定向到 AWS ClientVPN 登录 URL。 有关“我的应用”的详细信息,请参阅“我的应用”简介

后续步骤

配置 AWS ClientVPN 后,可以强制实施会话控制,实时防止组织的敏感数据外泄和渗透。 会话控制从条件访问扩展而来。 了解如何通过 Microsoft Defender for Cloud Apps 强制实施会话控制