View a markdown version of this page

Amazon GameLift Streams でのデータ保護 - Amazon GameLift Streams

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

Amazon GameLift Streams でのデータ保護

責任 AWS 共有モデル、Amazon GameLift Streams でのデータ保護に適用されます。このモデルで説明されているように、 AWS はすべての を実行するグローバルインフラストラクチャを保護する責任があります AWS クラウド。ユーザーは、このインフラストラクチャでホストされるコンテンツに対する管理を維持する責任があります。また、使用する「 AWS のサービス 」のセキュリティ設定と管理タスクもユーザーの責任となります。データプライバシーの詳細については、「Data Privacy FAQChina」を参照してください。 欧州におけるデータ保護に関する情報については、General Data Protection Regulation (GDPR) Center を参照してください。

データ保護の目的で、認証情報を保護し AWS アカウント 、 AWS IAM アイデンティティセンター または AWS Identity and Access Management (IAM) を使用して個々のユーザーを設定することをお勧めします。この方法により、それぞれのジョブを遂行するために必要な権限のみが各ユーザーに付与されます。また、次の方法でデータを保護することもお勧めします:

  • 各アカウントで多要素認証 (MFA) を使用します。

  • SSL/TLS を使用して AWS リソースと通信します。TLS 1.2 は必須ですが、TLS 1.3 を推奨します。

  • で API とユーザーアクティビティのログ記録を設定します AWS CloudTrail。CloudTrail 証跡を使用して AWS アクティビティをキャプチャする方法については、「 AWS CloudTrail ユーザーガイド」のCloudTrail 証跡の使用」を参照してください。

  • AWS 暗号化ソリューションと、 内のすべてのデフォルトのセキュリティコントロールを使用します AWS のサービス。

  • Amazon Macie などの高度な管理されたセキュリティサービスを使用します。これらは、Amazon S3 に保存されている機密データの検出と保護を支援します。

  • コマンドラインインターフェイスまたは API AWS を介して にアクセスするときに FIPS 140-3 検証済み暗号化モジュールが必要な場合は、FIPS エンドポイントを使用します。利用可能な FIPS エンドポイントの詳細については、「連邦情報処理規格 (FIPS) 140-3」を参照してください。

お客様の E メールアドレスなどの極秘または機密情報を、タグ、または [名前] フィールドなどの自由形式のテキストフィールドに含めないことを強くお勧めします。これは、コンソール、API、 AWS CLIまたは SDK を使用して Amazon GameLift Streams または他の AWS のサービス を使用する場合も同様です。 AWS SDKs タグ、または名前に使用される自由記述のテキストフィールドに入力したデータは、請求または診断ログに使用される場合があります。外部サーバーに URL を提供する場合、そのサーバーへのリクエストを検証できるように、認証情報を URL に含めないことを強くお勧めします。

Amazon GameLift Streams は、サービス固有のデータを次のように処理します。

  • お客様が用意したアプリケーション – Amazon GameLift Streams は、提供されている場合、内部サービスマネージド Amazon S3 バケットと Amazon EC2 インスタンスにアタッチされた NVME ストレージドライブに顧客データを保存します。すべてのデータは、サービス管理の保管時の暗号化で保存されます。お客様がこのデータのコピーに直接アクセスすることはできません。アプリケーションを削除するには、Amazon GameLift Streams コンソールまたはサービス API を使用します。

  • お客様が用意したメタデータ – お客様は、説明、接続情報、顧客 IDs などの不透明な識別子を含むメタデータを Amazon GameLift Streams APIs に提供できます。このメタデータは常に特定のカスタマーリソースに関連付けられます。

  • お客様が生成したデータ – アプリケーションが通常のオペレーションの一部として新しいデータを書き込む場合、このお客様が生成したデータはユーザーセッションの終了まで保持されます。セッションの終了時に、生成されたデータは、オプションでお客様が選択した Amazon S3 バケットの宛先にエクスポートできます。それ以外の場合、お客様が生成したデータは、生成された Amazon EC2 インスタンスを残しません。データ処理の詳細については、セッション分離に関するトピックを参照してください。

  • メトリクスとイベントデータ – Amazon GameLift Streams メトリクスとイベントデータ。Amazon GameLift Streams コンソールまたは サービス API の呼び出しからアクセスできます。データは、アプリケーション、ストリームグループ、ストリームセッションで使用できます。承認されたユーザーは、Amazon CloudWatch および CloudWatch Events を通じてこのデータにアクセスすることもできます。

  • セッション認証情報 – で IAM ロール ARN を指定するとStartStreamSession、Amazon GameLift Streams はロールを引き受け、短期間の一時的な認証情報をアプリケーションに提供します。Amazon GameLift Streams は、セッション中にストリーミングインスタンスのメモリにのみ認証情報を保存します。Amazon GameLift Streams は、認証情報をディスクに書き込んだり、サービスログに含めたり、API レスポンスに返したりすることはありません。セッションが終了すると、Amazon GameLift Streams はメモリから認証情報をクリアします。Amazon GameLift Streams は、既存のセッションレコード保持ポリシーに従って、ロール ARN (認証情報ではなくリソース識別子) のみをサービスデータベースに保存します。

重要

Amazon GameLift Streams に顧客 IDs またはその他の識別子を提供する場合、これらの値は匿名化された参照であり、機密情報や個人情報が含まれていないことが予想されます。Amazon GameLift Streams はメタデータフィールドを編集しません。

データ保護の詳細については、AWS セキュリティブログのブログ投稿「AWS の責任共有モデルと GDPR」を参照してください。

保管中の暗号化

