Contrôle de l’accès à Amazon S3 depuis Athena
Vous pouvez accorder l'accès aux emplacements Simple Storage Service (Amazon S3) en utilisant des politiques basées sur l'identité, des politiques de ressources de compartiment, des politiques de point d'accès, ou toute combinaison de ces politiques. Lorsque les acteurs interagissent avec Athena, leurs autorisations passent par Athena pour déterminer ce à quoi Athena peut accéder. Cela signifie que les utilisateurs doivent être autorisés à accéder aux compartiments Amazon S3 pour pouvoir les interroger avec Athena.
Chaque fois que vous utilisez des politiques IAM, veillez à respecter les bonnes pratiques IAM. Pour plus d'informations, consultez la rubrique Bonnes pratiques IAM du Guide de l'utilisateur IAM.
Notez que les demandes transmises à Amazon S3 proviennent d’une adresse IPv4 privée pour Athena, et non de l’adresse IP source spécifiée dans aws:SourceIp. Vous ne pouvez donc pas utiliser la condition aws:SourceIp pour refuser l’accès aux actions Amazon S3 dans le cadre d’une politique IAM donnée. Vous ne pouvez pas non plus restreindre ou autoriser l’accès aux ressources Amazon S3 en fonction de la clé de condition aws:SourceVpc ou aws:SourceVpce.
Note
Les groupes de travail Athena qui utilisent l’authentification IAM Identity Center nécessitent que les autorisations d’accès S3 soient configurées pour utiliser la propagation d’identité approuvée. Pour plus d’informations, consultez la rubrique S3 Access Grants and directory identities dans le Guide de l’utilisateur Amazon Simple Storage Service.
Rubriques
Utilisation de stratégies basées sur l’identité pour contrôler l’accès aux compartiments Amazon S3
Les politiques basées sur une identité sont attachées à un utilisateur, un groupe ou un rôle IAM. Ces politiques vous permettent de spécifier ce que peut faire cette identité (ses autorisations). Vous pouvez utiliser des stratégies basées sur l’identité pour contrôler l’accès à vos compartiments Amazon S3.
La stratégie basée sur l’identité suivante autorise les accès Read et Write aux objets d’un compartiment Amazon S3 spécifique. Pour l’utiliser, remplacez le texte en italique de l’espace réservé par vos propres valeurs.
Utilisation de stratégies de ressources de compartiment pour contrôler l’accès aux compartiments Amazon S3
Les stratégies de compartiment Amazon S3 vous permettent de sécuriser l’accès aux objets de vos compartiments, en le limitant aux utilisateurs disposant des autorisations appropriées. Pour plus d’informations sur la création de votre stratégie Amazon S3, consultez Adding a bucket policy by using the Amazon S3 console dans le Guide d’utilisation d’Amazon S3.
L’exemple de stratégie d’autorisations suivante limite un utilisateur à la lecture des objets comportant la clé et la valeur de balise environment: production. Cette stratégie utilise la clé de condition s3:ExistingObjectTag pour spécifier la clé et la valeur de balise.
Pour découvrir d’autres exemples de stratégies de compartiment, consultez Examples of Amazon S3 bucket policies dans le Guide d’utilisation d’Amazon S3.
Utilisation de points d’accès Amazon S3 pour un contrôle plus précis de l’accès aux compartiments
Si vous disposez d'un jeu de données partagé dans un compartiment Simple Storage Service (Amazon S3), il peut s'avérer difficile de maintenir une politique unique pour le compartiment qui gère l'accès à des centaines de cas d'utilisation.
Les points d’accès, les stratégies et les alias des compartiments Amazon S3 peuvent vous aider à remédier à ce problème. Un compartiment peut avoir plusieurs points d'accès, chacun avec une politique qui contrôle l'accès au compartiment d'une manière différente.
Pour chaque point d'accès que vous créez, Simple Storage Service (Amazon S3) génère un alias qui représente le point d'accès. L'alias étant au format du nom du compartiment Simple Storage Service (Amazon S3), vous pouvez l'utiliser dans la clause LOCATION de vos instructions CREATE TABLE dans Athena. L'accès d'Athena au compartiment est alors contrôlé par la politique du point d'accès que l'alias représente.
Pour plus d'informations, voir Spécification de l’emplacement d’une table dans Amazon S3 et Utilisation des points d'accès du Guide de l'utilisateur Simple Storage Service (Amazon S3).
Utilisation des touches de contexte CalledVia pour autoriser uniquement les appels d’Athena vers un autre service
Pour plus de sécurité, vous pouvez utiliser la clé contextuelle de condition globale aws:CalledVia. La clé de condition aws:CalledVia contient une liste de services que vous autorisez à appeler un autre service. Par exemple, vous pouvez autoriser les appels InvokeFunction à AWS Lambda uniquement s’ils proviennent d’Athena en spécifiant le nom de principal de service Athena athena.amazonaws.com pour la clé de contexte aws:CalledVia. Pour de plus amples informations, consultez Utilisation de clés de contexte CalledVia pour Athena.
Ressources supplémentaires
Pour des informations détaillées et des exemples sur la manière d'accorder l'accès à Simple Storage Service (Amazon S3), consultez les ressources suivantes :
-
Exemples de procédures : gestion de l'accès dans le Guide de l'utilisateur Simple Storage Service (Amazon S3).
-
Comment fournir un accès inter-comptes aux objets qui se trouvent dans des compartiments Simple Storage Service (Amazon S3) ?
dans le Centre de connaissances AWS. -
Configuration de l’accès intercompte aux compartiments Amazon S3 dans Athena.