

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
<a name="column-stats-prereqs"></a>

Pour générer ou mettre à jour les statistiques de colonne, la tâche de génération de statistiques assume un rôle (IAM) Gestion des identités et des accès AWS 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 la génération de statistiques de colonne, assurez-vous qu’il inclut la politique `AWSGlueServiceRole` ou un équivalent (ou une version limitée de cette politique), en plus des politiques en ligne requises. Pour créer un rôle IAM, procédez comme suit :

**Note**  
 Pour générer des statistiques pour les tables gérées par Lake Formation, le rôle IAM utilisé pour générer des statistiques nécessite un accès complet à la table. 

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, et ajouter ce rôle à la tâche de génération de statistiques de colonne.

**Pour créer un rôle IAM pour générer des statistiques de colonne**

1. Pour créer un rôle IAM, consultez [Création d'un rôle IAM pour AWS Glue](https://docs.aws.amazon.com/glue/latest/dg/create-an-iam-role.html).

1. Pour mettre à jour un rôle existant, dans la console IAM, accédez au rôle IAM utilisé par le processus de génération de statistiques de colonne.

1. 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.

1. 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.

1. Sur la page **Créer une stratégie**, choisissez l’onglet **JSON**. 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 et `bucket-name` par le nom du compartiment Amazon S3.

------
#### [ JSON ]

****  

   ```
   {
       "Version":"2012-10-17",		 	 	 
       "Statement": [
           {
               "Sid": "S3BucketAccess",
               "Effect": "Allow",
               "Action": [
                   "s3:ListBucket",
                   "s3:GetObject"
               ],
               "Resource": [
               	"arn:aws:s3:::amzn-s3-demo-bucket/*",
   							"arn:aws:s3:::amzn-s3-demo-bucket"
               ]
           }
        ]
   }
   ```

------

1. (Facultatif) Si vous utilisez les autorisations Lake Formation pour accéder à vos données, le rôle IAM nécessite des autorisations `lakeformation:GetDataAccess`.

------
#### [ JSON ]

****  

   ```
   {
     "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 rôle IAM assumé par la tâche de génération de statistiques de colonne ne dispose pas d’autorisations de groupe `IAM_ALLOWED_PRINCIPALS` accordées sur la table, le rôle nécessite Lake Formation `ALTER` et des autorisations `DESCRIBE` sur la table. Le rôle utilisé pour enregistrer le compartiment Amazon S3 nécessite Lake Formation `INSERT` et des autorisations `DELETE` sur la table. 

   Si l’emplacement des données Amazon S3 n’est pas enregistré auprès de Lake Formation et que le rôle IAM ne dispose pas d’autorisations de groupe `IAM_ALLOWED_PRINCIPALS` accordées sur la table, le rôle nécessite les autorisations Lake Formation `ALTER`, `DESCRIBE`, `INSERT` et `DELETE` sur la table. 

1. Si vous avez activé l’option `Automatic statistics generation` au niveau du catalogue, le rôle IAM doit disposer de l’autorisation `glue:UpdateCatalog` ou de l’autorisation `ALTER CATALOG` Lake Formation sur le catalogue de données par défaut. Vous pouvez utiliser l’opération `GetCatalog` pour vérifier les propriétés du catalogue. 

1. (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é.

------
#### [ JSON ]

****  

   ```
   {
     "Version":"2012-10-17",		 	 	 
     "Statement": [
       {
         "Sid": "CWLogsKmsPermissions",
         "Effect": "Allow",
         "Action": [
           "logs:CreateLogGroup",
           "logs:CreateLogStream",
           "logs:PutLogEvents",
           "logs:AssociateKmsKey"
         ],
         "Resource": [
           "arn:aws:logs:us-east-1:111122223333:log-group:/aws-glue:*"
         ]
       },
       {
         "Sid": "KmsPermissions",
         "Effect": "Allow",
         "Action": [
           "kms:GenerateDataKey",
           "kms:Decrypt",
           "kms:Encrypt"
         ],
         "Resource": [
           "arn:aws:kms:us-east-1:111122223333:key/arn of key used for ETL cloudwatch encryption"
         ],
         "Condition": {
           "StringEquals": {
             "kms:ViaService": [
               "glue.us-east-1.amazonaws.com"
             ]
           }
         }
       }
     ]
   }
   ```

------

1. Le rôle que vous utilisez pour exécuter les statistiques de colonne doit disposer de l’autorisation `iam:PassRole` correspondante.

------
#### [ JSON ]

****  

   ```
   {
     "Version":"2012-10-17",		 	 	 
     "Statement": [
       {
         "Effect": "Allow",
         "Action": [
           "iam:PassRole"
         ],
         "Resource": [
           "arn:aws:iam::111122223333:role/columnstats-role-name"
         ]
       }
     ]
   }
   ```

------

1. Lorsque vous créez un rôle IAM pour générer des statistiques de colonne, ce rôle doit également avoir la stratégie d’approbation suivante qui permet au service d’assumer le rôle. 

------
#### [ JSON ]

****  

   ```
   {
     "Version":"2012-10-17",		 	 	 
     "Statement": [
       {
         "Sid": "TrustPolicy",
         "Effect": "Allow",
         "Principal": {
           "Service": "glue.amazonaws.com"
         },
         "Action": "sts:AssumeRole"
       }
     ]
   }
   ```

------