Amazon EC2 でのデータ保護 - Amazon Elastic Compute Cloud

Amazon EC2 でのデータ保護

AWS 責任共有モデルは、Amazon Elastic Compute Cloud のデータ保護に適用されます。このモデルで説明されているように、AWS は、AWS クラウド のすべてを実行するグローバルインフラストラクチャを保護する責任を担います。お客様は、このインフラストラクチャでホストされているコンテンツに対する管理を維持する責任があります。このコンテンツには、使用する AWS のサービス のセキュリティ設定と管理タスクが含まれます。データプライバシーの詳細については、データプライバシーのよくある質問を参照してください。欧州でのデータ保護の詳細については、AWS セキュリティブログに投稿された「AWS Shared Responsibility Model and GDPR」(責任共有モデルおよび GDPR) ブログを参照してください。

データを保護するため、AWS アカウント の認証情報を保護し、AWS Identity and Access Management (IAM) を使用して個々のユーザーアカウントをセットアップすることをお勧めします。この方法により、各ユーザーには、ジョブを遂行するために必要なアクセス許可のみが与えられます。また、次の方法でデータを保護するようお勧めします。

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

  • SSL/TLS を使用してAWSリソースと通信します TLS 1.2 以降を推奨されています。

  • AWS CloudTrail で API とユーザーアクティビティログをセットアップします。

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

  • Amazon Macieなどのアドバンストマネージドセキュリティサービスを使用します。これは、Amazon S3に保存されている個人データの検出と保護を支援します。

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

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

Amazon EBS のデータセキュリティ

Amazon EBS ボリュームは、初期化されていない raw ブロックデバイスとして表示されます。これらのデバイスは、EBS インフラストラクチャ上に作成される論理デバイスであり、Amazon EBS サービスは、お客様による利用または再利用の前に、デバイスが論理的に空になっている (つまり、raw ブロックがゼロになっている、または暗号で擬似ランダムデータが含まれている) ようにします。

DoD 5220.22-M (National Industrial Security Program Operating Manual) や NIST 800-88 (Guidelines for Media Sanitization) に詳述されているような、使用後もしくは使用前 (またはその両方) に特定の方法を使用してすべてのデータを消去する必要がある手順がある場合、Amazon EBS でこれを行うことができます。ブロックレベルのアクティビティは、Amazon EBS サービス内の基盤となるストレージメディアに反映されます。

保管データ暗号化

のお客様は、セキュリティを最も重視する組織の要件を満たすように構築されたデータセンターとネットワークアーキテクチャから利点を得られます。

Amazon EBS暗号化は、EBS ボリュームおよびスナップショット向けの暗号化ソリューションです。それは AWS KMS keys を使用します。詳細については、「Amazon EBS 暗号化」を参照してください。

フォルダレベルおよびファイルレベルの暗号化に Microsoft EFS および NTFS アクセス許可を使用することもできます。

インスタンスストアボリューム

NVMe インスタンスストアボリューム内のデータは、インスタンスのハードウェアモジュールに実装されている XTS-AES-256 暗号を使用して暗号化されます。ローカルに接続された NVMe ストレージデバイスに書き込まれるデータの暗号化に使用されるキーは、お客様ごと、ボリュームごとに異なります。キーはハードウェアモジュールによって生成され、ハードウェアモジュールの内部にのみ存在します。AWS ユーザーはハードウェアモジュールにはアクセスできません。暗号化キーは、インスタンスが停止または終了して復元できないときに破棄されます。この暗号化を無効にしたり、独自の暗号キーを指定したりすることはできません。

H1、D3、D3en インスタンス上にある HDD インスタンスストアボリュームのデータは、XTS-AES-256 とワンタイムキーを使用して暗号化されます。

インスタンスを、停止、休止、または終了するとき、インスタンスストアボリュームのストレージの各ブロックはリセットされます。そのため、別のインスタンスのインスタンスストアを通じてデータにアクセスすることはできません。

メモリ

メモリの暗号化は、次のインスタンスで有効になります。

  • AWSM6g インスタンスなどの Graviton 2 プロセッサを搭載したインスタンス。これらのプロセッサは、常時オンのメモリ暗号化をサポートしています。暗号化キーは、ホストシステム内で安全に生成され、ホストシステムから離れることはなく、ホストの再起動または電源切断時に破棄されます。

  • Intel Xeon スケーラブルプロセッサー (Ice Lake) を搭載したインスタンス (M6i インスタンスなど)。これらのプロセッサーは、インテル・トータル・メモリー暗号化 (TME) を使用した常時オンのメモリー暗号化をサポートします。

  • M6a インスタンスなどの第 3 世代 AMD EPYC プロセッサ (ミラノ) を搭載したインスタンス。これらのプロセッサは、AMD Transparent Single Key Memory Encryption (TSME) を使用した常時オンのメモリ暗号化をサポートします。

