Comment accéder à un compartiment d’un autre compte via un point d’accès S3 limité à un VPC ?
J’ai une entité Gestion des identités et des accès AWS (AWS IAM) et un compartiment Amazon Simple Storage Service (Amazon S3) dans différents comptes AWS. Je souhaite accorder à l’entité IAM un accès intercompte au compartiment via un point d’accès Amazon S3. Le point d’accès est limité à un Amazon Virtual Private Cloud (Amazon VPC).
Brève description
Vous pouvez accorder à un utilisateur ou à un rôle IAM d’un compte AWS l’accès à un compartiment Amazon S3 dans un autre compte AWS via un point d’accès S3 limité à un Amazon VPC.
Supposons que l’entité IAM se trouve dans le compte A et que le compartiment S3 se trouve dans le compte B. Pour autoriser l’entité IAM à accéder au compartiment via un point d’accès S3 limité à un Amazon VPC, procédez comme suit :
- Créez et attachez un point d’accès Amazon S3 au compartiment du compte B.
- Créez un point de terminaison de passerelle Amazon S3 VPC dans le compte A.
- Attachez des stratégies au point d’accès, au compartiment et à l’entité IAM.
Remarque : l’identité IAM du compte A doit se trouver dans la même région AWS que le compartiment S3 du compte B.
Résolution
Créer et attacher un point d’accès Amazon S3 au compartiment du compte B
Pour créer et attacher un point d’accès Amazon S3 au compartiment du compte B, procédez comme suit :
- Ouvrez la console Amazon S3.
- Dans le volet de navigation, choisissez Points d’accès.
- Choisissez Créer un point d’accès.
- Pour le champ Nom du point d’accès, saisissez le nom du point d’accès. Pour en savoir plus sur la façon de nommer les points d’accès, consultez la page Règles relatives à l’attribution de noms pour les points d’accès Amazon S3.
- Pour le champ Nom du compartiment, choisissez Choisir un compartiment dans ce compte, puis saisissez le nom du compartiment auquel vous souhaitez attacher le point d’accès.
- Pour le champ Origine du réseau, choisissez Cloud privé virtuel (VPC).
- Pour le champ ID de VPC, saisissez l’ID du VPC de l’autre compte AWS (compte A).
- Sous Paramètres de blocage de l’accès public pour ce point d’accès, choisissez les paramètres de blocage de l’accès public que vous souhaitez appliquer au point d’accès.
Remarque : une fois que vous avez créé un point d’accès, vous ne pouvez pas modifier ses paramètres de blocage de l’accès public. - Laissez le champ Stratégie de point d’accès vide.
- Choisissez Créer un point d’accès.
Créer un point de terminaison de passerelle Amazon S3 VPC dans le compte A
Pour créer un point de terminaison de passerelle VPC S3 dans le compte A qui donne accès au compartiment Amazon S3 du compte B, procédez comme suit :
- Ouvrez la console Amazon VPC.
- Dans le volet de navigation, choisissez Points de terminaison.
- Choisissez Créer un point de terminaison.
- Pour le champ Catégorie de service, choisissez Services AWS.
- Pour le champ Services, ajoutez le filtre Type = Passerelle et sélectionnez com.amazonaws.<region>.s3.
- Pour le champ VPC, sélectionnez le VPC que vous avez utilisé pour créer le point d’accès dans le compte B.
- Pour le champ Tables de routage, choisissez les tables de routage que votre point de terminaison doit utiliser.
- Pour le champ Stratégie, sélectionnez Accès complet pour autoriser toutes les opérations par tous les principaux sur toutes les ressources via le point de terminaison d’un VPC. Vous pouvez également sélectionner Personnalisé et utiliser votre propre stratégie qui autorise les actions S3 requises.
Par exemple, la politique de point de terminaison VPC suivante autorise toutes les actions S3 sur tous les compartiments :
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": "*", "Action": "s3:*", "Resource": "arn:aws:s3:*" } ] }
Remarque : les points de terminaison de passerelle n’autorisent pas l’accès depuis d’autres régions AWS.
Attacher des stratégies au point d’accès, au compartiment et à l’entité IAM
Pour autoriser l’entité IAM du compte A à accéder au compartiment du compte B via le point d’accès, vous devez attacher des stratégies aux éléments suivants :
- Le point d’accès
- Le compartiment S3
- L’entité IAM
Stratégie de point d’accès
Pour accorder à l’entité IAM du compte A l’autorisation d’accéder au point d’accès S3 du compte B, attachez la stratégie suivante à votre point d’accès :
{ "Version": "2012-10-17", "Statement": [ { "Sid": "DelegateControlToAccessPoint", "Effect": "Allow", "Principal": { "AWS": [ "arn:aws:iam::AccountA-ID:user/user1", "arn:aws:iam::AccountA-ID:role/role01" ] }, "Action": [ "s3:ListBucket", "s3:PutObject", "s3:GetObject" ], "Resource": [ "arn:aws:s3:us-east-2:AccountB-ID:accesspoint/my-acess-point/object/*", "arn:aws:s3:us-east-2:AccountB-ID:accesspoint/my-access-point" ] } ] }
Stratégie de compartiment
Pour autoriser l’entité IAM du compte A à accéder au compartiment du compte B via le point d’accès, attachez la stratégie suivante à votre compartiment :
{ "Version": "2012-10-17", "Statement": [ { "Sid": "AllowCrossAccountAccess", "Effect": "Allow", "Principal": { "AWS": [ "arn:aws:iam::AccountA-ID:user/user1", "arn:aws:iam::AccountA-ID:role/role01" ] }, "Action": [ "s3:GetObject", "s3:ListBucket", "s3:PutObject" ], "Resource": [ "arn:aws:s3:::my-bucket", "arn:aws:s3:::my-bucket/*" ], "Condition": { "StringEquals": { "s3:DataAccessPointArn": "arn:aws:s3:us-east-2:AccountB-ID:accesspoint/my-access-point" } } } ] }
Politique IAM
Pour accorder à l’entité IAM du compte A l’autorisation d’accéder au compartiment et au point d’accès du compte B, attachez la politique suivante à votre entité IAM :
{ "Version": "2012-10-17", "Statement": [ { "Sid": "AllowCrossAccountAccessToBucketAndAP", "Effect": "Allow", "Action": [ "s3:ListBucket", "s3:PutObject", "s3:GetObject" ], "Resource": [ "arn:aws:s3:us-east-2:AccountB-ID:accesspoint/my-access-point", "arn:aws:s3:us-east-2:AccountB-ID:accesspoint/my-access-point/object/*", "arn:aws:s3:::my-bucket", "arn:aws:s3:::my-bucket/*" ] } ] }
Exemples de commandes AWS CLI pour effectuer des opérations S3 sur le compartiment via le point d’accès
Remarque : si des erreurs surviennent lorsque vous exécutez des commandes de l’interface de la ligne de commande AWS (AWS CLI), consultez la page Résoudre les erreurs liées à AWS CLI. Vérifiez également que vous utilisez bien la version la plus récente d’AWS CLI.
Pour répertorier les objets via le point d’accès, exécutez la commande ls :
aws s3 ls arn:aws:s3:us-east-2:AccountB-ID:accesspoint/my-access-point
Pour charger des fichiers via le point d’accès, exécutez la commande cp :
aws s3 cp file.txt s3://arn:aws:s3:us-east-2:AccountB-ID:accesspoint/my-access-point
Vous pouvez également utiliser la commande cp pour télécharger des fichiers via le point d’accès :
aws s3 cp s3://arn:aws:s3:us-east-2:AccountB-ID:accesspoint/my-access-point file.txt
Remarque : la demande doit provenir d’une instance Amazon Elastic Compute Cloud (Amazon EC2) qui se trouve dans le même VPC et la même région que le compartiment.
Contenus pertinents
- demandé il y a 9 moislg...
- demandé il y a 5 moislg...
- demandé il y a 6 moislg...
- demandé il y a 7 moislg...
- demandé il y a 2 anslg...
- AWS OFFICIELA mis à jour il y a 9 mois
- AWS OFFICIELA mis à jour il y a 9 mois
- AWS OFFICIELA mis à jour il y a un an