Configuration des IAM politiques d'utilisation des points d'accès - Amazon Simple Storage Service

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.

Configuration des IAM politiques d'utilisation des points d'accès

Les points d'accès Amazon S3 prennent en charge AWS Identity and Access Management (IAM) les politiques de ressources qui vous permettent de contrôler l'utilisation du point d'accès par ressource, par utilisateur ou selon d'autres conditions. Pour qu'une application ou un utilisateur puisse accéder à des objets via un point d'accès, il faut que le point d'accès et le compartiment sous-jacent autorisent la demande.

Important

L'ajout d'un point d'accès S3 à un compartiment ne modifie pas le comportement du compartiment lorsque celui-ci est accessible directement via le nom du compartiment ou le nom de ressource Amazon (ARN). Toutes les opérations existantes sur le compartiment continueront de fonctionner comme auparavant. Les restrictions que vous incluez dans une stratégie de point d'accès s'appliquent uniquement aux demandes effectuées via ce point d'accès.

Lorsque vous utilisez IAM des politiques relatives aux ressources, veillez à résoudre les avertissements de sécurité, les erreurs, les avertissements généraux et les suggestions AWS Identity and Access Management Access Analyzer avant d'enregistrer votre politique. IAMAccess Analyzer effectue des vérifications de politique pour valider votre politique par rapport à la grammaire des IAM politiques et aux meilleures pratiques. Ces vérifications génèrent des résultats et fournissent des recommandations pour vous aider à créer des stratégies fonctionnelles et conformes aux bonnes pratiques en matière de sécurité.

Pour en savoir plus sur la validation des politiques à l'aide d'IAMAccess Analyzer, consultez la section Validation des politiques IAM Access Analyzer dans le guide de l'IAMutilisateur. Pour consulter la liste des avertissements, des erreurs et des suggestions renvoyés par IAM Access Analyzer, consultez la référence de vérification des politiques IAM d'Access Analyzer.

Exemples de stratégie de point d'accès

Les exemples suivants montrent comment créer des IAM politiques pour contrôler les demandes effectuées via un point d'accès.

Note

Les autorisations accordées dans une politique de point d'accès ne sont effectives que si le compartiment sous-jacent autorise également le même accès. Vous pouvez y parvenir de deux façons :

  1. (Recommandé) Déléguer le contrôle d'accès du compartiment au point d'accès, comme décrit à la section Délégation du contrôle d'accès aux points d'accès.

  2. Ajoutez les mêmes autorisations contenues dans la stratégie de point d'accès à la stratégie du compartiment sous-jacent. Le premier exemple de politique de point d'accès montre comment modifier la politique de compartiment sous-jacente pour autoriser l'accès nécessaire.

Exemple 1 : octroi de politique de point d'accès

La politique de point d'accès suivante accorde Jane à IAM l'utilisateur dans son compte 123456789012 des autorisations GET et PUT des objets portant le préfixe Jane/ via le point d'accès. my-access-point dans le compte 123456789012.

{ "Version":"2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::123456789012:user/Jane" }, "Action": ["s3:GetObject", "s3:PutObject"], "Resource": "arn:aws:s3:us-west-2:123456789012:accesspoint/my-access-point/object/Jane/*" }] }
Note

