Exemples de politique de compartiment - Amazon S3 sur Outposts

Exemples de politique de compartiment

Grâce aux politiques de compartiments S3 sur Outposts, vous pouvez sécuriser l’accès aux objets de vos compartiments S3 sur Outposts, afin que seuls les utilisateurs disposant des autorisations appropriées puissent y accéder. Vous pouvez même empêcher les utilisateurs authentifiés ne disposant pas des autorisations appropriées d’accéder à vos ressources S3 sur Outposts.

Cette section présente des exemples de cas d’utilisation standard de politiques de compartiments S3 sur Outposts. Pour tester ces politiques, remplacez user input placeholders par vos propres informations (comme le nom de votre compartiment).

Pour accorder ou refuser des autorisations à un ensemble d’objets, vous pouvez utiliser des caractères génériques (*) dans les noms Amazon Resource Name (ARN) et d’autres valeurs. Par exemple, vous pouvez contrôler l’accès aux groupes d’objets qui commencent par un préfixecourant ou se terminent par une extension donnée, comme .html.

Pour plus d’informations sur le langage des politiques AWS Identity and Access Management (IAM), consultez Configuration d’IAM avec S3 sur Outposts.

Note

Lors du test des autorisations s3outposts à l’aide de la console Amazon S3, vous devez accorder les autorisations supplémentaires requises par la console, telles que s3outposts:createendpoint, s3outposts:listendpoints, etc.

Ressources supplémentaires pour créer des politiques de compartiment

Gestion de l’accès à un compartiment Amazon S3 sur Outposts en fonction d’adresses IP spécifiques

Une politique de compartiment est une politique de AWS Identity and Access Management (IAM) basée sur les ressources que vous pouvez utiliser pour accorder des autorisations d’accès à votre compartiment et aux objets qu’il contient. Seul le propriétaire du compartiment peut associer une politique à un compartiment. Les autorisations attachées au compartiment s’appliquent à tous les objets du compartiment appartenant au compte propriétaire du compartiment. Les politiques de compartiment sont limitées à une taille de 20 Ko. Pour de plus amples informations, consultez Politique de compartiment.

Restriction de l’accès à des adresses IP spécifiques

L’exemple suivant interdit à tous les utilisateurs d’effectuer des opérations S3 sur Outposts sur les objets des compartiments spécifiés, sauf si la demande provient de la plage d’adresses IP spécifiée.

Note

Lorsque vous limitez l’accès à une adresse IP spécifique, veillez à spécifier également les points de terminaison de VPC, les adresses IP sources de VPC ou les adresses IP externes qui peuvent accéder au compartiment S3 sur Outposts. Dans le cas contraire, vous risquez de perdre l’accès au compartiment si votre politique interdit à tous les utilisateurs d’effectuer des opérations s3outposts sur les objets de votre compartiment S3 sur Outposts sans que les autorisations appropriées ne soient déjà en place.

Cette instruction Condition de la politique identifie 192.0.2.0/24 comme la plage des adresses IP version 4 (IPv4) autorisées.

Le bloc Condition utilise la condition NotIpAddress et la clé de condition aws:SourceIp, qui est une clé de condition à l’échelle d’AWS. La clé de condition aws:SourceIp ne peut être utilisée que pour les plages d’adresses IP publiques. Pour plus d’informations sur ces clés de condition, consultez Actions, ressources et clés de condition pour S3 sur Outposts. Les valeurs IPv4 aws:SourceIp font appel à la notation CIDR standard. Pour plus d’informations, consultez Références des éléments de politique JSON IAM dans le Guide de l’utilisateur IAM.

Avertissement

Avant d’employer cette politique S3 sur Outposts, remplacez la plage d’adresses IP 192.0.2.0/24 de cet exemple par une valeur appropriée pour votre cas d’utilisation. Dans le cas contraire, vous perdrez la possibilité d’accéder à votre compartiment.

{ "Version": "2012-10-17", "Id": "S3OutpostsPolicyId1", "Statement": [ { "Sid": "IPAllow", "Effect": "Deny", "Principal": "*", "Action": "s3-outposts:*", "Resource": [ "arn:aws:aws:s3-outposts:region:111122223333:outpost/OUTPOSTS-ID/accesspoint/EXAMPLE-ACCESS-POINT-NAME", "arn:aws:aws:s3-outposts:region:111122223333:outpost/OUTPOSTS-ID/bucket/amzn-s3-demo-bucket" ], "Condition": { "NotIpAddress": { "aws:SourceIp": "192.0.2.0/24" } } } ] }

Autoriser les adresses IPv4 et IPv6

Lorsque vous commencez à utiliser des adresses IPv6, nous vous recommandons de mettre à jour toutes les stratégies de votre organisation en y incluant des plages d’adresses IPv6, en plus des plages IPv4 existantes. Cela permettra de s’assurer que les politiques continuent à fonctionner lors de la transition vers IPv6.

L’exemple de politique de compartiment S3 sur Outposts ci-dessous montre comment combiner des plages d’adresses IPv4 et IPv6 pour couvrir la totalité des adresses IP valides de votre organisation. Dans cet exemple, la politique autorise l’accès aux exemples d’adresses IP 192.0.2.1 et 2001:DB8:1234:5678::1 et le refuse aux adresses 203.0.113.1 et 2001:DB8:1234:5678:ABCD::1.

La clé de condition aws:SourceIp ne peut être utilisée que pour les plages d’adresses IP publiques. Les valeurs IPv6 pour aws:SourceIp doivent être au format CIDR standard. Pour IPv6, nous prenons en charge l’utilisation de :: pour représenter une plage de zéros (par exemple : 2001:DB8:1234:5678::/64). Pour plus d’informations, consultez Opérateurs de condition d’adresse IP dans le guide de l’utilisateur IAM.

Avertissement

Remplacez les plages d’adresses IP de cet exemple par des valeurs appropriées pour votre cas d’utilisation avant d’employer cette politique S3 sur Outposts. Dans le cas contraire, vous pourriez perdre la possibilité d’accéder à votre compartiment.

JSON
{ "Id": "S3OutpostsPolicyId2", "Version":"2012-10-17", "Statement": [ { "Sid": "AllowIPmix", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::111122223333:root" }, "Action": [ "s3-outposts:GetObject", "s3-outposts:PutObject", "s3-outposts:ListBucket" ], "Resource": [ "arn:aws:s3-outposts:us-east-1:111122223333:outpost/op-01ac5d28a6a232904/bucket/amzn-s3-demo-bucket", "arn:aws:s3-outposts:us-east-1:111122223333:outpost/op-01ac5d28a6a232904/bucket/amzn-s3-demo-bucket/*" ], "Condition": { "IpAddress": { "aws:SourceIp": [ "192.0.2.0/24", "2001:DB8:1234:5678::/64" ] }, "NotIpAddress": { "aws:SourceIp": [ "203.0.113.0/24", "2001:DB8:1234:5678:ABCD::/80" ] } } } ] }