Accès à Amazon S3 depuis Athena - Amazon Athena

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.

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 IAM politiques, assurez-vous de suivre les IAM meilleures pratiques. Pour plus d'informations, consultez la section Bonnes pratiques en matière de sécurité IAM dans le guide de IAM l'utilisateur.

Notez que les demandes adressées à Amazon S3 proviennent d'une IPv4 adresse privée pour Athena, et non de l'adresse IP source spécifiée dans. aws:SourceIp Pour cette raison, vous ne pouvez pas utiliser cette aws:SourceIp condition pour refuser l'accès aux actions Amazon S3 dans le cadre d'une IAM politique donnée. Vous ne pouvez pas non plus restreindre ou autoriser l'accès aux ressources Amazon S3 en fonction des clés de aws:SourceVpce condition aws:SourceVpc ou.

Note

Les groupes de travail Athena qui utilisent l'authentification IAM Identity Center nécessitent que S3 Access Grants soit configuré pour utiliser des identités de propagation d'identité fiables. Pour plus d’informations, consultez la rubrique S3 Access Grants and directory identities dans le Guide de l’utilisateur Amazon Simple Storage Service.

Contrôle de l'accès aux compartiments Amazon S3 à l'aide de politiques basées sur l'identité

Les politiques basées sur l'identité sont associées à un IAM utilisateur, un groupe ou un rôle. Ces politiques vous permettent de spécifier ce que peut faire cette identité (ses autorisations). Vous pouvez utiliser des politiques basées sur l'identité pour contrôler l'accès à vos compartiments Amazon S3.

La politique basée sur l'identité suivante autorise Read et autorise Write l'accès aux objets d'un compartiment Amazon S3 spécifique. Pour utiliser cette politique, remplacez italicized placeholder text avec vos propres valeurs.

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

Contrôle de l'accès aux compartiments Amazon S3 à l'aide de politiques relatives aux ressources des compartiments

Vous pouvez utiliser les politiques relatives aux compartiments Amazon S3 pour sécuriser l'accès aux objets de vos compartiments afin que seuls les utilisateurs disposant des autorisations appropriées puissent y accéder. Pour obtenir des conseils sur la création de votre politique Amazon S3, consultez la section Ajouter une politique de compartiment à l'aide de la console Amazon S3 dans le guide de l'utilisateur Amazon S3.

L'exemple de politique d'autorisation suivant limite un utilisateur à la lecture d'objets dotés de la clé et de la valeur de environment: production balise. L'exemple de politique utilise la clé de s3:ExistingObjectTag condition pour spécifier la clé et la valeur de la balise.

{ "Version":"2012-10-17", "Statement": [ { "Principal":{"AWS":"arn:aws:iam::111122223333:role/JohnDoe" }, "Effect":"Allow", "Action": [ "s3:GetObject", "s3:GetObjectVersion" ], "Resource":"arn:aws:s3:::amzn-s3-demo-bucket/*", "Condition": { "StringEquals":{"s3:ExistingObjectTag/environment":"production" } ] }

Pour plus d'exemples de politiques relatives aux compartiments, consultez la section Exemples de politiques relatives aux compartiments Amazon S3 dans le guide de l'utilisateur Amazon S3.

Points d'accès Amazon S3, alias de point d'accès et politiques relatives aux points d'accès

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 aux compartiments Simple Storage Service (Amazon S3) permettent de résoudre 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écifier 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 CalledVia contextuelles

Pour plus de sécurité, vous pouvez utiliser la clé contextuelle de condition globale aws:CalledVia. La clé aws:CalledVia contient une liste ordonnée des services de la chaîne ayant effectué des demandes pour le compte du principal. En spécifiant le nom principal du service Athena athena.amazonaws.com pour la clé contextuelle aws:CalledVia, vous pouvez limiter les requêtes à celles effectuées à partir d'Athena. Pour de plus amples informations, veuillez consulter Utilisation d'Athéna avec CalledVia des touches contextuelles.

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 :