

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

# Amazon GameLift Streams 中的数据保护
<a name="data-protection"></a>

 AWS [分担责任模型](https://aws.amazon.com/compliance/shared-responsibility-model/)分适用于 Amazon GameLift Streams 中的数据保护。如本模型所述 AWS ，负责保护运行所有内容的全球基础架构 AWS 云。您负责维护对托管在此基础结构上的内容的控制。您还负责您所使用的 AWS 服务 的安全配置和管理任务。有关数据隐私的更多信息，请参阅[数据隐私常见问题](https://aws.amazon.com/compliance/data-privacy-faq/)。有关欧洲数据保护的信息，请参阅 *AWS Security Blog* 上的 [AWS Shared Responsibility Model and GDPR](https://aws.amazon.com/blogs/security/the-aws-shared-responsibility-model-and-gdpr/) 博客文章。

出于数据保护目的，我们建议您保护 AWS 账户 凭证并使用 AWS IAM Identity Center 或 AWS Identity and Access Management (IAM) 设置个人用户。这样，每个用户只获得履行其工作职责所需的权限。还建议您通过以下方式保护数据：
+ 对每个账户使用多重身份验证（MFA）。
+ 用于 SSL/TLS 与 AWS 资源通信。我们要求使用 TLS 1.2，建议使用 TLS 1.3。
+ 使用设置 API 和用户活动日志 AWS CloudTrail。有关使用 CloudTrail 跟踪捕获 AWS 活动的信息，请参阅*AWS CloudTrail 用户指南*中的[使用跟 CloudTrail 踪](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-trails.html)。
+ 使用 AWS 加密解决方案以及其中的所有默认安全控件 AWS 服务。
+ 使用高级托管安全服务（例如 Amazon Macie），它有助于发现和保护存储在 Amazon S3 中的敏感数据。
+ 如果您在 AWS 通过命令行界面或 API 进行访问时需要经过 FIPS 140-3 验证的加密模块，请使用 FIPS 端点。有关可用的 FIPS 端点的更多信息，请参阅《美国联邦信息处理标准（FIPS）第 140-3 版》[https://aws.amazon.com/compliance/fips/](https://aws.amazon.com/compliance/fips/)。

强烈建议您切勿将机密信息或敏感信息（如您客户的电子邮件地址）放入标签或自由格式文本字段（如**名称**字段）。这包括您 AWS 服务 使用控制台、API 或与 Amazon GameLift Streams 或其他 AWS CLI平台合作时 AWS SDKs。在用于名称的标签或自由格式文本字段中输入的任何数据都可能会用于计费或诊断日志。如果您向外部服务器提供 URL，强烈建议您不要在网址中包含凭证信息来验证对该服务器的请求。

Amazon GameLift Streams 按以下方式处理特定于服务的数据：
+ **客户提供的应用程序** — Amazon GameLift Streams 将客户数据（如果提供）存储在内部服务托管的 Amazon S3 存储桶和连接到 Amazon EC2 实例的 NVME 存储驱动器上。所有数据均以服务管理的静态加密方式存储。客户无法直接访问此数据副本。要删除应用程序，请使用 Amazon GameLift Streams 控制台或服务 API。
+ **客户提供的元数据** — 客户可以向 Amazon GameLift Streams 提供元数据， APIs 包括描述、连接信息和不透明的标识符，例如客户。 IDs此元数据始终与特定的客户资源相关联。
+ **客户生成的数据**-如果应用程序在正常操作过程中写入新数据，则这些客户生成的数据将保留到用户会话结束为止。在会话结束时，可以选择将生成的数据导出到客户选择的 Amazon S3 存储桶目标。否则，客户生成的数据不会离开生成数据的 Amazon EC2 实例。有关数据处理的更多信息，请参阅[会话隔离](#data-security-linux)主题。
+ **指标和事件数据** — Amazon GameLift Streams 指标和事件数据，可通过 Amazon GameLift Streams 控制台或通过调用服务 API 进行访问。可在应用程序、直播组和直播会话中获取数据。授权用户也可以通过 Amazon CloudWatch 和 Ev CloudWatch ents 访问这些数据。

**重要**  
如果您向 Amazon GameLift Streams 提供客户 IDs 或其他标识符，则这些值应为匿名参考值，不包含任何敏感或个人信息。Amazon GameLift Streams 不会编辑任何元数据字段。

有关数据保护的更多信息，请参阅《AWS 安全性博客》**上的 [AWS 责任共担模式和 GDPR](https://aws.amazon.com/blogs/security/the-aws-shared-responsibility-model-and-gdpr/) 博客文章。

## 静态加密
<a name="encryption-rest"></a>

Amazon GameLift Streams 特定数据的静态加密处理方式如下：
+ 应用程序内容存储在服务托管加密的 Amazon S3 存储桶中，此外还存储在与服务托管的 Amazon EC2 实例相连的硬件加密 NVME 驱动器上。

## 传输中加密
<a name="encryption-transit"></a>

对 Amazon GameLift Streams APIs 的调用通过安全 (SSL) 连接进行，并使用[AWS 签名版本 4](https://docs.aws.amazon.com/general/latest/gr/signature-version-4.html) 进行身份验证（通过 AWS CLI 或 AWS SDK 连接时，会自动处理签名）。调用实体使用安全证书，这些证书通过应用为 Amazon GameLift Streams 资源定义的 IAM 访问策略进行身份验证。

在多位置直播组中，为了将应用程序从流组中已分配流式传输容量的任何位置流式传输，Amazon Stre GameLift ams 会安全地将应用程序复制到这些位置。

 同样，Amazon GameLift Streams 会在会话结束时根据请求将日志数据和会话文件保存到客户命名的 Amazon S3 存储桶中。如果存储桶与会话不在同一位置，Amazon GameLift Streams 会将文件安全地传输到存储桶所在 AWS 区域 的位置。

## 保护终端用户流
<a name="protection-of-streams"></a>

单个最终用户流是最终用户的网络浏览器和 Amazon GameLift Streams 后端主机之间的直接连接。这些流受行业标准的WebRTC加密保护，并且流的两个端点都由加密标识符进行正面识别，这些标识符是通过直播会话协商`SignalRequest`的`SignalResponse`和值的一部分。 APIs

用于流媒体的 WebRTC 加密也涵盖了数据通道消息。这些消息由 Amazon GameLift Streams 解密，然后通过未加密的 API 在本地传递 on-the-host到客户的应用程序。如果需要即使是 Amazon GameLift Streams 服务也无法解密的加 end-to-end密，则这额外的加密层由应用程序开发者负责。

## Linux 流类中的会话隔离
<a name="data-security-linux"></a>

 *在 Linux 流媒体类（Ubuntu 和 Proton 运行时）上，A GameLift mazon Streams 使用容器隔离。*每个会话都运行在一个新的 Linux 容器中，该容器在使用后会被丢弃。这意味着每个新会话都在全新的环境中运行，与共享计算资源的其他用户隔离（如果在共享资源流类中运行）。新会话启动时，不存在来自先前会话的数据。

## Windows 流媒体类中的会话隔离
<a name="data-security-windows"></a>

 在 Windows 直播类（微软 Windows Server 运行时）上，Amazon GameLift Streams 使用*软件隔离*。该服务依靠软件代理在会话之间重置关键系统状态。有些文件夹在多个会话中保留，以便进行性能优化，例如主机上的磁盘缓存。软件代理会自动删除在之前的直播会话期间在用户配置文件目录中生成的所有文件。但是，代理不会删除在应用程序运行之前存在并在应用程序运行时修改过的任何文件。它也不会删除应用程序添加的任何 Windows 注册表项。客户应意识到，他们有责任避免损害整个操作系统的完整性。应用程序以管理员用户身份执行，这可能允许修改关键的系统级文件，包括在多个会话中持续存在的更改。客户有责任保护其应用程序并防止对操作系统进行不安全或不稳定的修改。

 当应用程序启动时，客户有责任清理以前会话中修改过的文件和添加的注册表项。这是保护应用程序写入用户个人资料目录的机密或敏感信息的重要步骤。为此，客户可以编写自己的自定义脚本来执行以下操作：
+  恢复`%USERPROFILE%`目录之外由应用程序修改的所有文件。
+  清理应用程序添加的所有敏感或用户特定的注册表项。

## 加密密钥管理
<a name="key-management"></a>

该服务使用 AWS托管的加密密钥。每个区域都使用单独的 KMS 密钥。不支持客户管理的密钥 (CMKs)。

提供给 Amazon GameLift Streams 的应用程序文件不能重新发布或从该服务导出。客户可以使用服务控制台或 APIs 删除应用程序。删除关联的流组，可以完全清除以前存放这些应用程序文件的驱动器。

## 互联网络流量隐私
<a name="inter-network-traffic-privacy"></a>

Amazon GameLift Streams 使用面向公众的网络来托管直播会话。每个直播组由一个或多个服务托管 VPC 网络组成，这些网络与其他直播组和其他客户隔离。除了经过身份验证的、由服务代理的 WebRTC 流连接外，入站网络连接将被拒绝。客户应用程序可以不受限制地从这些地址 VPCs 连接到其他公共地址。

此外，客户无法仅使用服务 API 调用或设置来公开访问直播或其应用程序数据。所有服务交互都由 AWS经过身份验证的 API 调用进行限制。如果客户希望向公众开放直播，则必须创建自己的客户端 Web 应用程序来进行经过身份验证的呼叫以启动和显示直播。