EMRFS プロパティを使用した Amazon S3 暗号化の指定 - Amazon EMR

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

EMRFS プロパティを使用した Amazon S3 暗号化の指定

重要

Amazon EMRリリースバージョン 4.8.0 以降では、セキュリティ設定を使用して、より簡単かつより多くのオプションで暗号化設定を適用できます。セキュリティ設定を使用することをお勧めします。詳細については、「データ暗号化の設定」を参照してください。このセクションで説明するコンソールの手順は、リリース 4.8.0 より前のリリースバージョンで使用できます。を使用して AWS CLI クラスター設定と後続バージョンのセキュリティ設定の両方で Amazon S3 暗号化を設定する場合、セキュリティ設定はクラスター設定を上書きします。

クラスターを作成するときは、コンソールを使用するか、 SSEまたは でemrfs-site分類プロパティを使用して、Amazon S3 EMRFSのデータにサーバー側の暗号化 () またはクライアント側の暗号化 (CSE) AWS CLI EMR を指定できますSDK。Amazon S3 SSEと CSEは相互に排他的です。どちらかを選択できますが、両方を選択することはできません。

AWS CLI 手順については、以下の暗号化タイプに適したセクションを参照してください。

を使用してEMRFS暗号化オプションを指定するには AWS Management Console
  1. 新しい Amazon EMRコンソールに移動し、サイドナビゲーションから古いコンソールに切り替えるを選択します。古いコンソールに切り替えたときの動作の詳細については、「Using the old console」を参照してください。

  2. [Create cluster (クラスターの作成)]、[Go to advanced options (詳細オプションに移動する)] の順に選択します。

  3. 4.7.2 以前の [Release] を選択します。

  4. アプリケーションに合わせて [Software and Steps] の他のオプションを選択し、[Next] を選択します。

  5. アプリケーションに合わせて、[Hardware] ペインおよび [General Cluster Settings] ペインで設定を選択します。

  6. セキュリティペインの認証と暗号化 で、使用する S3 暗号化 ( を使用EMRFS) オプションを選択します。

    注記

    Amazon EMRリリースバージョン 4.4 以前を使用している場合、KMSキー管理による S3 サーバー側の暗号化 (SSE-KMS) は使用できません。

    • AWS キー管理 を使用するオプションを選択する場合は、AWS KMSキー ID を選択します。詳細については、「EMRFS 暗号化 AWS KMS keys に を使用する」を参照してください。

    • カスタムマテリアルプロバイダー による S3 クライアント側の暗号化を選択した場合は、クラス名JAR場所 を指定します。詳細については、「Amazon S3 クライアント側の暗号化」を参照してください。

  7. 必要に応じて、アプリケーションの他のオプションを選択し、[Create Cluster] を選択します。

EMRFS 暗号化 AWS KMS keys に を使用する

AWS KMS 暗号化キーは、Amazon EMRクラスターインスタンスおよび で使用される Amazon S3 バケットと同じ リージョンに作成する必要がありますEMRFS。指定したキーがクラスターの設定に使用するアカウントとは異なるアカウントにある場合は、その を使用してキーを指定する必要がありますARN。

Amazon EC2インスタンスプロファイルのロールには、指定したKMSキーを使用するためのアクセス許可が必要です。Amazon のインスタンスプロファイルのデフォルトロールは EMRですEMR_EC2_DefaultRole。インスタンスプロファイルに別のロールを使用する場合、または Amazon S3 へのEMRFSリクエストにIAMロールを使用する場合は、必要に応じて各ロールがキーユーザーとして追加されていることを確認してください。これにより、 KMSキーを使用するアクセス許可がロールに付与されます。詳細については、「 AWS Key Management Service デベロッパーガイド」の「キーポリシーの使用」およびAmazon S3へのEMRFSリクエストのIAMロールの設定」を参照してください。

を使用して AWS Management Console 、指定したキーのキーユーザーのリストにインスタンスプロファイルまたはEC2インスタンスプロファイルを追加することもKMS、 AWS CLI または AWS SDKを使用して適切なキーポリシーをアタッチすることもできます。

