翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
マネージドストレージを使用した Amazon EMR on EKS ログの暗号化
以下のセクションでは、 ログの暗号化を設定する方法を示します。
Enable encryption
独自の KMS キーを使用してマネージドストレージのログを暗号化するには、ジョブ実行を送信するときに次の設定を使用します。
"monitoringConfiguration": { "managedLogs": { "allowAWSToRetainLogs":"ENABLED", "encryptionKeyArn":"
KMS key arn
" }, "persistentAppUI": "ENABLED" }
allowAWSToRetainLogs
この設定により、 AWS はネイティブ FGAC を使用してジョブを実行するときにシステム名前空間ログを保持できます。persistentAppUI
この設定により AWS 、 は Spark UI の生成に使用されるイベントログを保存できます。encryptionKeyArn
は、 によって保存されるログの暗号化に使用する KMS キー ARN を指定するために使用されます AWS。
ログ暗号化に必要なアクセス許可
ジョブを送信するか、Spark UI を表示するユーザーは、暗号化キーkms:Decrypt
のアクション kms:DescribeKey
、kms:GenerateDataKey
、および を許可される必要があります。これらのアクセス許可は、キーの有効性を検証し、KMS キーで暗号化されたログの読み取りと書き込みに必要なアクセス許可がユーザーに付与されていることを確認するために使用されます。ジョブを送信するユーザーに必要なキーアクセス許可がない場合、Amazon EMR on EKS はジョブ実行の送信を拒否します。
StartJobRun の呼び出しに使用されるロールの IAM ポリシーの例
{ "Version": "2012-10-17", "Statement": [ { "Action": "emr-containers:StartJobRun", "Resource": "*", "Effect": "Allow" }, { "Action": [ "kms:DescribeKey", "kms:Decrypt", "kms:GenerateDataKey" ], "Resource": "
KMS key ARN
", "Effect": "Allow" } ] }
また、 persistentappui.elasticmapreduce.amazonaws.com
および elasticmapreduce.amazonaws.com
サービスプリンシパルに kms:GenerateDataKey
および を許可するように KMS キーを設定する必要がありますkms:Decrypt
。これにより、EMR は KMS キーで暗号化されたログをマネージドストレージに読み書きできます。
KMS キーポリシーの例
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "AWS": "
IAM role ARN used to call StartJobRun
" }, "Action": "kms:DescribeKey", "Resource": "*", "Condition": { "StringLike": { "kms:viaService": "emr-containers.region
.amazonaws.com" } } }, { "Effect": "Allow", "Principal": { "AWS": "IAM role ARN used to call StartJobRun
" }, "Action": [ "kms:Decrypt", "kms:GenerateDataKey" ], "Resource": "*", "Condition": { "StringLike": { "kms:viaService": "emr-containers.region
.amazonaws.com", "kms:EncryptionContext:aws:emr-containers:virtualClusterId": "virtual cluster id
" } } }, { "Effect": "Allow", "Principal": { "Service": [ "persistentappui.elasticmapreduce.amazonaws.com", "elasticmapreduce.amazonaws.com" ] }, "Action": [ "kms:Decrypt", "kms:GenerateDataKey" ], "Resource": "*", "Condition": { "StringLike": { "kms:EncryptionContext:aws:emr-containers:virtualClusterId": "virtual cluster id
", "aws:SourceArn": "virtual cluster ARN
" } } } ] }
セキュリティのベストプラクティスとして、kms:viaService
、kms:EncryptionContext
、および aws:SourceArn
条件を追加することをお勧めします。これらの条件は、キーが Amazon EMR on EKS によってのみ使用され、特定の仮想クラスターで実行されているジョブから生成されたログにのみ使用されるようにするのに役立ちます。