Configuration du chiffrement dans AWS Glue - AWS Glue

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.

Configuration du chiffrement dans AWS Glue

L'exemple suivant de flux de travail met en évidence les options à configurer lorsque vous utilisez le chiffrement avec AWS Glue. L'exemple illustre l'utilisation de clés spécifiques AWS Key Management Service (AWS KMS), mais vous pouvez choisir d'autres paramètres en fonction de vos besoins spécifiques. Ce flux de travail met en évidence uniquement les options liées au chiffrement lors de la configuration d'AWS Glue.

  1. Si l'utilisateur de la console AWS Glue n'utilise pas une stratégie d'autorisation autorisant toutes les opérations d'API AWS Glue (par exemple, "glue:*"), vérifiez que les actions suivantes sont permises :

    • "glue:GetDataCatalogEncryptionSettings"

    • "glue:PutDataCatalogEncryptionSettings"

    • "glue:CreateSecurityConfiguration"

    • "glue:GetSecurityConfiguration"

    • "glue:GetSecurityConfigurations"

    • "glue:DeleteSecurityConfiguration"

  2. Tout client qui accède ou écrit à un catalogue chiffré, c'est-à-dire, tout utilisateur de console, crawler, tâche ou point de terminaison de développement, nécessite les autorisations suivantes.

    { "Version": "2012-10-17", "Statement": { "Effect": "Allow", "Action": [ "kms:GenerateDataKey", "kms:Decrypt", "kms:Encrypt" ], "Resource": "<key-arns-used-for-data-catalog>" } }
  3. Tout utilisateur ou rôle qui accède à un mot de passe de connexion chiffré nécessite les autorisations suivantes.

    { "Version": "2012-10-17", "Statement": { "Effect": "Allow", "Action": [ "kms:Decrypt" ], "Resource": "<key-arns-used-for-password-encryption>" } }
  4. Le rôle de toute tâche Extract-transform-load (ETL) qui écrit des données chiffrées sur Amazon S3 a besoin des autorisations suivantes.

    { "Version": "2012-10-17", "Statement": { "Effect": "Allow", "Action": [ "kms:Decrypt", "kms:Encrypt", "kms:GenerateDataKey" ], "Resource": "<key-arns-used-for-s3>" } }
  5. Toute tâche ETL ou tout crawler qui écrit des Amazon CloudWatch Logs chiffrés nécessite les autorisations suivantes dans les politiques de clé et IAM.

    Dans la stratégie de clé (et non la politique IAM) :

    { "Effect": "Allow", "Principal": { "Service": "logs.region.amazonaws.com" }, "Action": [ "kms:Encrypt*", "kms:Decrypt*", "kms:ReEncrypt*", "kms:GenerateDataKey*", "kms:Describe*" ], "Resource": "<arn of key used for ETL/crawler cloudwatch encryption>" }

    Pour de plus amples informations sur les stratégies de clé, veuillez consulter la section Utilisation de stratégies de clé dans AWS KMS du Guide du développeur AWS Key Management Service.

    Dans la politique IAM, attachez l'autorisation logs:AssociateKmsKey :

    { "Effect": "Allow", "Principal": { "Service": "logs.region.amazonaws.com" }, "Action": [ "logs:AssociateKmsKey" ], "Resource": "<arn of key used for ETL/crawler cloudwatch encryption>" }
  6. Toute tâche ETL qui utilise un signet de tâche chiffré a besoin des autorisations suivantes.

    { "Version": "2012-10-17", "Statement": { "Effect": "Allow", "Action": [ "kms:Decrypt", "kms:Encrypt" ], "Resource": "<key-arns-used-for-job-bookmark-encryption>" } }
  7. Dans la console AWS Glue, choisissez Paramètres dans le volet de navigation.

    1. Sur la page Data catalog settings (Paramètres du catalogue de données), chiffrez votre catalogue de données en sélectionnant Metadata encryption (Chiffrement des métadonnées). Cette option chiffre tous les objets du catalogue de données avec la clé AWS KMS que vous choisissez.

    2. Pour Clé AWS KMS, choisissez aws/glue. Vous pouvez également choisir une clé AWS KMS que vous avez créée.

    Important

    AWS Glue ne prend en charge que les clés principales client (CMK) symétriques. La liste de AWS KMS key (clé KMS) n'affiche que des clés symétriques. Toutefois, si vous sélectionnez Choose a AWS KMS key ARN (Choisissez un ARN de clé KMS), la console vous permet d'entrer un ARN pour n'importe quel type de clé. Assurez-vous de saisir uniquement les ARN pour les clés symétriques.

    Lorsque le chiffrement est activé, le client qui accède au catalogue de données doit avoir les autorisations AWS KMS.

  8. Dans le volet de navigation, choisissez Security configurations (Configurations de sécurité). Une configuration de sécurité est un ensemble de propriétés de sécurité pouvant être utilisées pour configurer les processus AWS Glue. Ensuite, choisissez Ajouter une configuration de sécurité. Dans la configuration, choisissez l'une des options suivantes :

    1. Sélectionnez S3 encryption (Chiffrement S3). Pour Mode de chiffrement, choisissez SSE-KMS. Pour la Clé AWS KMS, choisissez aws/s3 (assurez-vous que l'utilisateur a l'autorisation d'utiliser cette clé). Cela permet aux données écrites par la tâche sur Amazon S3 d'utiliser la clé AWS Glue AWS KMS gérée par AWS.

    2. Sélectionnez CloudWatch logs encryption (Chiffrement des journaux CloudWatch), puis choisissez une clé CMK. (Assurez-vous que l'utilisateur a l'autorisation d'utiliser cette clé). Pour de plus amples informations, veuillez consulter Chiffrement des données de journal dans CloudWatch Logs avec AWS KMS dans le Guide du développeur AWS Key Management Service.

      Important

      AWS Glue ne prend en charge que les clés principales client (CMK) symétriques. La liste de AWS KMS key (clé KMS) n'affiche que des clés symétriques. Toutefois, si vous sélectionnez Choose a AWS KMS key ARN (Choisissez un ARN de clé KMS), la console vous permet d'entrer un ARN pour n'importe quel type de clé. Assurez-vous de saisir uniquement les ARN pour les clés symétriques.

    3. Choisissez Advanced properties (Propriétés avancées) et sélectionnez Job bookmark encryption (Chiffrement de signet de tâche). Pour la Clé AWS KMS, choisissez aws/glue (assurez-vous que l'utilisateur a l'autorisation d'utiliser cette clé). Cela permet le chiffrement des signets de tâche écrits sur Amazon S3 avec la clé AWS Glue AWS KMS.

  9. Dans le volet de navigation, choisissez Connections (Connexions ).

    1. Choisissez Ajouter une connexion pour créer une connexion avec le magasin de données Java Database Connectivity (JDBC) qui est la cible de votre tâche ETL.

    2. Pour appliquer le chiffrement Secure Sockets Layer (SSL), sélectionnez Require SSL connection (Connexion SSL obligatoire) et testez votre connexion.

  10. Dans le volet de navigation, sélectionnez Tâches.

    1. Choisissez Ajouter une tâche pour créer une tâche qui transforme les données.

    2. Dans la définition de tâche, choisissez la configuration de sécurité que vous avez créée.

  11. Sur la console AWS Glue, exécutez votre travail à la demande. Vérifiez que toutes les données Amazon S3 écrites par la tâche, les CloudWatch Logs écrits par la tâche et les signets de la tâche sont chiffrés.