Amazon は対称KMSキー のみEMRをサポートしていることに注意してください。非対称KMSキーを使用して Amazon EMRクラスター内の保管中のデータを暗号化することはできません。KMS キーが対称か非対称かを判断する方法については、「対称キーと非対称KMSキーの識別」を参照してください。

次の手順では、 を使用して、デフォルトの Amazon EMRインスタンスプロファイルをキーユーザーEMR_EC2_DefaultRoleとして追加する方法について説明します AWS Management Console。KMS キーを既に作成していることを前提としています。新しいKMSキーを作成するには、「 AWS Key Management Service デベロッパーガイド」の「キーの作成」を参照してください。

Amazon のEC2インスタンスプロファイルEMRを暗号化キーユーザーのリストに追加するには
  1. にサインイン AWS Management Console し、https://console.aws.amazon.com/kms で AWS Key Management Service (AWS KMS) コンソールを開きます。

  2. を変更するには AWS リージョン、ページの右上隅にあるリージョンセレクターを使用します。

  3. 変更するKMSキーのエイリアスを選択します。

  4. [Key Users] のキーの詳細ページで、[Add] を選択します。

  5. [Add key users] ダイアログボックスで、適切なロールを選択します。デフォルトロールの名前は EMR_EC2_DefaultRole です。

  6. 追加を選択します。

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

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

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

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

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

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

を使用して SSE-S3 を有効にしたクラスターを作成するには AWS CLI
  • 次のコマンドを入力します。

    aws emr create-cluster --release-label emr-4.7.2 or earlier \ --instance-count 3 --instance-type m5.xlarge --emrfs Encryption=ServerSide

プロパティで fs.sSSE3.Encryption プロパティを true に設定することで、-S3 を有効にすることもできますemrfs-site。enableServerSide以下の SSE-KMS の例を参照し、キー ID の プロパティを省略します。

を使用して SSE- KMSが有効なクラスターを作成するには AWS CLI
注記

SSE-KMS は、Amazon EMRリリースバージョン 4.5.0 以降でのみ使用できます。

  • 次の AWS CLI コマンドを入力して、 SSE- でクラスターを作成します。ここでKMS、keyID は AWS KMS keyです。例えば、a4567b8-9900-12ab-1234-123a45678901:

    aws emr create-cluster --release-label emr-4.7.2 or earlier --instance-count 3 \ --instance-type m5.xlarge --use-default-roles \ --emrfs Encryption=ServerSide,Args=[fs.s3.serverSideEncryption.kms.keyId=keyId]

    --または--

    emrfs-site 分類を使用して次の AWS CLI コマンドを入力し、以下のmyConfig.json例のようにコンテンツを含む設定JSONファイルを指定します。

    aws emr create-cluster --release-label emr-4.7.2 or earlier --instance-count 3 --instance-type m5.xlarge --applications Name=Hadoop --configurations file://myConfig.json --use-default-roles

    myConfig.json の内容例:

    [ { "Classification":"emrfs-site", "Properties": { "fs.s3.enableServerSideEncryption": "true", "fs.s3.serverSideEncryption.kms.keyId":"a4567b8-9900-12ab-1234-123a45678901" } } ]

SSE-S3 および SSE- の設定プロパティKMS

これらのプロパティは emrfs-site 設定分類を使用して設定できます。SSE-KMS は、Amazon EMRリリースバージョン 4.5.0 以降でのみ使用できます。

プロパティ デフォルト値 説明
fs.s3.enableServerSideEncryption false

true に設定すると、Amazon S3 に保存されたオブジェクトはサーバー側の暗号化を使用して暗号化されます。キーが指定されていない場合は、SSE-S3 が使用されます。

fs.s3.serverSideEncryption.kms.keyId n/a

AWS KMS キー ID または を指定しますARN。キーが指定されている場合、 SSE-KMS が使用されます。