Configuration de politiques IAM pour l’utilisation de points d’accès de compartiments de répertoires - Amazon Simple Storage Service

Configuration de politiques IAM pour l’utilisation de points d’accès de compartiments de répertoires

Les points d’accès prennent en charge les politiques de ressources AWS Identity and Access Management (IAM) qui vous permettent de contrôler leur utilisation par ressource, par utilisateur ou d’autres conditions. Pour qu’une application ou un utilisateur accède à des objets via un point d’accès, le point d’accès et la stratégie de compartiment sous-jacente doivent autoriser la demande.

Important

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

Lorsque vous utilisez des politiques de ressources IAM, veillez à résoudre les avertissements de sécurité, les erreurs, les avertissements généraux et les suggestions de AWS Identity and Access Management Access Analyzer avant d’enregistrer votre politique. IAM Access Analyzer exécute des vérifications de politiques pour valider votre politique par rapport à la grammaire de politique et aux bonnes pratiques IAM. 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’IAM Access Analyzer, consultez Validation de politique IAM Access Analyzer dans le Guide de l’utilisateur IAM. Pour afficher la liste des avertissements, erreurs et suggestions renvoyés par IAM Access Analyzer, consultez la Référence de vérification de politique IAM Access Analyzer.

Exemples de stratégies de compartiment pour des points d’accès de compartiments de répertoires

Les stratégies de point d’accès suivantes montrent comment contrôler les demandes adressées à un compartiment de répertoires. Les stratégies de points d’accès nécessitent des ARN de compartiment ou des ARN de points d’accès. Les stratégies ne prennent pas en charge les alias de points d’accès. Voici un exemple d’ARN de point d’accès :

arn:aws:s3express:region:account-id:accesspoint/myaccesspoint--zoneID--xa-s3

Vous pouvez consulter l’ARN du point d’accès dans les détails de ce dernier. Pour plus d’informations, consultez Affichage des détails des points d’accès de vos compartiments de répertoires.

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.

Exemple 1 – Politique de contrôle des services pour limiter les points d’accès aux origines réseau du VPC

La politique de contrôle de service 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 politique est mise en place, les utilisateurs de votre organisation ne peuvent pas créer de points d’accès accessibles à partir d’Internet.

JSON
{ "Version":"2012-10-17", "Statement": [ { "Effect": "Deny", "Action": "s3express:CreateAccessPoint", "Resource": "*", "Condition": { "StringNotEquals": { "s3express:AccessPointNetworkOrigin": "VPC" } } } ] }
Exemple 2 – Stratégie de point d’accès pour limiter l’accès du compartiment aux points d’accès possédant une origine réseau VPC

La stratégie de point d’accès suivante limite tout accès du compartiment amzn-s3-demo-bucket--zoneID--x-s3 à un point d’accès possédant une origine réseau VPC.

JSON
{ "Version":"2012-10-17", "Statement": [ { "Sid": "DenyCreateSessionFromNonVPC", "Principal": "*", "Action": "s3express:CreateSession", "Effect": "Deny", "Resource": "arn:aws:s3express:us-east-1:111122223333:bucket/amzn-s3-demo-bucket--usw2-az1--x-s3" } ] }

Clés de condition

Les points d’accès de compartiments de répertoires comportent des clés de condition que vous pouvez utiliser dans vos politiques IAM pour contrôler l’accès à vos ressources. Les clés de condition suivantes ne représentent qu’une partie d’une politique IAM. Pour obtenir des exemples complets de politiques, consultez Exemples de stratégies de compartiment pour des points d’accès de compartiments de répertoires, 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.

s3express:DataAccessPointArn

Cet exemple montre comment filtrer l’accès par Amazon Resource Name (ARN) de point d’accès, et fait correspondre tous les points d’accès du Compte AWS 111122223333 dans la région region :

"Condition" : { "StringLike": { "s3express:DataAccessPointArn": "arn:aws:s3express:region:111122223333:accesspoint/*" } }
s3express: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 appartenant au Compte AWS 111122223333.

"Condition" : { "StringEquals": { "s3express:DataAccessPointAccount": "111122223333" } }
s3express: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 correspond qu’aux points d’accès ayant une origine VPC.

"Condition" : { "StringEquals": { "s3express:AccessPointNetworkOrigin": "VPC" } }
s3express:Permissions

Vous pouvez utiliser s3express:Permissions pour restreindre l’accès à des opérations d’API spécifiques dans la portée du point d’accès. Les opérations d'API suivantes sont prises en charge :

  • PutObject

  • GetObject

  • DeleteObject

  • ListBucket (requise pour ListObjectsV2)

  • GetObjectAttributes

  • AbortMultipartUpload

  • ListBucketMultipartUploads

  • ListMultipartUploadParts

Note

Lorsque vous utilisez des clés de condition à valeurs multiples, nous vous recommandons d’utiliser ForAllValues avec les instructions Allow, et ForAnyValue avec les instructions Deny. Pour plus d’informations, consultez Clés de contexte à valeurs multiples dans le Guide de l’utilisateur IAM.

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

Pour plus d’informations sur les autorisations requises pour les opérations d’API S3 par type de ressource S3, consultez Autorisations requises pour les opérations d’API Amazon S3.

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

Vous pouvez déléguer le contrôle des accès de la stratégie de compartiment à la stratégie de point d’accès. Dans l’exemple suivant, la stratégie de compartiment permet un accès complet à tous les points d’accès appartenant au compte du propriétaire du compartiment. Une fois la stratégie appliquée, tous les accès à ce compartiment sont contrôlés par la stratégie de point 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 stratégie de compartiment qui délègue le contrôle des accès aux points d’accès
{ "Version": "2012-10-17", "Statement" : [ { "Effect": "Allow", "Principal" : { "AWS": "*" }, "Action" : "*", "Resource" : [ "Bucket ARN", "Condition": { "StringEquals" : { "s3express: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 stratégie 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 DNS CNAME dans la mesure où le point d’accès ne donne pas accès au contenu du compartiment. Tous les accès aux compartiments sont contrôlés par la politique des compartiments. L’exemple de stratégie 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 ARN du compartiment par le nom du compartiment.

Exemple de stratégie de compartiment déléguant les autorisations à un autre Compte AWS
JSON
{ "Version":"2012-10-17", "Statement" : [ { "Sid": "AllowCreateSessionForDirectoryBucket", "Effect": "Allow", "Principal" : { "AWS": "*" }, "Action" : "s3express:CreateSession", "Resource" : [ "arn:aws:s3express:us-west-2:111122223333:bucket/amzn-s3-demo-bucket--usw2-az1--x-s3" ], "Condition": { "ForAllValues:StringEquals": { "s3express:Permissions": [ "GetObject", "ListBucket" ] } } }] }