転送中の暗号化

物理レイヤーでの暗号化

AWS グローバルネットワーク上の AWS リージョンを流れるすべてのデータは、AWS の安全な施設を離れる前に、物理層で自動的に暗号化されます。AZ 間のトラフィックはすべて暗号化されます。追加的な暗号化レイヤーでは、このセクションに記載されているもの以外にも、保護が提供されている場合があります。

Amazon VPC および Transit Gateway のクロスリージョンピアリング接続によって提供される暗号化

Amazon VPC およびTransit Gateway のピアリング接続を使用する、すべてのクロスリージョントラフィックは、リージョンからの送信時に自動的に一括で暗号化されます。このセクションで前述したように、すべてのクロスリージョントラフィックの物理レイヤーには、追加の暗号化レイヤーが自動的に提供されます。

インスタンス間での暗号化

AWS では、すべてのタイプの EC2 インスタンス間において安全でプライベートな接続を提供しています。さらに、一部のインスタンスタイプでは、基盤となる Nitro System ハードウェアのオフロード機能を使用して、AEAD 256 ビット暗号化アルゴリズム により、インスタンス間の転送中のトラフィックを自動的に暗号化します。ネットワークのパフォーマンスには影響しません。インスタンス間でこの追加の転送中トラフィック暗号化をサポートするには、次の要件を満たす必要があります。

  • インスタンスは、次のインスタンスタイプを使用します。

    • 汎用: M5dn | M5n | M5zn | M6a | M6i

    • コンピューティング最適化: C5a | C5ad | C5n | C6a | C6i |

    • メモリ最適化: R5dn | R5n | R6i | high memory (u-*)、仮想化のみ | X2idn | X2iedn | X2iezn

    • ストレージ最適化: D3 | D3en | I3en

    • 高速コンピューティング: G4ad | G4dn | G5 | P3dn

  • 各インスタンスは同じリージョンにあるものとします。

  • 各インスタンスは同じ VPC 内、あるいはピア接続された VPC 内にあり、トラフィックは仮想ネットワークのデバイスもしくはサービス (ロードバランサーや Transit Gateway など) を通過しないものとします。

このセクションで先に述べたように、すべてのトラフィックにおける物理レイヤーには、そのトラフィックが AWS の保護された設備を離れる前に、追加の暗号化レイヤーが自動的に提供されています。

「AWS CLI」を使用してインスタンス間のトランジットトラフィックを暗号化するインスタンスタイプを表示するには、以下のようにします。

次の describe-instances コマンドを使用します。

aws ec2 describe-instance-types \ --filters Name=network-info.encryption-in-transit-supported,Values=true \ --query "InstanceTypes[*].[InstanceType]" --output text | sort

AWS Outpostsとの間のn暗号化

Outpost は、AWS ホームリージョンとの間にサービスリンクと呼ばれる特別なネットワーク接続を作成し、オプションとして指定した VPC サブネットとのプライベート接続も可能です。これらの接続上のすべてのトラフィックは完全に暗号化されます。詳細については、「AWS Outposts ユーザーガイド」の「サービスリンクによる接続」および「転送中の暗号化」を参照してください。

リモートアクセスの暗号化

RDP は、 や Windows インスタンスへのリモートアクセスのために、直接的もしくは EC2 Instance Connect 経由での安全な通信チャネルを提供します。AWS Systems Manager Session Manager および Run Command を使用したインスタンスへのリモートアクセスは、TLS 1.2 を使用して暗号化されます。また、接続を確立するリクエストは SigV4 を使用して署名され、AWS Identity and Access Management により認証ならびに許可されます。

クライアントと Amazon EC2 インスタンスの間で送受信される機密データを、Transport Layer Security (TLS) などの暗号化プロトコルを使用して暗号化することは、お客様の責任範囲です。

EC2 インスタンスと AWS API エンドポイントとの間、あるいは機密性の高いリモートネットワークサービスとの間では、暗号化された接続のみを許可してください。これを適用するには、アウトバウンドセキュリティグループまたは Windows ファイアウォールのルールを使用します。