

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

# 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 安全性部落格*上的[AWS 共同責任模型和 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 端點的更多相關資訊，請參閱[聯邦資訊處理標準 (FIPS) 140-3](https://aws.amazon.com/compliance/fips/)。

我們強烈建議您絕對不要將客戶的電子郵件地址等機密或敏感資訊，放在標籤或自由格式的文字欄位中，例如**名稱**欄位。這包括當您使用 Amazon GameLift Streams 或使用主控台、API AWS CLI或 AWS SDKs的其他 AWS 服務 時。您在標籤或自由格式文字欄位中輸入的任何資料都可能用於計費或診斷日誌。如果您提供外部伺服器的 URL，我們強烈建議請勿在驗證您對該伺服器請求的 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 和 CloudWatch Events 存取此資料。

**重要**  
如果您提供客戶 IDs 或其他識別符給 Amazon GameLift Streams，則預期這些值為匿名參考，且不包含任何敏感或個人資訊。Amazon GameLift Streams 不會修訂任何中繼資料欄位。

如需資料保護的詳細資訊，請參閱安全部落格上的[AWS 共同責任模型和 GDPR](https://aws.amazon.com/blogs/security/the-aws-shared-responsibility-model-and-gdpr/) *AWS 部落格*文章。

## 靜態加密
<a name="encryption-rest"></a>

Amazon GameLift Streams 特定資料的靜態加密處理方式如下：
+ 應用程式內容存放在服務受管加密的 Amazon S3 儲存貯體中，另外存放在連接至服務受管 Amazon EC2 執行個體的硬體加密 NVME 磁碟機上。

## 傳輸中加密
<a name="encryption-transit"></a>

對 Amazon GameLift Streams APIs呼叫是透過安全 (SSL) 連線進行，並使用 [AWS Signature 第 4 版](https://docs.aws.amazon.com/general/latest/gr/signature-version-4.html)進行驗證 （透過 CLI 或 AWS SDK AWS 連線時，會自動處理簽署）。呼叫實體會使用安全登入資料，透過套用 Amazon GameLift Streams 資源定義的 IAM 存取政策進行驗證。

在多位置串流群組的情況下，為了從已配置串流容量的串流群組中的任何位置串流應用程式，Amazon GameLift Streams 會將應用程式安全地複寫到這些位置。

 同樣地，Amazon GameLift Streams 會在請求時，在工作階段結束時將日誌資料和工作階段檔案儲存至客戶命名的 Amazon S3 儲存貯體。如果儲存貯體與工作階段的位置不同，Amazon GameLift Streams 會將檔案安全地傳輸至 AWS 區域 儲存貯體所在的 。

## 保護最終使用者串流
<a name="protection-of-streams"></a>

個別最終使用者串流是最終使用者的 Web 瀏覽器與 Amazon GameLift Streams 後端主機之間的直接連線。這些串流受到業界標準 WebRTC 加密的保護，而且串流的兩個端點都會透過密碼編譯識別符進行正面識別，這是透過串流工作階段 APIs 交涉的 `SignalRequest`和 `SignalResponse`值的一部分。

用於串流的 WebRTC 加密也會涵蓋資料頻道訊息。這些訊息由 Amazon GameLift Streams 解密，並透過未加密的 API on-the-host傳遞至客戶的應用程式。如果end-to-end加密，這一層額外的加密是應用程式開發人員的責任。 GameLift 

## Linux 串流類別中的工作階段隔離
<a name="data-security-linux"></a>

 在 Linux 串流類別 (Ubuntu 和 Proton 執行時間） 上，Amazon GameLift Streams 使用*容器隔離*。每個工作階段都會在新的 Linux 容器中執行，並在使用後捨棄。這表示每個新工作階段都會在全新的環境中執行，與其他共用運算資源的使用者隔離 （如果在共用資源串流類別中執行）。當新的工作階段啟動時，不存在來自先前工作階段的資料。

## Windows 串流類別中的工作階段隔離
<a name="data-security-windows"></a>

 在 Windows 串流類別 (Microsoft 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 應用程式，讓經過驗證的呼叫開始並顯示串流。