Contrôlez l'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.

Contrôlez 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 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.

Utilisez des politiques basées sur l'identité pour contrôler l'accès aux compartiments Amazon S3

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/*"] } ] }

Utilisez les politiques relatives aux ressources des compartiments pour contrôler l'accès aux compartiments Amazon S3

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.

Utilisez les 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 politiques et les alias des compartiments Amazon S3 peuvent aider à 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).

Utilisez les touches CalledVia contextuelles pour autoriser uniquement les appels d'Athena vers un autre service

Pour plus de sécurité, vous pouvez utiliser aws:CalledViaclé de contexte de condition globale. La clé de aws:CalledVia condition contient une liste de services que vous autorisez à appeler un autre service. Par exemple, vous pouvez autoriser InvokeFunction les appels vers AWS Lambda uniquement si les appels proviennent d'Athéna en spécifiant le nom principal du service Athena athena.amazonaws.com pour la clé de contexte. aws:CalledVia Pour de plus amples informations, veuillez consulter Utiliser des clés CalledVia contextuelles 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 :