<!-- AI_TASK_START: AI标题翻译 -->
[解决方案] 使用 AWS Verified Access 和 Microsoft Entra ID 集成增强安全
<!-- AI_TASK_END: AI标题翻译 -->
<!-- AI_TASK_START: AI竞争分析 -->
# 产品功能分析
## 新功能/新产品概述
AWS Verified Access 的新增强功能允许组织直接使用 ID token 中的 claims 进行访问控制,这扩展了其与身份提供商(如 Microsoft Entra ID)的互操作性。核心目标是提升企业访问安全,通过评估用户身份、设备状态和应用特定策略,实现更灵活的访问管理。该功能适用于需要精细访问控制的场景,例如跨区域资源访问,目标用户群包括企业 IT 管理员和安全团队。相比传统 VPN 方法,此功能提供更细粒度的授权机制,**OpenID Connect** 流程中整合了 ID token 和 Userinfo 端点,支持动态处理用户 claims。
## 关键客户价值
- **增强安全性和合规性**:通过基于组别的访问控制(如 **eng-group** 和 **fin-group**),组织能确保只有授权用户访问敏感资源,避免未授权访问的风险,与传统 IaaS 架构相比,这提高了灵活性,但可能在多租户环境中增加政策管理负担。
- **简化访问管理**:支持直接从 ID token 中提取 claims,减少了对 Userinfo 端点的依赖,显著降低管理员的配置复杂度,尤其在混合云环境中;这与竞品不同之处在于,AWS 提供了更无缝的身份提供商集成,提升了整体效率。
- **业务灵活性提升**:适用于各种企业场景,如开发和财务应用访问,能根据用户组动态调整权限,实现更精确的资源隔离;然而,在大规模部署时,可能面临 claims 解析延迟的问题,影响实时性。
## 关键技术洞察
- **技术独特性**:基于 **OpenID Connect** 协议,该功能允许 ID token 直接包含自定义 claims(如用户组信息),工作原理是通过授权代码流获取 token,然后在 **Cedar** 政策语言中解析这些 claims。例如,Code snippet 1 展示了 ID token 的结构,包括 **groups** 键用于存储用户组列表,这实现了事件驱动的访问决策。
- **创新点与影响**:Cedar 政策语言支持细粒度上下文评估(如 context.my_policy_reference.additional_user_context),这提升了安全性(如防止未授权访问)和可用性(如毫秒级响应),但可能在复杂策略下增加计算开销;与传统方法相比,引入异步处理机制降低了延迟,却需关注 token 过期(exp 字段)带来的潜在中断风险。
- **挑战与解决方式**:技术实现需处理不同身份提供商的兼容性问题,AWS 通过支持 ID token 和 Userinfo 端点双重机制来解决,但在大规模组网时,claims 验证可能面临性能瓶颈,建议结合 **device-based trust providers** 优化整体架构。
## 其他信息
文档结尾推荐了 [AWS Verified Access 教程](https://docs.aws.amazon.com/verified-access/latest/ug/getting-started.html),供用户快速上手该功能。
<!-- AI_TASK_END: AI竞争分析 -->
<!-- AI_TASK_START: AI全文翻译 -->
# 通过 AWS Verified Access 和 Microsoft Entra ID 集成提升安全性
**原始链接:** [https://aws.amazon.com/blogs/networking-and-content-delivery/enhancing-security-with-aws-verified-access-and-microsoft-entra-id-integration/](https://aws.amazon.com/blogs/networking-and-content-delivery/enhancing-security-with-aws-verified-access-and-microsoft-entra-id-integration/)
**发布时间:** 2025-02-25
**厂商:** AWS
**类型:** BLOG
---
## 引言
与传统的基于 VPN 的方法不同,[AWS Verified Access (AWS Verified Access)](https://aws.amazon.com/verified-access/) 会评估多个访问维度,包括用户身份、设备状态 (device posture) 和特定应用程序策略。这意味着组织可以确保只有完全认证和授权的用户才能访问敏感资源,而不管其物理网络位置如何。结果是一种更灵活、更安全且更易管理的企业访问控制方法。
借助这一最新增强,AWS Verified Access 现在允许组织直接在 ID 令牌 (ID token) 中使用声明 (claims),除了从身份提供者的 Userinfo 端点检索声明之外。有些身份提供者如 Microsoft Entra ID (Microsoft Entra ID) 会直接在 ID 令牌中发出用户声明,而其他提供者则从 Userinfo 端点发出声明。AWS Verified Access 现在支持这两种方法。请参考 图 1: [OpenID Connect (OpenID Connect)](https://openid.net/developers/how-connect-works/) 流程的视觉参考,其中显示了 ID 令牌和 Userinfo 端点的位置。

图 1: OpenID Connect 授权代码流程(点击图片在新标签页中打开更大版本)
在本博客文章中,您将了解如何创建访问策略,以检查来自 Microsoft Entra ID 等身份提供者的 ID 令牌声明。
## 理解 ID 令牌声明
ID 令牌是 OpenID Connect 的核心组件,通常由身份提供者在 OpenID Connect 认证流程中发出。这些令牌可以包含关于认证用户的丰富元数据,包括超出标准配置文件信息的自定义声明。
代码片段 1 显示了由 Microsoft Entra ID 发出的 ID 令牌。该令牌使用 **openid** 范围请求,并[自定义以包含用户的组成员](https://learn.microsoft.com/en-us/entra/identity-platform/optional-claims?tabs=appui#configure-groups-optional-claims)。在 ID 令牌中,**groups** 键包含用户的组列表。对象如组和用户通常使用全局唯一标识符引用,以防止意外访问。
{
"aud": "79f1b917-ee9b-420b-87e1-3e92b06e4aef",
"iss": "https://login.microsoftonline.com/b58516...",
"iat": 1737664278,
"nbf": 1737664278,
"exp": 1737668178,
"aio": "AWQAm/8ZAAAAIB2lmM5JT1AzZ6DDeq...",
"cc": "CgEAEhdhdmFibG9nLm9ubWljcm9zb2Z0L...",
"**groups** ": [
"**221157e3-07c3-4eb0-b62f-bae3b0c3a19b** "
],
"nonce": "g4dsg5y4afi",
"rh": "1.AWEBDhaFtXtFXEiiOMvStzAJJhe5...",
"sub": "lUtmuMnHja-sWBffM-eFr17Ef4d4hvZQyldaGM1lHZU",
"tid": "b585160e-457b-485c-a238-cbd2b7300926",
"uti": "U8bFnkweQUauh5s-D6EVAA",
"ver": "2.0"
}
*代码片段 1: 由 Microsoft Entra ID 发出的示例 ID 令牌,包括用户的组成员*
## 基于组的访问控制
这一新功能的首要用例是基于 ID 令牌中的 **groups** 声明实现访问控制。许多组织通过身份提供者中的组成员管理用户访问。借助 AWS Verified Access 的新增强,您现在可以:
- 直接在 ID 令牌中发出用户的组成员。
- 根据用户组成员控制对 AWS Verified Access 端点的访问。
考虑一个典型的企业设置。属于 **eng-group** 的工程团队成员可以访问开发资源。属于 **fin-group** 的财务团队成员可以访问财务应用程序。不同的 AWS Verified Access 端点可以根据这些组配置以允许访问。
## 使用 ID 令牌声明进行策略评估
AWS Verified Access 使用一种强大的策略语言 [Cedar (Cedar)](https://www.cedarpolicy.com/),允许管理员基于授权上下文创建细粒度的访问控制。以下是实际运用的示例。
当用户尝试访问受保护资源时,AWS Verified Access 会评估一个授权上下文,其中包括从 Userinfo 端点和 ID 令牌中获取的用户详细信息。
在创建身份信任提供者时,您提供一个策略引用名称来引用从该信任提供者接收的声明。在我们的示例中,我们使用 **my_policy_reference**。
- 通过 Userinfo 端点发出的声明直接存储在 **my_policy_reference** 中。
- 通过 ID 令牌发出的声明存储在一个名为 **additional_user_context** 的嵌套键中。
两者如代码片段 2 中所示。
{
"**my_policy_reference** ": {
"**additional_user_context** ": {
"aio": "AWQAm/8ZAAAAIB2lmM5JT1AzZ6DDeq...",
"aud": "79f1b917-ee9b-420b-87e1-3e92b06e4aef",
"exp": 1737593337,
"groups": [
"221157e3-07c3-4eb0-b62f-bae3b0c3a19b"
],
"iat": 1737589437,
"iss": "https://login.microsoftonline.com/b5851...",
"nbf": 1737589437,
"rh": "1.AWEBDhaFtXtFXEiiOMvStzAJJhe5...",
"sub": "lUtmuMnHja-sWBffM-eFr17Ef4d4hvZQyldaGM1lHZU",
"tid": "b585160e-457b-485c-a238-cbd2b7300926",
"uti": "Ui4NdOgNWU6XTX_UsU8IAA",
"ver": "2.0"
},
"family_name": "Kitts",
"given_name": "Ken",
"name": "Ken Kitts",
"picture": "https://graph.microsoft.com/v1.0/me/photo/xxx",
"sub": "lUtmuMnHja-sWBffM-eFr17Ef4d4hvZQyldaGM1lHZU"
}
}
*代码片段 2: 示例授权上下文,包括 ID 令牌*
授权决策使用 Cedar 策略进行,该策略会检查来自[user-identity trust provider](https://docs.aws.amazon.com/verified-access/latest/ug/user-trust.html)(如 Microsoft Entra ID)的用户声明,以及从[device-based trust providers](https://docs.aws.amazon.com/verified-access/latest/ug/device-trust.html) 接收的信号。代码片段 3 中的示例授权策略演示了 ID 令牌声明的使用。该策略允许属于特定安全组的用户。
permit (principal, action, resource)
when
{
// 检查 ID 令牌中的 groups 声明
context.my_policy_reference
.additional_user_context
.groups
.contains
(
// eng-group
"221157e3-07c3-4eb0-b62f-bae3b0c3a19b"
)
};
*代码片段 3: 示例 Cedar 策略,检查 ID 令牌声明*
通过提供这种细粒度的策略定义,AWS Verified Access 为组织提供强大的工具来实施复杂的访问管理策略。
## 结语
AWS Verified Access 现在支持在授权过程中检查 ID 令牌声明。这改善了与 Microsoft Entra ID 等直接在 ID 令牌中发出用户声明的身份提供者的互操作性。管理员现在可以使用这些声明为 HTTP 和非 HTTP 资源创建精确且基于上下文的访问策略。要开始使用这些增强的授权功能,请访问[AWS Verified Access 教程](https://docs.aws.amazon.com/verified-access/latest/ug/getting-started.html)。
## 作者介绍

### Ken Kitts
Ken Kitts 是 Amazon Web Services (AWS) 的技术账户经理 (Technical Account Manager),拥有超过 20 年的计算机网络专业经验。在此之前,他在金融科技领域磨练了软件定义网络 (software-defined networking) 技能。除了职业成就外,Ken 还是一个狂热的旅行者,对考古学充满热情。他经常在旅行中探索当地博物馆和考古遗址,其中墨西哥的 Teotihuacan 特别令他着迷。
<!-- AI_TASK_END: AI全文翻译 -->