暗号化オプション - Amazon EMR

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

暗号化オプション

Amazon EMR リリース 4.8.0 以降では、セキュリティ設定を使用して、保管中のデータ、転送中のデータ、またはその両方を暗号化するための設定を指定できます。保管中のデータの暗号化を有効にすると、Amazon S3 内にある EMRFS データもしくはローカルディスク内にあるデータのいずれかまたはその両方の暗号化を選択できるようになります。作成する各セキュリティ設定は、クラスター設定ではなく Amazon EMR に保存されるため、設定を簡単に再利用して、クラスターの作成時にいつでもデータ暗号化設定を指定できます。詳細については、「セキュリティ設定を作成する」を参照してください。

次の図は、セキュリティ設定で使用できるさまざまなデータ暗号化オプションを示しています。

Amazon EMR では、転送時および保管時の暗号化オプションがいくつかあります。

以下の暗号オプションも使用できます。また、セキュリティ設定では設定できません。

注記

Amazon EMR バージョン 5.24.0 以降では、 をキープロバイダー AWS KMS として指定すると、セキュリティ設定オプションを使用して EBS ルートデバイスとストレージボリュームを暗号化できます。詳細については、「ローカルディスク暗号化」を参照してください。

データの暗号化には、キーと証明書が必要です。セキュリティ設定では、 によって管理されるキー、Amazon S3 によって管理されるキー AWS Key Management Service、提供するカスタムプロバイダーのキーと証明書など、複数のオプションから柔軟に選択できます。をキープロバイダー AWS KMS として使用する場合、暗号化キーの保存と使用には料金が適用されます。詳細については、「AWS KMS 料金表」を参照してください。

暗号化オプションを指定する前に、使用するキーと証明書の管理システムを決定します。これにより、暗号化設定の一部として指定するキーと証明書、またはカスタムプロバイダーをまず作成できます。

Amazon S3 内に保管中の EMRFS データの暗号化

Amazon S3 暗号化は、Amazon S3 との間で読み書きされる Amazon S3 EMR File System (EMRFS) オブジェクトで機能します。保管中のデータの暗号化を有効にする場合は、デフォルトの暗号化モードとして、Amazon S3 サーバー側での暗号化 (SSE) またはクライアント側での暗号化 (CSE) を指定します。オプションで、[Per bucket encryption overrides (バケットごとの暗号化オーバーライド)] を使用して、バケットごとに異なる暗号化方法を指定できます。Amazon S3 の暗号化が有効かどうかにかかわらず、Transport Layer Security (TLS) は、EMR クラスターノードと Amazon S3 の間で転送される EMRFS オブジェクトを暗号化します。Amazon S3 暗号化の詳細については、「Amazon Simple Storage Service ユーザーガイド」の「暗号化を使用したデータの保護」を参照してください。

注記

を使用する場合 AWS KMS、暗号化キーのストレージと使用に対して料金が適用されます。詳細については、「AWS KMS の料金」を参照してください。

Amazon S3 のサーバー側の暗号化

Amazon S3 のサーバー側の暗号化をセットアップすると、Amazon S3 はデータをディスクに書き込むときにオブジェクトレベルで暗号化し、アクセスするときに復号します。SSE に関する詳細は、「Amazon Simple Storage Service ユーザーガイド」の「サーバー側の暗号化を使用したデータの保護」を参照してください。

Amazon EMR で SSE を指定するときに、次の 2 つの異なるキー管理システムから選択できます。

  • SSE-S3 — Amazon S3 がキーを管理します。

  • SSE-KMS – を使用して AWS KMS key 、Amazon EMR に適したポリシーをセットアップします。Amazon EMR のキー要件の詳細については、「暗号化に を使用する AWS KMS keys」を参照してください。

SSE とお客様が用意したキーとの組み合わせ (SSE-C) は、Amazon EMR では使用できません。

Amazon S3 クライアント側の暗号化

Amazon S3 のクライアント側の暗号化を使用すると、Amazon S3 の暗号化と復号はクラスターの EMRFS クライアントで行われます。オブジェクトは Amazon S3 にアップロードされる前に暗号化され、ダウンロード後に復号化されます。指定するプロバイダーが、クライアントが使用する暗号化キーを提供します。クライアントは、 AWS KMS によって提供されるキー (CSE-KMS) か、クライアント側のルートキーを提供するカスタム Java クラス (CSE-C) を使用できます。CSE-KMS と CSE-C では、指定するプロバイダーと、復号化または暗号化されるオブジェクトのメタデータに応じて、暗号化の仕様が少し異なります。これらの差異に関する詳細は、「Amazon Simple Storage Service ユーザーガイド」の「クライアント側の暗号化を使用したデータの保護」を参照してください。

注記

Amazon S3 CSE では、Amazon S3 と交換される EMRFS データのみが暗号化されます。クラスターインスタンスボリュームのすべてのデータが暗号化されるわけではありません。さらに、Hue は EMRFS を使用しないため、Hue S3 ファイルブラウザが Amazon S3 に書き込むオブジェクトは暗号化されません。

Amazon EMR WAL のデータの保存時の暗号化

先書きログ (WAL) 用にサーバー側の暗号化 (SSE) を設定すると、Amazon EMR は保管中のデータを暗号化します。Amazon EMR で SSE を指定する場合、2 つの異なるキー管理システムから選択できます。

SSE-EMR-WAL

Amazon EMR がキーを管理します。デフォルトでは、Amazon EMR は Amazon EMR WAL に保存したデータを で暗号化しますSSE-EMR-WAL。

SSE-KMS-WAL

AWS KMS キーを使用して、Amazon EMR WAL に適用されるポリシーを設定します。Amazon EMR の主要な要件の詳細については、「」を参照してください暗号化 AWS KMS keys に を使用する

