Exemples de stratégies de groupe de travail - Amazon Athena

Exemples de stratégies de groupe de travail

Cette section inclut des exemples de stratégies que vous pouvez utiliser pour activer plusieurs actions sur des groupes de travail.

Un groupe de travail est une ressource IAM gérée par Athena. Ainsi, si la stratégie 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>]

<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 des actions Amazon Athena, consultez les noms d'action API dans la Référence API Amazon Athena. Pour plus d'informations sur les stratégies IAM, consultez Création de stratégies avec l'éditeur visuel dans le IAM Guide de l'utilisateur. Pour plus d'informations sur la création de stratégies IAM pour les groupes de travail, consultez Stratégies IAM de groupe de travail.

Exemple de stratégie pour un accès complet à tous les groupes de travail

La stratégie 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 stratégie 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": [ "*" ] } ] }

Exemple de stratégie pour un accès complet à un groupe de travail spécifié

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

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "athena:ListWorkGroups", "athena:GetExecutionEngine", "athena:GetExecutionEngines", "athena:GetNamespace", "athena:GetCatalogs", "athena:GetNamespaces", "athena:GetTables", "athena:GetTable" ], "Resource": "*" }, { "Effect": "Allow", "Action": [ "athena:StartQueryExecution", "athena:GetQueryResults", "athena:DeleteNamedQuery", "athena:GetNamedQuery", "athena:ListQueryExecutions", "athena:StopQueryExecution", "athena:GetQueryResultsStream", "athena:ListNamedQueries", "athena:CreateNamedQuery", "athena:GetQueryExecution", "athena:BatchGetNamedQuery", "athena:BatchGetQueryExecution" ], "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" ] } ] }

Exemple de stratégie pour l’exécution de requêtes dans un groupe de travail spécifié

Dans la stratégie 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.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "athena:ListWorkGroups", "athena:GetExecutionEngine", "athena:GetExecutionEngines", "athena:GetNamespace", "athena:GetCatalogs", "athena:GetNamespaces", "athena:GetTables", "athena:GetTable" ], "Resource": "*" }, { "Effect": "Allow", "Action": [ "athena:StartQueryExecution", "athena:GetQueryResults", "athena:DeleteNamedQuery", "athena:GetNamedQuery", "athena:ListQueryExecutions", "athena:StopQueryExecution", "athena:GetQueryResultsStream", "athena:ListNamedQueries", "athena:CreateNamedQuery", "athena:GetQueryExecution", "athena:BatchGetNamedQuery", "athena:BatchGetQueryExecution", "athena:GetWorkGroup" ], "Resource": [ "arn:aws:athena:us-east-1:123456789012:workgroup/workgroupA" ] } ] }

Exemple de stratégie pour l’exécution des requêtes dans le groupe de travail principal

Dans l'exemple suivant, nous utilisons la stratégie qui autorise un utilisateur en particulier à exécuter des requêtes dans le groupe de travail principal.

Note

Nous vous recommandons d'ajouter cette stratégie à tous les utilisateurs qui sont généralement configurés pour exécuter des requêtes dans leurs groupes de travail désignés. Ajouter cette stratégie aux stratégies utilisateur de leur groupe de travail est utile si leur groupe de travail désigné est supprimé ou désactivé. Dans ce cas, ils peuvent continuer à exécuter des requêtes dans le groupe de travail principal.

Pour autoriser des utilisateurs de votre compte à exécuter des requêtes dans le groupe de travail principal, ajoutez la stratégie suivante à une section de la ressource de l'Exemple de stratégie pour l’exécution de requêtes dans un groupe de travail spécifié.

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

Exemple de stratégie pour les opérations de gestion sur un groupe de travail spécifié

Dans la stratégie suivante, un utilisateur est autorisé à créer, supprimer, obtenir des détails, et mettre à jour un groupe de travail test_workgroup.

{ "Effect": "Allow", "Action": [ "athena:CreateWorkGroup", "athena:GetWorkGroup", "athena:DeleteWorkGroup", "athena:UpdateWorkGroup" ], "Resource": [ "arn:aws:athena:us-east-1:123456789012:workgroup/test_workgroup" ] }

Exemple de stratégie pour la création d’une liste de groupes de travail

La stratégie suivante autorise tous les utilisateurs à répertorier tous les groupes de travail :

{ "Effect": "Allow", "Action": [ "athena:ListWorkGroups" ], "Resource": "*" }

Exemple de stratégie pour l’exécution et l’arrêt des requêtes dans un groupe de travail spécifique

Dans cette stratégie, un utilisateur est autorisé à exécuter des requêtes dans le groupe de travail :

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

Exemple de stratégie pour le travail avec des requêtes nommées dans un groupe de travail spécifique

Dans la stratégie 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é :

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