AWS: Refusez l'accès aux ressources Amazon S3 en dehors de votre compte, sauf AWS Data Exchange - AWS Identity and Access Management

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.

AWS: Refusez l'accès aux ressources Amazon S3 en dehors de votre compte, sauf AWS Data Exchange

Cet exemple montre comment vous pouvez créer une politique basée sur l'identité qui refuse l'accès à toutes les ressources AWS qui n'appartiennent pas à votre compte, à l'exception des ressources nécessaires au fonctionnement normal. AWS Data Exchange Pour utiliser cette politique, remplacez le texte de l'espace réservé en italique dans l'exemple de politique par vos propres informations de ressource. Ensuite, suivez les instructions fournies dans create a policy (créer une politique) ou edit a policy (modifier une politique).

Vous pouvez créer une politique similaire pour restreindre l'accès aux ressources au sein d'une organisation ou d'une unité organisationnelle, tout en comptabilisant les ressources AWS Data Exchange détenues à l'aide des clés de condition aws:ResourceOrgPaths etaws:ResourceOrgID.

Si vous l'utilisez AWS Data Exchange dans votre environnement, le service crée et interagit avec des ressources telles que les compartiments Amazon S3 appartenant au compte de service. Par exemple, AWS Data Exchange envoie des demandes aux compartiments Amazon S3 appartenant au AWS Data Exchange service pour le compte du principal IAM (utilisateur ou rôle) invoquant les API. AWS Data Exchange Dans ce cas, l'utilisation aws:ResourceAccountaws:ResourceOrgPaths, ou aws:ResourceOrgID dans le cadre d'une politique, sans tenir compte des ressources AWS Data Exchange détenues, empêche l'accès aux compartiments appartenant au compte de service.

  • Instruction DenyAllAwsResourcesOutsideAccountExceptS3 utilise le l'élément NotAction avec l'effet Deny (Refuser) qui refuse explicitement l'accès à toutes les actions non répertoriées dans l'instruction et qui n'appartiennent pas non plus au compte répertorié. L'élément NotAction indique les exceptions à cette instruction. Ces actions constituent une exception à cette déclaration, car si elles sont effectuées sur des ressources créées par AWS Data Exchange, la politique les refuse.

  • L'instruction DenyAllS3ResoucesOutsideAccountExceptDataExchange utilise une combinaison des clés de condition ResourceAccount et CalledVia pour refuser l'accès aux trois actions Amazon S3 exclues dans la déclaration précédente. L'instruction refuse les actions si les ressources n'appartiennent pas au compte répertorié et si le service appelant n'est pas AWS Data Exchange. L'instruction ne refuse pas les actions si la ressource appartient au compte répertorié ou si le principal de service répertorié, dataexchange.amazonaws.com, effectue les opérations.

Important

Cette politique ne permet aucune action. Elle utilise l'effet Deny, qui refuse explicitement l'accès à toutes les ressources répertoriées dans l'instruction n'appartenant pas au compte répertorié. Utilisez cette politique en combinaison avec d'autres politiques qui autorisent l'accès à des ressources spécifiques.

L'exemple suivant montre comment vous pouvez configurer la politique pour autoriser l'accès aux compartiments Amazon S3 requis.

{ "Version": "2012-10-17", "Statement": [ { "Sid": "DenyAllAwsReourcesOutsideAccountExceptAmazonS3", "Effect": "Deny", "NotAction": [ "s3:GetObject", "s3:PutObject", "s3:PutObjectAcl" ], "Resource": "*", "Condition": { "StringNotEquals": { "aws:ResourceAccount": [ "111122223333" ] } } }, { "Sid": "DenyAllS3ResourcesOutsideAccountExceptDataExchange", "Effect": "Deny", "Action": [ "s3:GetObject", "s3:PutObject", "s3:PutObjectAcl" ], "Resource": "*", "Condition": { "StringNotEquals": { "aws:ResourceAccount": [ "111122223333" ] }, "ForAllValues:StringNotEquals": { "aws:CalledVia": [ "dataexchange.amazonaws.com" ] } } } ] }