

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.

# Utilisation de politiques IAM pour contrôler l’accès aux groupes de travail.
<a name="workgroups-iam-policy"></a>

Pour contrôler l'accès aux groupes de travail, utilisez des autorisations IAM au niveau des ressources ou des politiques IAM basées sur l'identité. Chaque fois que vous utilisez des politiques IAM, veillez à respecter les bonnes pratiques IAM. Pour plus d'informations, consultez la rubrique [Bonnes pratiques IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/best-practices.html) du *Guide de l'utilisateur IAM*.

**Note**  
Pour accéder aux groupes de travail compatibles avec la propagation d'identités fiables, les utilisateurs d'IAM Identity Center doivent être affectés à `IdentityCenterApplicationArn` ce qui est renvoyé par la réponse de l'action de l'API [GetWorkGroup](https://docs.aws.amazon.com/athena/latest/APIReference/API_GetWorkGroup.html)Athena.

La procédure suivante est spécifique à Athena. 

Pour des informations spécifiques à IAM, consultez les liens répertoriés à la fin de cette section. Pour obtenir des informations sur les exemples de politiques de groupes de travail JSON, consultez [Exemple de politiques de groupe de travail](example-policies-workgroup.md).

**Utilisation de l'éditeur visuel de la console IAM pour créer une politique de groupe de travail**

1. Connectez-vous à la console IAM AWS Management Console et ouvrez-la à [https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/)l'adresse.

1. Dans le panneau de navigation à gauche, choisissez **politiques**, puis **Créer une politique**.

1. Dans l'onglet **Visual editor** (Éditeur visuel), sélectionnez **Choose a service** (Choisir un service). Choisissez ensuite Athena pour l'ajouter à la politique.

1. Choisissez **Sélectionner des actions**, puis choisissez les actions à ajouter à la politique. L'éditeur visuel affiche les actions disponibles dans Athena. Pour plus d'informations, consultez la rubrique [Actions, ressources et clés de condition pour Amazon Athena](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazonathena.html) dans la section *Référence de l'autorisation de service*.

1. Choisissez **Add actions** (Ajouter des actions) pour entrer une action spécifique ou utilisez des caractères génériques (\$1) pour spécifier plusieurs actions. 

   Par défaut, la politique que vous créez autorise les actions que vous choisissez. Si vous avez choisi une ou plusieurs actions qui prennent en charge les autorisations au niveau des ressources pour la ressource `workgroup` dans Athena, l'éditeur visuel affiche la ressource `workgroup`. 

1. Choisissez **Ressources** pour spécifier les groupes de travail spécifiques à votre politique. Pour des exemples de politiques de groupe de travail JSON, consultez [Exemple de politiques de groupe de travail](example-policies-workgroup.md).

1. Spécifiez la ressource du `workgroup` comme suit :

   ```
   arn:aws:athena:<region>:<user-account>:workgroup/<workgroup-name>
   ```

1. Choisissez **Review policy** (Examiner une politique), puis saisissez un **Name** (Nom) et une **Description** (facultatif) pour la politique que vous êtes en train de créer. Passez en revue le résumé de politique afin de vous assurer que les autorisations nécessaires vous ont été accordées. 

1. Choisissez **Create policy** (Créer une politique) pour enregistrer votre nouvelle politique.

1. Attachez cette politique basée sur l'identité à un utilisateur, un groupe ou un rôle.

Pour plus d'informations, consultez les rubriques suivantes dans la *Référence de l'autorisation de service* et le *Guide de l'utilisateur IAM* :
+  [Actions, ressources et clés de condition pour Amazon Athena](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazonathena.html) 
+  [Création de politiques avec l'éditeur visuel](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_create.html#access_policies_create-visual-editor) 
+  [Ajout et suppression de politiques IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_manage-attach-detach.html) 
+  [Contrôle de l'accès aux ressources](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_controlling.html#access_controlling-resources) 

Pour des exemples de politiques de groupe de travail JSON, consultez [Exemple de politiques de groupe de travail](example-policies-workgroup.md).

Pour obtenir une liste complète d'actions Amazon Athena, consultez les noms d'action d'API dans la [Référence d'API Amazon Athena](https://docs.aws.amazon.com/athena/latest/APIReference/). 

# Exemple de politiques de groupe de travail
<a name="example-policies-workgroup"></a>

Cette section inclut des exemples de politiques que vous pouvez utiliser pour activer plusieurs actions sur des groupes de travail. Chaque fois que vous utilisez des politiques IAM, veillez à respecter les bonnes pratiques IAM. Pour plus d'informations, consultez la rubrique [Bonnes pratiques IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/best-practices.html) du *Guide de l'utilisateur IAM*.

Un groupe de travail est une ressource IAM gérée par Athena. Ainsi, si la politique de votre groupe de travail utilise des actions prenant `workgroup` comme entrée, vous devez préciser l'ARN du groupe de travail comme suit :

```
"Resource": [arn:aws:athena:<region>:<user-account>:workgroup/<workgroup-name>]
```

Où `<workgroup-name>` est le nom de votre groupe de travail. Par exemple, pour le groupe de travail nommé `test_workgroup`, spécifiez-le en tant que ressource comme suit :

```
"Resource": ["arn:aws:athena:us-east-1:123456789012:workgroup/test_workgroup"]
```

Pour obtenir une liste complète d'actions Amazon Athena, consultez les noms d'action API dans la rubrique [Référence d'API Amazon Athena](https://docs.aws.amazon.com/athena/latest/APIReference/). Pour plus d'informations sur les politiques IAM, consultez la rubrique [Création de politiques avec l'éditeur visuel](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_create.html#access_policies_create-visual-editor) du *Guide de l'utilisateur IAM*. Pour plus d'informations sur la création de politiques IAM pour les groupes de travail, voir [Utilisation de politiques IAM pour contrôler l’accès aux groupes de travail.](workgroups-iam-policy.md).
+  [Example policy for full access to all workgroups](#example1-full-access-all-wkgs) 
+  [Example policy for full access to a specified workgroup](#example2-full-access-this-wkg) 
+  [Example policy for running queries in a specified workgroup](#example3-user-access) 
+  [Example policy for running queries in the primary workgroup](#example4-run-in-primary-access) 
+  [Example policy for management operations on a specified workgroup](#example5-manage-wkgs-access) 
+  [Example policy for listing workgroups](#example6-list-all-wkgs-access) 
+  [Example policy for running and stopping queries in a specific workgroup](#example7-run-queries-access) 
+  [Example policy for working with named queries in a specific workgroup](#example8-named-queries-access) 
+  [Example policy for working with Spark notebooks](#example9-spark-workgroup) 

**Example Exemple de politique pour un accès complet à tous les groupes de travail**  
La politique suivante permet un accès complet à toutes les ressources de groupes de travail susceptibles d'exister dans le compte. Nous vous recommandons d'utiliser cette politique pour ces utilisateurs dans votre compte qui doivent administrer et gérer les groupes de travail pour tous les autres utilisateurs.    
****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "athena:*"
            ],
            "Resource": [
                "*"
            ]
        }
    ]
}
```

**Example Exemple de politique pour un accès complet à un groupe de travail spécifié**  
La politique suivante autorise un accès complet à une seule ressource de groupe de travail spécifique nommée `workgroupA`. Vous pouvez utiliser cette politique pour les utilisateurs ayant un contrôle total sur un groupe de travail en particulier.    
****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "athena:ListEngineVersions",
                "athena:ListWorkGroups",
                "athena:ListDataCatalogs",
                "athena:ListDatabases",
                "athena:GetDatabase",
                "athena:ListTableMetadata",
                "athena:GetTableMetadata"
            ],
            "Resource": "*"
        },
        {
            "Effect": "Allow",
            "Action": [
                "athena:BatchGetQueryExecution",
                "athena:GetQueryExecution",
                "athena:ListQueryExecutions",
                "athena:StartQueryExecution",
                "athena:StopQueryExecution",
                "athena:GetQueryResults",
                "athena:GetQueryResultsStream",
                "athena:CreateNamedQuery",
                "athena:GetNamedQuery",
                "athena:BatchGetNamedQuery",
                "athena:ListNamedQueries",
                "athena:DeleteNamedQuery",
                "athena:CreatePreparedStatement",
                "athena:GetPreparedStatement",
                "athena:ListPreparedStatements",
                "athena:UpdatePreparedStatement",
                "athena:DeletePreparedStatement"
            ],
            "Resource": [
                "arn:aws:athena:us-east-1:123456789012:workgroup/workgroupA"
            ]
        },
        {
            "Effect": "Allow",
            "Action": [
                "athena:DeleteWorkGroup",
                "athena:UpdateWorkGroup",
                "athena:GetWorkGroup",
                "athena:CreateWorkGroup"
            ],
            "Resource": [
                "arn:aws:athena:us-east-1:123456789012:workgroup/workgroupA"
            ]
        }
    ]
}
```

**Example Exemple de politique pour des requêtes en cours d'exécution dans un groupe de travail spécifié**  
Dans la politique suivante, un utilisateur est autorisé à exécuter des requêtes dans le `workgroupA` spécifié, et de les afficher. L'utilisateur n'est pas autorisé à effectuer des tâches de gestion pour le groupe de travail lui-même, telles que le mettre à jour ou le supprimer. Notez que l’exemple de politique ne limite pas les utilisateurs à ce seul groupe de travail et ne refuse pas l’accès à d’autres groupes de travail.    
****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
       {
            "Effect": "Allow",
            "Action": [
                "athena:ListEngineVersions",
                "athena:ListWorkGroups",
                "athena:ListDataCatalogs",
                "athena:ListDatabases",
                "athena:GetDatabase",
                "athena:ListTableMetadata",
                "athena:GetTableMetadata"
            ],
            "Resource": "*"
        },
        {
            "Effect": "Allow",
            "Action": [
                "athena:GetWorkGroup", 
                "athena:BatchGetQueryExecution",
                "athena:GetQueryExecution",
                "athena:ListQueryExecutions",
                "athena:StartQueryExecution",
                "athena:StopQueryExecution",
                "athena:GetQueryResults",
                "athena:GetQueryResultsStream",
                "athena:CreateNamedQuery",
                "athena:GetNamedQuery",
                "athena:BatchGetNamedQuery",
                "athena:ListNamedQueries",
                "athena:DeleteNamedQuery",
                "athena:CreatePreparedStatement",
                "athena:GetPreparedStatement",
                "athena:ListPreparedStatements",
                "athena:UpdatePreparedStatement",
                "athena:DeletePreparedStatement"
            ],
            "Resource": [
                "arn:aws:athena:us-east-1:123456789012:workgroup/workgroupA"
            ]
        }
    ]
}
```

**Example Exemple de politique pour des requêtes en cours d'exécution dans le groupe de travail principal**  
Vous pouvez modifier l'exemple précédent pour permettre à un utilisateur particulier d'exécuter des requêtes dans le groupe de travail principal.   
Nous vous recommandons d'ajouter la ressource du groupe de travail principal pour tous les utilisateurs qui sont autrement configurés pour exécuter des requêtes dans leurs groupes de travail désignés. L'ajout de cette ressource aux politiques d'utilisation de leur groupe de travail est utile au cas où le groupe de travail désigné serait supprimé ou désactivé. Dans ce cas, ils peuvent continuer à exécuter des requêtes dans le groupe de travail principal.
Pour permettre aux utilisateurs de votre compte d'exécuter des requêtes dans le groupe de travail principal, ajoutez une ligne contenant l'ARN du groupe de travail principal à la section des ressources de [Example policy for running queries in a specified workgroup](#example3-user-access), comme dans l'exemple ci-dessous.  

```
arn:aws:athena:us-east-1:123456789012:workgroup/primary"
```

**Example Exemple de politique pour les opérations de gestion sur un groupe de travail spécifié**  
Dans la politique suivante, un utilisateur est autorisé à créer, supprimer, obtenir des détails, et mettre à jour un groupe de travail `test_workgroup`.     
****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "athena:ListEngineVersions"
            ],
            "Resource": "*"
        },
        {
            "Effect": "Allow",
            "Action": [
                "athena:CreateWorkGroup",
                "athena:GetWorkGroup",
                "athena:DeleteWorkGroup",
                "athena:UpdateWorkGroup"
            ],
            "Resource": [
                "arn:aws:athena:us-east-1:123456789012:workgroup/test_workgroup"
            ]
        }
    ]
}
```

**Example Exemple de politique pour répertorier des groupes de travail**  
La politique suivante autorise tous les utilisateurs à répertorier tous les groupes de travail :    
****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "athena:ListWorkGroups"
            ],
            "Resource": "*"
        }
    ]
}
```

**Example Exemple de politique pour exécuter et arrêter des requêtes dans un groupe de travail spécifié**  
Dans cette politique, un utilisateur est autorisé à exécuter des requêtes dans le groupe de travail :    
****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "athena:StartQueryExecution",
                "athena:StopQueryExecution"
            ],
            "Resource": [
                "arn:aws:athena:us-east-1:123456789012:workgroup/test_workgroup"
            ]
        }
    ]
}
```

**Example Exemple de politique à utiliser avec des requêtes nommées dans un groupe de travail spécifié**  
Dans la politique suivante, un utilisateur dispose des autorisations pour créer, supprimer et obtenir des informations sur les requêtes nommées dans le groupe de travail spécifié :    
****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "athena:CreateNamedQuery",
                "athena:GetNamedQuery",
                "athena:DeleteNamedQuery"
            ],
            "Resource": [
                "arn:aws:athena:us-east-1:123456789012:workgroup/test_workgroup"            ]
        }
    ]
}
```

**Example Exemple de politique pour utiliser des blocs-notes Spark dans Athena**  
Utilisez une politique telle que la suivante pour utiliser les blocs-notes Spark dans Athena.    
****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "AllowCreatingWorkGroupWithDefaults",
            "Action": [
                "athena:CreateWorkGroup",
                "s3:CreateBucket",
                "iam:CreateRole",
                "iam:CreatePolicy",
                "iam:AttachRolePolicy",
                "s3:GetBucketLocation",
                "athena:ImportNotebook"
            ],
            "Effect": "Allow",
            "Resource": [
                "arn:aws:athena:us-east-1:123456789012:workgroup/Demo*",
                "arn:aws:s3:::123456789012-us-east-1-athena-results-bucket-*",
                "arn:aws:iam::123456789012:role/service-role/AWSAthenaSparkExecutionRole-*",
                "arn:aws:iam::123456789012:policy/service-role/AWSAthenaSparkRolePolicy-*"
            ]
        },
        {
            "Sid": "AllowRunningCalculations",
            "Action": [
                "athena:ListWorkGroups",
                "athena:GetWorkGroup",
                "athena:StartSession",
                "athena:CreateNotebook",
                "athena:ListNotebookMetadata",
                "athena:ListNotebookSessions",
                "athena:GetSessionStatus",
                "athena:GetSession",
                "athena:GetNotebookMetadata",
                "athena:CreatePresignedNotebookUrl"
            ],
            "Effect": "Allow",
            "Resource": "arn:aws:athena:us-east-1:123456789012:workgroup/Demo*"
        },
        {
            "Sid": "AllowListWorkGroupAndEngineVersions",
            "Action": [
                "athena:ListWorkGroups",
                "athena:ListEngineVersions"
            ],
            "Effect": "Allow",
            "Resource": "*"
        }
    ]
}
```