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 :
-
(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.
-
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
à IAM l'utilisateur dans son compte Jane
des autorisations 123456789012
GET
et PUT
des objets portant le préfixe
via le point d'accès. Jane/
dans le compte my-access-point
.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 à
, 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 Jane
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
dans le compte Mateo
autorisations d'accès aux 123456789012
GET
objets via le point d'accès
dans le compte my-access-point
qui ont la clé du tag 123456789012
défini avec une valeur de data
.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
autorisation de consulter les objets contenus dans le compartiment sous-jacent au point d'accès 123456789012
dans le compte my-access-point
.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
aux points d'accès ayant une origine VPC réseau.amzn-s3-demo-bucket
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
dans la région123456789012
: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
, soitVPC
. 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
" } } }] }