Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.
Les sections suivantes expliquent comment configurer le chiffrement des journaux.
Activer le chiffrement
Pour chiffrer les journaux du stockage géré à l'aide de votre propre clé KMS, utilisez la configuration suivante lorsque vous soumettez une exécution de tâche.
"monitoringConfiguration": { "managedLogs": { "allowAWSToRetainLogs":"ENABLED", "encryptionKeyArn":"
KMS key arn
" }, "persistentAppUI": "ENABLED" }
La allowAWSToRetainLogs
configuration permet de AWS conserver les journaux des espaces de noms du système lors de l'exécution d'une tâche à l'aide du FGAC natif. La persistentAppUI
configuration permet AWS de sauvegarder les journaux d'événements qui sont utilisés pour générer l'interface utilisateur de Spark. Le encryptionKeyArn
est utilisé pour spécifier l'ARN de la clé KMS que vous souhaitez utiliser pour chiffrer les journaux stockés par AWS.
Autorisations requises pour le chiffrement des journaux
L'utilisateur qui soumet la tâche ou consulte l'interface utilisateur de Spark doit être autorisé à effectuer kms:DescribeKey
les kms:GenerateDataKey
actions et kms:Decrypt
à obtenir la clé de chiffrement. Ces autorisations sont utilisées pour vérifier la validité de la clé et vérifier que l'utilisateur dispose des autorisations nécessaires pour lire et écrire des journaux chiffrés avec la clé KMS. Si l'utilisateur qui soumet la tâche ne dispose pas des autorisations clés nécessaires, Amazon EMR sur EKS rejette la soumission de l'exécution de la tâche.
Exemple de politique IAM pour le rôle utilisé pour appeler StartJobRun
{ "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" } ] }
Vous devez également configurer la clé KMS pour autoriser les persistentappui.elasticmapreduce.amazonaws.com
et les principaux elasticmapreduce.amazonaws.com
de service à accéder à kms:GenerateDataKey
etkms:Decrypt
. Cela permet à EMR de lire et d'écrire des journaux chiffrés à l'aide de la clé KMS pour accéder au stockage géré.
Exemple de politique clé 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
" } } } ] }
Pour des raisons de sécurité, nous vous recommandons d'ajouter les aws:SourceArn
conditions kms:viaService
kms:EncryptionContext
, et. Ces conditions permettent de garantir que la clé est uniquement utilisée par Amazon EMR sur EKS et uniquement utilisée pour les journaux générés par des tâches exécutées dans un cluster virtuel spécifique.