Amazon GameLift Streams 固有のデータの保管時の暗号化は、次のように処理されます。

  • アプリケーションコンテンツは、サービスマネージドの暗号化された Amazon S3 バケット、およびサービスマネージド Amazon EC2 インスタンスにアタッチされたハードウェア暗号化された NVME ドライブに保存されます。

転送中の暗号化

Amazon GameLift Streams APIs への呼び出しは、安全な (SSL) 接続を介して行われ、AWS 署名バージョン 4 を使用して認証されます (CLI または AWS SDK AWS を介して接続すると、署名は自動的に処理されます)。呼び出しエンティティは、Amazon GameLift Streams リソースに定義されている IAM アクセスポリシーを適用して認証されるセキュリティ認証情報を使用します。

マルチロケーションストリームグループのコンテキストでは、ストリーミング容量が割り当てられたストリームグループ内の任意の場所からアプリケーションをストリーミングするために、Amazon GameLift Streams はそれらの場所にアプリケーションを安全にレプリケートします。

同様に、Amazon GameLift Streams は、リクエストに応じて、お客様が名前を付けた Amazon S3 バケットに、セッションの終了時にログデータとセッションファイルを保存します。バケットがセッションと同じ場所にない場合、Amazon GameLift Streams はバケット AWS リージョン がある にファイルを安全に転送します。

セッション認証情報を設定すると、Amazon GameLift Streams は TLS で暗号化された接続を介して AWS STS から認証情報を取得します。アプリケーションは、セッションの分離された環境内で認証情報を安全に受け取ります。

エンドユーザーストリームの保護

個々のエンドユーザーストリームは、エンドユーザーのウェブブラウザと Amazon GameLift Streams バックエンドホスト間の直接接続です。これらのストリームは業界標準の WebRTC 暗号化で保護され、ストリームの両方のエンドポイントは、ストリームセッション API を介してネゴシエートされた SignalRequestおよび SignalResponse値の一部である暗号化識別子によって正に識別されます。 APIs

データチャネルメッセージは、ストリームに使用される WebRTC 暗号化でもカバーされます。これらのメッセージは Amazon GameLift Streams によって復号され、暗号化されていない API を介してお客様のアプリケーションにon-the-hostローカルに渡されます。Amazon GameLift Streams サービスでも復号化できないend-to-endの暗号化が必要な場合、この追加の暗号化レイヤーはアプリケーション開発者の責任です。

Linux ストリームクラスのセッション分離

Linux ストリームクラス (Ubuntu および Proton ランタイム) では、Amazon GameLift Streams はコンテナ分離を使用します。すべてのセッションは新しい Linux コンテナで実行され、使用後に破棄されます。つまり、新しい各セッションは、コンピューティングリソースを共有する他のユーザーから分離された新しい環境で実行されます (共有リソースストリームクラスで実行されている場合)。新しいセッションの起動時に、以前のセッションのデータは存在しません。

Windows ストリームクラスのセッション分離

Windows ストリームクラス (Microsoft Windows Server ランタイム) では、Amazon GameLift Streams はソフトウェア分離を使用します。このサービスは、セッション間の重要なシステム状態をリセットするためにソフトウェアエージェントに依存しています。一部のフォルダは複数のセッションにわたって保持されるため、ホスト上のディスクキャッシュなど、パフォーマンスを最適化できます。ソフトウェアエージェントは、前のストリームセッション中にユーザーのプロファイルディレクトリで生成されたファイルを自動的に削除します。ただし、エージェントは、アプリケーションの実行前に存在し、アプリケーションの実行中に変更されたファイルを削除しません。また、アプリケーションが追加した Windows レジストリキーも削除されません。オペレーティングシステム全体の整合性を損なうことは避ける必要があります。アプリケーションは管理者ユーザーとして実行され、複数のセッションにまたがる変更など、重要なシステムレベルのファイルへの変更を許可できます。アプリケーションを保護し、安全でない、または不安定なオペレーティングシステムの変更を防ぐのはお客様の責任です。

アプリケーションの起動時に、これらの変更されたファイルと以前のセッションから追加されたレジストリキーをクリーンアップする責任があります。これは、アプリケーションがユーザーのプロファイルディレクトリに書き込む機密情報を保護するための重要なステップです。これを行うには、次のアクションを実行するカスタムスクリプトを記述できます。

  • アプリケーションによって変更された%USERPROFILE%ディレクトリ外のファイルを復元します。

  • アプリケーションが追加した機密またはユーザー固有のレジストリキーをクリーンアップします。

暗号化キーの管理

サービスは暗号化に AWS マネージドキーを使用します。各リージョンは個別の KMS キーを使用します。カスタマーマネージドキーはサポートされていません。

Amazon GameLift Streams に提供されたアプリケーションファイルは、サービスから再発行またはエクスポートできません。サービスコンソールまたは APIs を使用してアプリケーションを削除できます。以前にこれらのアプリケーションファイルを保持していたドライブは、関連付けられたストリームグループを削除することで完全に消去できます。

ネットワーク間トラフィックのプライバシー

Amazon GameLift Streams は、一般向けネットワークを使用してストリームセッションをホストします。各ストリームグループは、他のストリームグループや他の顧客から分離された 1 つ以上のサービスマネージド VPC ネットワークで構成されます。インバウンドネットワーク接続は、認証されたサービスブローカー WebRTC ストリーム接続を除いて拒否されます。アプリケーションは、制限なしにこれらの VPCsから他のパブリックアドレスに接続できます。

さらに、サービス API コールまたは設定のみを使用して、ストリームまたはアプリケーションデータをパブリックにアクセス可能にすることはできません。すべてのサービスインタラクションには、認証された API AWSコールが必要です。ストリームをパブリックにアクセスできるようにするには、独自のクライアントウェブアプリケーションを作成して、認証された呼び出しを行ってストリームを開始および表示する必要があります。