Utilisation de balises avec des points d’accès S3 de compartiments à usage général
Une balise AWS est une paire clé-valeur qui contient des métadonnées sur des ressources, en l’occurrence des points d’accès Amazon S3. Vous pouvez baliser les points d’accès lorsque vous les créez ou gérer les balises de points d’accès existants. Pour plus d’informations sur les balises, consultez Balisage pour la répartition des coûts ou le contrôle d’accès par attributs (ABAC).
Note
L’utilisation de balises sur les points d’accès n’occasionne aucun coût supplémentaire, en dehors des tarifs standard des demandes d’API S3. Pour plus d’informations, consultez Tarification Amazon S3
Méthodes courantes d’utilisation de balises avec des points d’accès
Le contrôle d’accès par attributs (ABAC) vous permet de mettre à l’échelle les autorisations d’accès et d’autoriser l’accès à des points d’accès en fonction de leurs balises. Pour plus d’informations sur l’ABAC dans Amazon S3, consultez Utilisation de balises pour l’ABAC.
ABAC pour points d’accès S3
Les points d’accès Amazon S3 prennent désormais en charge le contrôle d’accès par attributs (ABAC) à l’aide de balises. Utilisez des clés de condition basées sur des balises dans vos organisations AWS, politiques IAM et stratégies de points d’accès. Pour les entreprises, l’ABAC d’Amazon S3 prend en charge les autorisations sur plusieurs comptes AWS.
Dans vos politiques IAM, vous pouvez contrôler l’accès aux points d’accès en fonction des balises des points d’accès à l’aide des clés de condition globale suivantes :
-
aws:ResourceTag/key-nameImportant
La clé de condition
aws:ResourceTagne peut être utilisée que pour les actions S3 effectuées via l’ARN d’un point d’accès de compartiments à usage général, et couvre uniquement les balises de point d’accès sous-jacentes.-
Utilisez cette clé pour comparer la paire valeur-clé de balise que vous spécifiez dans la politique avec la paire valeur clé attachée à la ressource. Par exemple, vous pouvez exiger que l’accès à une ressource soit autorisé uniquement si la clé de balise
Deptest attachée à la ressource avec la valeurMarketing. Pour plus d’informations, veuillez consulter Contrôle de l’accès aux ressources AWS.
-
-
aws:RequestTag/key-name-
Utilisez cette clé pour comparer la paire clé-valeur de balise qui a été transmise dans la demande avec la paire de balises spécifiée dans la politique. Par exemple, vous pouvez vérifier que la demande comprend la clé de balise
Deptet qu’elle a la valeurAccounting. Pour plus d’informations, consultez Contrôle de l’accès au cours des demandes AWS. Vous pouvez utiliser cette clé de condition pour restreindre les paires clé-valeur de balise pouvant être transmises pendant les opérations d’APITagResourceetCreateAccessPoint.
-
-
aws:TagKeys-
Utilisez cette clé pour comparer les clés de balise d’une demande avec celles spécifiées dans la politique. Nous vous recommandons, lorsque vous utilisez des politiques pour contrôler l’accès à l’aide de balises, d’utiliser la clé de condition
aws:TagKeyspour définir quelles clés de balises sont autorisées. Pour des exemples de stratégies et plus d’informations, consultez Contrôle de l’accès en fonction des clés de balise. Vous pouvez créer un point d’accès avec des balises. Pour autoriser le balisage pendant l’opération d’APICreateAccessPoint, vous devez créer une stratégie qui inclut les actionss3:TagResourceets3:CreateAccessPoint. Vous pouvez ensuite utiliser la clé de conditionaws:TagKeyspour imposer l’utilisation de clés de balise spécifiques dans la demandeCreateAccessPoint.
-
-
s3:AccessPointTag/tag-key-
Utilisez cette clé de condition pour accorder des autorisations à des données spécifiques via des points d’accès utilisant des balises. Quand vous utilisez
aws:ResourceTag/tag-keydans le cadre d’une politique IAM, le point d’accès et le compartiment vers lequel il pointe doivent avoir la même balise, car ils sont tous deux pris en compte lors de l’autorisation. Si vous souhaitez contrôler l’accès à vos données uniquement via la balise du point d’accès, vous pouvez utiliser la clé de conditions3:AccessPointTag/tag-key.
-
Exemples de politiques ABAC pour points d’accès
Consultez les exemples de politiques ABAC pour points d’accès Amazon S3 ci-dessous.
1.1 - Politique IAM permettant de créer ou de modifier des compartiments avec des balises spécifiques
Dans cette politique IAM, les utilisateurs ou les rôles dotés de cette politique ne peuvent créer des points d’accès que s’ils les balisent avec la clé de balise project et la valeur de balise Trinity dans la demande de création du point d’accès. Ils peuvent également ajouter ou modifier des balises sur des points d’accès existants, à condition que la demande TagResource inclue la paire clé-valeur de balise project:Trinity.
{ "Version": "2012-10-17", "Statement": [ { "Sid": "CreateAccessPointWithTags", "Effect": "Allow", "Action": [ "s3:CreateAccessPoint", "s3:TagResource" ], "Resource": "*", "Condition": { "StringEquals": { "aws:RequestTag/project": [ "Trinity" ] } } } ] }
1.2 - Stratégie de point d’accès permettant de restreindre les opérations sur le point d’accès à l’aide de balises
Dans cette stratégie de point d’accès, les principaux IAM (utilisateurs et rôles) peuvent effectuer des opérations à l’aide de l’action GetObject sur le point d’accès uniquement si la valeur de la balise project du point d’accès correspond à la valeur de la balise project du principal.
{ "Version": "2012-10-17", "Statement": [ { "Sid": "AllowObjectOperations", "Effect": "Allow", "Principal": { "AWS": "111122223333" }, "Action": "s3:GetObject", "Resource": "arn:aws::s3:region:111122223333:accesspoint/", "Condition": { "StringEquals": { "aws:ResourceTag/project": "${aws:PrincipalTag/project}" } } } ] }my-access-point
1.3 - Politique IAM permettant de modifier des balises de ressources existantes tout en maintenant la gouvernance des balises
Dans cette politique IAM, les principaux IAM (utilisateurs ou rôles) peuvent modifier les balises d’un point d’accès uniquement si la valeur de la balise project du point d’accès correspond à la valeur de la balise project du principal. Seules les quatre balises project, environment, owner et cost-center spécifiées dans les clés de condition aws:TagKeys sont autorisées pour ces points d’accès. Cela permet de renforcer la gouvernance des balises, d’empêcher les modifications non autorisées des balises et de garantir la cohérence du schéma de balisage sur l’ensemble de vos points d’accès.
{ "Version": "2012-10-17", "Statement": [ { "Sid": "EnforceTaggingRulesOnModification", "Effect": "Allow", "Action": [ "s3:TagResource" ], "Resource": "arn:aws::s3:region:111122223333:accesspoint/", "Condition": { "StringEquals": { "aws:ResourceTag/project": "${aws:PrincipalTag/project}" }, "ForAllValues:StringEquals": { "aws:TagKeys": [ "my-access-pointproject", "environment", "owner", "cost-center" ] } } } ] }
1.4 - Utilisation de la clé de condition s3:AccessPointTag
Dans cette politique IAM, l’instruction de la condition autorise l’accès aux données du compartiment uniquement si le point d’accès possède la clé Environment et la valeur de balise Production.
{ "Version": "2012-10-17", "Statement": [ { "Sid": "AllowAccessToSpecificAccessPoint", "Effect": "Allow", "Action": "*", "Resource": "arn:aws::s3:region:111122223333:accesspoint/", "Condition": { "StringEquals": { "s3:AccessPointTag/Environment": "Production" } } } ] }my-access-point
1.5 - Utilisation d’une politique de délégation de compartiments
Dans Amazon S3, vous pouvez déléguer l’accès ou le contrôle de votre stratégie de compartiment S3 à un autre compte AWS ou à un utilisateur ou rôle AWS Identity and Access Management (IAM) spécifique de cet autre compte. La stratégie de délégation de compartiment accorde à cet autre compte, utilisateur ou rôle l’autorisation d’accéder à votre compartiment et à ses objets. Pour plus d’informations, consultez Délégation d’autorisations.
Si vous utilisez une stratégie de délégation de compartiment, par exemple :
{ "Version": "2012-10-17", "Statement": { "Principal": {"AWS": "*"}, "Effect": "Allow", "Action": ["s3:*"], "Resource":["arn:aws::s3:::/*", "arn:aws::s3:::amzn-s3-demo-bucketamzn-s3-demo-bucket"], "Condition": { "StringEquals" : { "s3:DataAccessPointAccount" : "111122223333" } } } }
Dans la politique IAM suivante, l’instruction de la condition autorise l’accès aux données du compartiment uniquement si le point d’accès possède la clé Environment et la valeur de balise Production.
{ "Version": "2012-10-17", "Statement": [ { "Sid": "AllowAccessToSpecificAccessPoint", "Effect": "Allow", "Action": "*", "Resource": "arn:aws::s3:region:111122223333:accesspoint/", "Condition": { "StringEquals": { "s3:AccessPointTag/Environment": "Production" } } } ] }my-access-point
Utilisation de balises pour des points d’accès de compartiments à usage général
Vous pouvez ajouter ou gérer les balises des points d’accès à l’aide de la console Amazon S3, de l’interface de ligne de commande AWS (CLI), des kits AWS SDK ou des API S3 TagResource, UntagResource et ListTagsForResource. Pour plus d’informations, consultez :