

本文属于机器翻译版本。若本译文内容与英语原文存在差异，则一律以英文原文为准。

# 安全支柱
<a name="security"></a>

Well-Architect AWS ed Framework [的安全支柱](https://docs.aws.amazon.com/wellarchitected/latest/framework/security.html)侧重于利用云功能来帮助为您的信息、基础架构和资源建立强大的保护机制。这些原则有助于增强您的整体安全状况，同时实现创新。

将此支柱应用于 WorkSpaces 应用程序流媒体环境的关键重点领域：
+ 数据完整性和机密性
+ 管理用户权限
+ 建立控制措施以检测安全事件

## 建立坚实的身份基础
<a name="security-foundation"></a>

使用所需的最低权限访问 AWS 资源，同时集中身份管理并避免使用长期证书。
+ 授予 WorkSpaces 应用程序资源的最低特权权限：
  + 使用最少的所需权限为 WorkSpaces 应用程序队列创建特定的 IAM 角色。
  + 为映像生成器配置有限的 IAM 权限。
  + 限制对 WorkSpaces 应用程序管理功能的管理访问权限。
  + 为堆栈和队列管理定义精细权限。
+ 实施适当的用户身份验证机制：
  + 为企业身份提供商集成配置 SAML 2.0 联合。
  + 为用户管理[AWS IAM Identity Center](https://docs.aws.amazon.com/singlesignon/latest/userguide/what-is.html)进行设置。
  + 仅在特定身份验证场景需要时才使用自定义身份代理。
  + 在支持的地方实施多因素身份验证 (MFA)。
+ 控制用户对应用程序的访问权限：
  + 配置应用程序授权以限制对特定应用程序的访问。
  + 根据用户角色创建应用程序分配组。
  + 通过堆栈权限管理应用程序访问权限。
  + 实施会话策略以控制应用程序行为。
+ 使用适当的控件保护用户会话：
  + 配置会话超时策略。
  + 设置断开连接超时操作。
  + 实现会话保持要求。
  + 控制文件系统重定向权限。
+ 为应用程序配置基于证书的身份验证。 WorkSpaces 有关更多信息，请参阅 AWS 博客文章[简化 WorkSpaces 应用程序的基于证书的身份验证以及 WorkSpaces 使用 Active Directory AWS 私有 CA 连接器的](https://aws.amazon.com/blogs/desktop-and-application-streaming/simplify-certificate-based-authentication-for-appstream-2-0-and-workspaces-with-aws-private-ca-connector-for-active-directory/)身份验证。
+ 使用会话标签实现精细的访问控制。有关更多信息，请参阅 AWS 博客文章[使用会话标签简化 WorkSpaces 应用程序权限](https://aws.amazon.com/blogs/desktop-and-application-streaming/use-session-tags-to-simplify-appstream-2-0-permissions/)。

## 保持可追溯性
<a name="security-traceability"></a>

对所有环境变化和活动实施实时监控和自动响应系统。
+ 为应用程序[CloudWatch 日志](https://docs.aws.amazon.com/prescriptive-guidance/latest/implementing-logging-monitoring-cloudwatch/welcome.html)配置日志记录以监控应用程序特定的事件，包括应用程序启动、崩溃和错误。配置会话日志以跟踪流式传输会话信息，包括会话开始、停止和用户连接事件。
+ [激活 CloudTrail 以记录所有 A WorkSpaces pplications API 调用](https://docs.aws.amazon.com/appstream2/latest/developerguide/logging-using-cloudtrail.html)并跟踪管理事件，例如队列创建和修改、映像生成器操作、堆栈配置和用户管理活动。
+ 监控 WorkSpaces 应用程序实例活动：
  + 配置实例日志记录以捕获系统级事件。
  + 跟踪应用程序的启动和失败。
  + 监控系统资源使用情况和性能。
+ 跟踪用户活动：
  + 监控用户身份验证尝试和失败次数。使用 CloudWatch 指标和 CloudWatch 日志来跟踪用户登录尝试、会话开始和结束时间以及会话断开连接事件。
  + 跟踪应用程序的使用模式。[启用 WorkSpaces 应用程序使用情况报告](https://docs.aws.amazon.com/appstream2/latest/developerguide/configure-usage-reports.html)以检索会话持续时间、开始和结束时间、使用的实例类型以及访问的应用程序等信息。
  + 通过启用的主文件夹记录文件系统活动。
  + 配置剪贴板设置和打印操作以实现数据丢失防护目标。
+ 为与安全相关的指标（例如用户身份验证失败、会话模式异常和资源访问违规）配置[CloudWatch警报](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/AlarmThatSendsEmail.html)。
+ 使用 EUC 工具包跟踪活动会话和状态，监控正在使用的活动会话的 IP 地址，并导出会话数据进行审计。有关更多信息，请参阅 AWS 博客文章[使用 EUC 工具包管理亚马逊 WorkSpaces 应用程序和亚马逊 WorkSpaces](https://aws.amazon.com/blogs/desktop-and-application-streaming/euc-toolkit/)。

## 在所有层面上应用安全措施
<a name="security-layers"></a>

对基础架构的所有组件（从网络边缘到应用程序代码）实施多层安全控制。
+ 配置网络层安全：
  + 实施严格的安全组规则。
  + 将 WorkSpaces 应用程序队列实例放在无法直接访问互联网的私有子网中。通过 NAT 设备控制互联网接入。
  + 使用虚拟私有云 (VPC) 终端节点访问支持的终端节点 AWS 服务 （例如 Amazon S3）。
  + 实施网络访问控制列表 (ACLs) 作为额外的网络安全层。
  + 将直播端口（HTTPS 和 WebSocket 安全端口的 TCP 8443）访问权限限制为特定 IP 范围。
+ 配置接入层安全：
  + 实施会话超时策略以自动断开非活动用户的连接。
  + 使用会话标签实现基于属性的访问控制。有关更多信息，请参阅 AWS 博客文章[使用会话标签简化 WorkSpaces 应用程序权限](https://aws.amazon.com/blogs/desktop-and-application-streaming/use-session-tags-to-simplify-appstream-2-0-permissions/)。
+ 配置应用层安全性：
  + 配置应用程序授权以控制哪些用户可以访问特定的应用程序。
  + 启用文件系统重定向控制以限制对本地驱动器的访问。
  + 根据安全要求配置剪贴板、文件传输和打印权限。
  + 根据安全策略设置 USB 设备访问控制。
+ 配置镜像层安全：
  + 创建和维护符合安全要求的强化基础映像。
  + 使用最新的安全补丁更新基础映像。
  + 在基础映像中配置 Windows 安全设置。
  + 在基础映像中禁用不必要的 Windows 服务和功能。

## 自动执行安全最佳实践
<a name="security-automation"></a>

在版本控制的模板中使用自动化、代码定义的安全控制，实现安全和可扩展的基础架构部署。
+ 使用基础设施即代码 (IaC)，使用诸如 AWS CloudFormation 在所有队列部署中实现一致的安全配置。有关更多信息，请参阅 AWS 博客文章[自动将其他安全组附加到亚马逊 WorkSpaces 应用程序和亚马逊 WorkSpaces](https://aws.amazon.com/blogs/desktop-and-application-streaming/automatically-attach-additional-security-groups-to-amazon-appstream-2-0-and-amazon-workspaces/)。
+ 使用 Image Assistant CLI 自动执行映像创建安全流程。
+ 使用 Amazon CloudWatch 警报、Amazon EventBridge 规则和自动响应 AWS Lambda 函数，针对超出容量利用率阈值、未经授权的访问尝试和安全组更改配置自动响应。

## 让人们远离数据
<a name="security-data"></a>

自动化数据处理流程，最大限度地减少人员直接访问并降低出错或处理不当的风险。
+ 配置应用程序授权以控制哪些用户可以访问特定的应用程序。
+ 使用[动态应用程序框架](https://docs.aws.amazon.com/appstream2/latest/developerguide/build-dynamic-app-provider.html)构建动态应用程序提供程序，以便根据用户属性动态提供应用程序。
+ 配置文件系统重定向以控制用户可以访问的本地驱动器、限制对特定文件夹的访问以及管理本地会话和流式传输会话之间的文件传输权限。
+ 实施剪贴板限制以禁用本地会话和流媒体会话之间的剪贴板共享，在需要时启用单向剪贴板流动，并防止未经授权的数据复制。
+ 配置应用程序设置持久性以自动保存和恢复应用程序配置，消除手动配置需求并保持一致的用户体验。

## 为安全事件做好准备
<a name="security-events"></a>

使用自动化工具制定和实践事件响应计划，以实现对安全事件的快速检测、调查和恢复。
+ 为失败的身份验证尝试、舰队安全组的更改、镜像配置的修改以及异常的直播会话模式设置 CloudWatch 警报。
+ 记录常见 WorkSpaces 应用程序安全场景的响应程序，例如：
  + 未经授权的访问尝试
    + 检测：监控身份验证失败。
    + 响应：撤消用户权利、查看会话日志和更新访问策略。
  + 受损的直播实例
    + 检测：监控实例行为。
    + 响应：终止受影响的会话，替换队列实例，并查看安全组配置。
  + 数据泄露尝试
    + 检测：监视文件传输活动。
    + 响应：查看剪贴板和文件传输日志，调整文件传输权限并更新数据保护策略。
+ 为队列实例更换、安全组恢复、用户访问权限重新配置和应用程序设置恢复实施自动恢复流程。
+  AWS 服务 用于安全管理，例如 AWS Security Hub CSPM 用于安全发现，Amazon GuardDuty 用于威胁检测。