暗号化オプション - Amazon EMR

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

暗号化オプション

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

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

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

注記

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

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

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

Amazon S3 での EMRFS データの保存時の暗号化

Amazon S3 暗号化は、Amazon S3 への読み取りおよび書き込みを行う EMR ファイルシステム (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 つの異なるキー管理システムから選択できます。

Amazon EMR では、お客様が用意したキー (SSE-C) を使用することはできません。

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

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

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

注記

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

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

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

EBS ボリュームの暗号化

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

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

注記

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

転送時の暗号化

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

  • Hadoop (詳細については、「」を参照してください。セキュアモードの Hadoop):

  • HBase:

  • Presto:

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

  • Tez:

  • Spark (詳細については、Spark のセキュリティ設定を参照してください)。

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

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

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