翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
機密設定データを AWS Secrets Managerに保存する
Amazon は、カスタム設定データ ( や などListInstanceGroups
) を出力するAPIオペレーションをプレーンテキストでEMR記述DescribeCluster
および一覧表示します。Amazon は とEMR統合 AWS Secrets Manager されているため、データを Secrets Manager に保存し、設定ARNでシークレットを使用できます。これにより、機密性の高い設定データをプレーンテキストEMRで Amazon に渡し、外部 に公開することはありませんAPIs。キーと値のペアに Secrets Manager に保存されているシークレットARNの が含まれていることを示すと、Amazon は設定データをクラスターに送信するときにこのシークレットEMRを取得します。Amazon EMRは、外部 を使用して設定を表示する場合APIs、注釈を送信しません。
シークレットを作成する
シークレットを作成するには、「AWS Secrets Manager ユーザーガイド」の「AWS Secrets Manager シークレットを作成する」の手順に従います。ステップ 3 では、[プレーンテキスト] フィールドを選択して機密値を入力する必要があります。
Secrets Manager ではシークレットに最大 65536 バイトを含めることができますが、Amazon はプロパティキー ( 注釈を除く) と取得されたシークレット値の合計長を 1024 文字EMRに制限します。
Amazon にシークレットを取得するためのEMRアクセス権を付与する
Amazon EMR は、 IAMサービスロールを使用してクラスターをプロビジョニングおよび管理します。Amazon のサービスロールは、リソースをプロビジョニングし、クラスター内で実行されている Amazon EC2インスタンスのコンテキストで実行されないサービスレベルのタスクを実行するEMRときに、Amazon で許可されるアクションEMRを定義します。サービスロールの詳細については、「Amazon のサービスロール EMR (EMR ロール)」および「ロールのカスタマイズIAM」を参照してください。
Amazon が Secrets Manager からシークレット値EMRを取得できるようにするには、クラスターの起動時に次のポリシーステートメントを Amazon EMRロールに追加します。
{ "Sid":"AllowSecretsRetrieval", "Effect":"Allow", "Action":"secretsmanager:GetSecretValue", "Resource":[ "arn:aws:secretsmanager:
<region>
:<aws-account-id>
:secret:<secret-name>
" ] }
カスタマー管理の でシークレットを作成する場合は AWS KMS key、使用するキーの Amazon EMRロールにもkms:Decrypt
アクセス許可を追加する必要があります。詳細については、AWS Secrets Manager ユーザーガイドの「AWS Secrets Managerに対する認証とアクセスコントロール」を参照してください。
シークレットを設定分類で使用する
任意の設定プロパティにEMR.secret@
注釈を追加して、そのキーと値のペアに Secrets Manager に保存されているシークレットARNの が含まれていることを示すことができます。
次の例は、設定分類ARNでシークレットを指定する方法を示しています。
{ "Classification":"core-site", "Properties":{ "presto.s3.access-key":"
<sensitive-access-key>
", "EMR.secret@presto.s3.secret-key":"arn:aws:secretsmanager:<region>
:<aws-account-id>
:secret:<secret-name>
" } }
クラスターを作成して注釈付き設定を送信すると、Amazon は設定プロパティEMRを検証します。設定が有効な場合、Amazon は設定からアノテーションEMRを削除し、Secrets Manager からシークレットを取得して実際の設定を作成してから、クラスターに適用します。
{ "Classification":"core-site", "Properties":{ "presto.s3.access-key":"
<sensitive-access-key>
", "presto.s3.secret-key":"<my-secret-key-retrieved-from-Secrets-Manager>
" } }
などのアクションを呼び出すとDescribeCluster
、Amazon はクラスターの現在のアプリケーション設定EMRを返します。アプリケーション設定プロパティがシークレット を含むとマークされている場合ARN、DescribeCluster
呼び出しによって返されるアプリケーション設定にはシークレット値ではなく ARN が含まれます。これにより、クラスター上でのみシークレット値を目視できるようになります。
{ "Classification":"core-site", "Properties":{ "presto.s3.access-key":"
<sensitive-access-key>
", "presto.s3.secret-key":"arn:aws:secretsmanager:<region>
:<aws-account-id>
:secret:<secret-name>
" } }
シークレット値を更新する
Amazon は、アタッチされたインスタンスグループが起動、再設定、またはサイズ変更されるたびに、注釈付き設定からシークレット値EMRを取得します。稼働中のクラスターの設定で使用するシークレット値は、Secrets Manager を使用すると変更できます。その場合、更新済みの値を受け取りたい各インスタンスグループに、再設定リクエストを送信できます。インスタンスグループを再設定する方法と、その際に考慮すべき点の詳細については、「実行中のクラスター内のインスタンスグループの再設定」を参照してください。