Pour que la politique de point d'accès accorde efficacement l'accès à Jane, le bucket sous-jacent doit également autoriser le même accès à Jane. Vous pouvez déléguer le contrôle d'accès du bucket au point d'accès, comme décrit dansDélégation du contrôle d'accès aux points d'accès. Vous pouvez également ajouter la stratégie suivante au compartiment sous-jacent pour accorder les autorisations nécessaires à Jane. Notez que l'entrée Resource diffère entre les stratégies de point d'accès et de compartiment.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::123456789012:user/Jane" }, "Action": ["s3:GetObject", "s3:PutObject"], "Resource": "arn:aws:s3:::amzn-s3-demo-bucket1/Jane/*" }] }
Exemple 2 : politique de point d'accès avec condition d'étiquette

La politique de point d'accès suivante accorde à IAM l'utilisateur Mateo dans le compte 123456789012 autorisations d'accès aux GET objets via le point d'accès my-access-point dans le compte 123456789012 qui ont la clé du tag data défini avec une valeur de la finance.

{ "Version":"2012-10-17", "Statement": [ { "Effect":"Allow", "Principal" : { "AWS": "arn:aws:iam::123456789012:user/Mateo" }, "Action":"s3:GetObject", "Resource" : "arn:aws:s3:us-west-2:123456789012:accesspoint/my-access-point/object/*", "Condition" : { "StringEquals": { "s3:ExistingObjectTag/data": "finance" } } }] }
Exemple 3 : politique de point d'accès permettant d'établir la liste des compartiments

La politique de point d'accès suivante autorise IAM l'utilisateur Arnav à accéder au compte 123456789012 autorisation de consulter les objets contenus dans le compartiment sous-jacent au point d'accès my-access-point dans le compte 123456789012.

{ "Version":"2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::123456789012:user/Arnav" }, "Action": "s3:ListBucket", "Resource": "arn:aws:s3:us-west-2:123456789012:accesspoint/my-access-point" }] }
Exemple 4 :politique de contrôle des services

La politique de contrôle des services suivante exige que tous les nouveaux points d'accès soient créés avec une origine réseau de cloud privé virtuel (VPC). Lorsque cette stratégie est mise en place, les utilisateurs de votre organisation ne peuvent pas créer de nouveaux points d'accès accessibles à partir d'Internet.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Deny", "Action": "s3:CreateAccessPoint", "Resource": "*", "Condition": { "StringNotEquals": { "s3:AccessPointNetworkOrigin": "VPC" } } }] }
Exemple 5 — Politique de compartiment pour limiter les opérations S3 aux origines VPC du réseau

La politique de compartiment suivante limite l'accès à toutes les opérations des objets S3 pour le compartiment amzn-s3-demo-bucket aux points d'accès ayant une origine VPC réseau.

Important

Avant d'utiliser une instruction comme celle présentée dans cet exemple, assurez-vous que vous n'avez pas besoin d'utiliser des fonctions qui ne sont pas prises en charge par les points d'accès, comme la réplication entre régions.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Deny", "Principal": "*", "Action": [ "s3:AbortMultipartUpload", "s3:BypassGovernanceRetention", "s3:DeleteObject", "s3:DeleteObjectTagging", "s3:DeleteObjectVersion", "s3:DeleteObjectVersionTagging", "s3:GetObject", "s3:GetObjectAcl", "s3:GetObjectLegalHold", "s3:GetObjectRetention", "s3:GetObjectTagging", "s3:GetObjectVersion", "s3:GetObjectVersionAcl", "s3:GetObjectVersionTagging", "s3:ListMultipartUploadParts", "s3:PutObject", "s3:PutObjectAcl", "s3:PutObjectLegalHold", "s3:PutObjectRetention", "s3:PutObjectTagging", "s3:PutObjectVersionAcl", "s3:PutObjectVersionTagging", "s3:RestoreObject" ], "Resource": "arn:aws:s3:::amzn-s3-demo-bucket/*", "Condition": { "StringNotEquals": { "s3:AccessPointNetworkOrigin": "VPC" } } } ] }

Clés de condition

Les points d'accès S3 possèdent des clés de condition que vous pouvez utiliser dans IAM les politiques pour contrôler l'accès à vos ressources. Les clés de condition suivantes ne représentent qu'une partie d'une IAM politique. Pour obtenir des exemples complets de politiques, consultez Exemples de stratégie de point d'accès, Délégation du contrôle d'accès aux points d'accès et Octroi d'autorisations pour les points d'accès intercompte.

s3:DataAccessPointArn

Cet exemple montre une chaîne que vous pouvez utiliser pour établir une correspondance sur un point d'accèsARN. L'exemple suivant correspond à tous les points d'accès pour Compte AWS 123456789012 dans la région us-west-2:

"Condition" : { "StringLike": { "s3:DataAccessPointArn": "arn:aws:s3:us-west-2:123456789012:accesspoint/*" } }
s3:DataAccessPointAccount

Cet exemple présente un opérateur de chaîne que vous pouvez utiliser pour établir une correspondance sur l'ID de compte du propriétaire d'un point d'accès. L'exemple suivant correspond à tous les points d'accès détenus par Compte AWS 123456789012.

"Condition" : { "StringEquals": { "s3:DataAccessPointAccount": "123456789012" } }
s3:AccessPointNetworkOrigin

Cet exemple présente un opérateur de chaîne que vous pouvez utiliser pour faire correspondre sur l'origine du réseau, soit Internet, soit VPC. L'exemple suivant ne fait correspondre que les points d'accès ayant une VPC origine.

"Condition" : { "StringEquals": { "s3:AccessPointNetworkOrigin": "VPC" } }

Pour plus d'informations sur l'utilisation des clés de condition avec Amazon S3, consultez la section Actions, ressources et clés de condition pour Amazon S3 dans la référence d'autorisation de service.

Pour plus d'informations sur les autorisations relatives aux API opérations S3 par type de ressource S3, consultezAutorisations requises pour les API opérations Amazon S3.

Délégation du contrôle d'accès aux points d'accès

Vous pouvez déléguer le contrôle d'accès à un compartiment aux points d'accès du compartiment. Dans l'exemple suivant, la politique de compartiment permet un accès complet à tous les points d'accès appartenant au compte du propriétaire du compartiment. Ainsi, tous les accès à ce compartiment sont contrôlés par les stratégies attachées à ses points d'accès. Nous vous recommandons de configurer vos compartiments de cette façon pour tous les cas d'utilisation qui ne demandent pas d'accès direct au compartiment.

Exemple 6 : politique de compartiment qui délègue le contrôle d'accès aux points d'accès
{ "Version": "2012-10-17", "Statement" : [ { "Effect": "Allow", "Principal" : { "AWS": "*" }, "Action" : "*", "Resource" : [ "Bucket ARN", "Bucket ARN/*"], "Condition": { "StringEquals" : { "s3:DataAccessPointAccount" : "Bucket owner's account ID" } } }] }

Octroi d'autorisations pour les points d'accès intercompte

Pour créer un point d'accès à un compartiment qui appartient à un autre compte, vous devez d'abord créer le point d'accès en spécifiant le nom du compartiment et l'ID du propriétaire du compte. Ensuite, le propriétaire du compartiment doit mettre à jour la politique de compartiment pour autoriser les requêtes du point d'accès. La création d'un point d'accès est similaire à la création d'un point d'accès DNS CNAME dans la mesure où le point d'accès ne permet pas d'accéder au contenu du bucket. Tous les accès aux compartiments sont contrôlés par la politique des compartiments. L'exemple de politique de compartiment suivant autorise les requêtes GET et LIST sur le compartiment depuis un point d'accès appartenant à un Compte AWS de confiance.

Remplacez Bucket ARN avec le ARN couvercle du seau.

Exemple 7 — Politique de compartiment déléguant des autorisations à un autre Compte AWS
{ "Version": "2012-10-17", "Statement" : [ { "Effect": "Allow", "Principal" : { "AWS": "*" }, "Action" : ["s3:GetObject","s3:ListBucket"], "Resource" : [ "Bucket ARN", "Bucket ARN/*"], "Condition": { "StringEquals" : { "s3:DataAccessPointAccount" : "Access point owner's account ID" } } }] }