Amazon EMR で WAL を有効にする場合、SSE で独自のキーを使用することはできません。詳細については、「Amazon EMR のログ先行書き込み (WAL)」を参照してください。

ローカルディスク暗号化

Amazon EMR セキュリティ設定を使用してローカルディスク暗号化を有効にすると、次のメカニズムが連携してローカルディスクを暗号化します。

オープンソースの HDFS 暗号化

HDFS は、分散処理中にクラスターインスタンス間でデータを交換します。また、インスタンスストアボリュームと、インスタンスにアタッチされた EBS ボリュームとの間でデータを読み書きします。ローカルディスク暗号化を有効にすると、次のオープンソース Hadoop 暗号化オプションがアクティブになります。

注記

追加の Apache Hadoop 暗号化をアクティブ化するには、転送時の暗号化を有効にします。詳細については、「転送中の暗号化」を参照してください。これらの暗号化設定では、HDFS 透過的暗号化はアクティブにされず、手動で設定することができます。詳細については、「Amazon EMR リリースガイド」の「Transparent encryption in HDFS on Amazon EMR」を参照してください。

インスタンスストアの暗号化

NVMe ベースの SSD をインスタンスストアボリュームとして使用する EC2 インスタンスタイプでは、Amazon EMR 暗号化設定に関係なく NVMe 暗号化が使用されます。詳細については、「Amazon EC2 ユーザーガイド」のNVMe SSD ボリューム」を参照してください。 Amazon EC2 他のインスタンスストアボリュームの場合、Amazon EMR は、EBS ボリュームが EBS 暗号化と LUKS のどちらを使用して暗号化されているかにかかわらず、ローカルディスクの暗号化が有効になると、LUKS を使用してインスタンスストアボリュームを暗号化します。

EBS ボリュームの暗号化

アカウントで EBS ボリュームの Amazon EC2 暗号化がデフォルトで有効になっているリージョンにクラスターを作成する場合、ローカルディスクの暗号化が有効になっていなくても EBS ボリュームは暗号化されます。詳細については、「Amazon EC2 ユーザーガイド」の「デフォルトで暗号化」を参照してください。セキュリティ設定でローカルディスク暗号化を有効にすると、Amazon EMR 設定がクラスター Amazon EC2 encryption-by-default EC2 設定よりも優先されます。

セキュリティ設定を使用して EBS ボリュームを暗号化するには、以下のオプションを使用できます。

  • EBS 暗号化 - Amazon EMR バージョン 5.24.0 以降では、EBS 暗号化を有効にすることを選択できます。EBS 暗号化オプションは、EBS ルートデバイスボリュームとアタッチされたストレージボリュームを暗号化します。EBS 暗号化オプションは、 をキープロバイダー AWS Key Management Service として指定した場合にのみ使用できます。EBS 暗号化を使用することをお勧めします。

  • LUKS 暗号化 - Amazon EBS ボリュームに LUKS 暗号化を使用することを選択した場合、LUKS 暗号化はルートデバイスボリュームではなく、アタッチされたストレージボリュームにのみ適用されます。LUKS の暗号化の詳細については、「LUKS on-disk specification」を参照してください。

    キープロバイダーの場合、Amazon EMR に適したポリシー、または暗号化アーティファクトを提供するカスタム Java クラス AWS KMS key を使用して を設定できます。を使用する場合 AWS KMS、暗号化キーのストレージと使用に対して料金が適用されます。詳細については、「AWS KMS 料金表」を参照してください。

注記

クラスターで EBS 暗号化が有効になっているかどうかを確認するには、DescribeVolumes API コールを使用することをお勧めします。詳細については、「」を参照してくださいDescribeVolumes。クラスターで lsblk を実行すると、EBS 暗号化ではなく LUKS 暗号化のステータスのみが確認されます。

転送中の暗号化

転送時の暗号化では、複数の暗号化メカニズムが有効になります。これらはオープンソース機能であり、アプリケーション固有のもので、Amazon EMR リリースによって異なる可能性があります。次のアプリケーション固有の暗号化機能は、Apache アプリケーション設定を使用して有効にすることができます。詳細については、「アプリケーションの設定」を参照してください。

Hadoop
HBase
Hive
  • HiveServer2 (HS2) との JDBC/ODBC クライアント通信は、Amazon EMR リリース 6.9.0 以降の SSL 設定を使用して暗号化されます。

  • 詳細については、Apache Hive ドキュメントの「SSL encryption」セクションを参照してください。

Spark
  • Spark コンポーネント間 (ブロック転送サービスと外部シャッフルサービスなど) での内部 RPC 通信は、Amazon EMR のバージョン 5.9.0 以降では AES-256 暗号を使用して暗号化されます。以前のリリースでは、内部 RPC 通信は SASL と、暗号として DIGEST-MD5 を使用して暗号化されます。

  • Spark 履歴サーバーや HTTPS 対応ファイルサーバーなどのユーザーインターフェイスを使用した HTTP プロトコル通信は、Spark の SSL 設定を使用して暗号化されます。詳細については、Spark ドキュメントの「SSL Configuration」を参照してください。

  • 詳細については、Apache Spark ドキュメントの「Spark security settings」セクションを参照してください。

Tez
Presto
  • Presto のノード間の内部通信は SSL/TLS を使用します (Amazon EMR バージョン 5.6.0 以降のみ)。

転送時の暗号化で使用する暗号化アーティファクトを指定するには、Amazon S3 にアップロードする証明書の圧縮ファイルを提供するか、暗号化アーティファクトを提供するカスタム Java クラスを参照するかのいずれかを行います。詳細については、「Amazon EMR 暗号化を使用して転送中のデータを暗号化するための証明書の提供」を参照してください。