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.
Conditions préalables à la génération de statistiques de colonne
Pour générer ou mettre à jour les statistiques des colonnes, la tâche de génération de statistiques assume un rôle AWS Identity and Access Management (IAM) en votre nom. Sur la base des autorisations accordées au rôle, la tâche de génération de statistiques de colonne peut lire les données à partir du magasin de données Amazon S3.
Lorsque vous configurez la tâche de génération de statistiques de AWS Glue colonne, vous pouvez créer un rôle qui inclut la politique AWSGlueServiceRole
AWS gérée ainsi que la politique en ligne requise pour la source de données spécifiée.
Si vous spécifiez un rôle existant pour générer des statistiques de colonne, assurez-vous qu'il inclut la AWSGlueServiceRole
politique ou un équivalent (ou une version réduite de cette politique), ainsi que les politiques intégrées requises. Pour créer un nouveau IAM rôle, procédez comme suit :
Note
Pour générer des statistiques pour les tables gérées par Lake Formation, le IAM rôle utilisé pour générer des statistiques nécessite un accès complet aux tables.
Lorsque vous configurez la tâche de génération de statistiques de AWS Glue colonne, vous pouvez créer un rôle qui inclut la politique AWSGlueServiceRole
AWS gérée ainsi que la politique en ligne requise pour la source de données spécifiée. Vous pouvez également créer un rôle et associer les autorisations répertoriées dans la politique ci-dessous, puis ajouter ce rôle à la tâche de génération des statistiques de colonne.
Pour créer un IAM rôle afin de générer des statistiques de colonne
-
Pour créer un IAM rôle, voir Créer un IAM rôle pour AWS Glue.
-
Pour mettre à jour un rôle existant, dans la IAM console, accédez au IAM rôle utilisé par le processus de génération de statistiques de colonnes.
-
Dans la section Ajouter des autorisations, choisissez Attacher des stratégies. Dans la fenêtre du navigateur qui vient d'être ouverte, choisissez la politique
AWSGlueServiceRole
AWS gérée. -
Vous devez également inclure les autorisations pour lire les données à partir de l'emplacement de données Amazon S3.
Dans la section Ajouter des autorisations, choisissez Créer une stratégie. Dans la fenêtre du navigateur nouvellement ouverte, créez une nouvelle stratégie à utiliser avec votre rôle.
-
Sur la page Créer une politique, choisissez l'JSONonglet. Copiez le code
JSON
suivant dans le champ de l'éditeur de stratégie.Note
Dans les politiques suivantes, remplacez l'ID de compte par un identifiant valide Compte AWS, puis
region
remplacez-le par la région du tableau etbucket-name
par le nom du compartiment Amazon S3.{ "Version": "2012-10-17", "Statement": [ { "Sid": "S3BucketAccess", "Effect": "Allow", "Action": [ "s3:ListBucket", "s3:GetObject" ], "Resource": [ "arn:aws:s3:::
<bucket-name>
/*", "arn:aws:s3:::<bucket-name>
" ] } ] } (Facultatif) Si vous utilisez les autorisations de Lake Formation pour accéder à vos données, le IAM rôle nécessite
lakeformation:GetDataAccess
des autorisations.{ "Version": "2012-10-17", "Statement": [ { "Sid": "LakeFormationDataAccess", "Effect": "Allow", "Action": "lakeformation:GetDataAccess", "Resource": [ "*" ] } ] }
Si l'emplacement des données Amazon S3 est enregistré auprès de Lake Formation et que le IAM rôle assumé par la tâche de génération de statistiques de colonnes ne dispose pas d'autorisations de
IAM_ALLOWED_PRINCIPALS
groupe accordées sur la table, le rôle nécessite Lake FormationALTER
etDESCRIBE
des autorisations sur la table. Le rôle utilisé pour enregistrer le compartiment Amazon S3 nécessite Lake FormationINSERT
et des autorisationsDELETE
sur la table.Si l'emplacement des données Amazon S3 n'est pas enregistré auprès de Lake Formation et que le IAM rôle ne dispose pas d'autorisations de
IAM_ALLOWED_PRINCIPALS
groupe accordées sur la table, le rôle nécessite Lake FormationALTER
INSERT
etDELETE
des autorisations sur la table.DESCRIBE
-
(Facultatif) La tâche de génération de statistiques de colonne qui écrit Amazon CloudWatch Logs chiffré nécessite les autorisations suivantes dans la stratégie de clé.
{ "Version": "2012-10-17", "Statement": [{ "Sid": "CWLogsKmsPermissions", "Effect": "Allow", "Action": [ "logs:CreateLogGroup", "logs:CreateLogStream", "logs:PutLogEvents", "logs:AssociateKmsKey" ], "Resource": [ "arn:aws:logs:
<region>
:111122223333
:log-group:/aws-glue:*" ] }, { "Sid": "KmsPermissions", "Effect": "Allow", "Action": [ "kms:GenerateDataKey", "kms:Decrypt", "kms:Encrypt" ], "Resource": [ "arn:aws:kms:<region>
:111122223333
:key/"arn of key used for ETL cloudwatch encryption
" ], "Condition": { "StringEquals": { "kms:ViaService": ["glue.<region>
.amazonaws.com"] } } } ] } -
Le rôle que vous utilisez pour exécuter les statistiques des colonnes doit disposer de l'
iam:PassRole
autorisation requise pour ce rôle.{ "Version": "2012-10-17", "Statement": [{ "Effect": "Allow", "Action": [ "iam:PassRole" ], "Resource": [ "arn:aws:iam::
111122223333
:role/<columnstats-role-name>
" ] }] } -
Lorsque vous créez un IAM rôle pour générer des statistiques de colonne, ce rôle doit également respecter la politique de confiance suivante qui permet au service d'assumer ce rôle.
{ "Version": "2012-10-17", "Statement": [ { "Sid": "TrustPolicy", "Effect": "Allow", "Principal": { "Service": "glue.amazonaws.com" }, "Action": "sts:AssumeRole", } ] }