Pourquoi ne puis-je pas me connecter à mon compartiment Amazon S3 depuis mon instance Amazon EC2 ?

Date de la dernière mise à jour : 07/12/2020

Je ne parviens pas à accéder à un compartiment Amazon Simple Storage Service (Amazon S3) depuis mon instance Amazon Elastic Compute Cloud (Amazon EC2). Comment activer l'accès en lecture/écriture aux compartiments S3 depuis une instance EC2 ?

Brève description

Pour vous connecter à vos compartiments S3 depuis vos instances EC2, procédez comme suit :

1.    Créer un rôle de profil AWS Identity and Access Management (IAM) qui autorise l'accès à Amazon S3.

2. Joignez le profil d'instance IAM à l'instance.

3.    Validez les autorisations sur votre compartiment S3.

4. Validez la connectivité réseau depuis l'instance EC2 vers Amazon S3.

3.    Validez l'accès aux compartiments S3.

Résolution

Créez un profil d'instance IAM qui autorise l'accès à Amazon S3

1.    Ouvrez la console IAM.

2.    Cliquez sur Roles (Rôles), puis sur Create Role (Créer un rôle).

3.    Sélectionnez Service AWS, puis choisissez EC2.

Remarque : La création d'un rôle IAM depuis la console avec EC2 sélectionné comme entité de confiance crée automatiquement un profil d'instance IAM portant le même nom que le nom de rôle. Toutefois, si le rôle est créé à l'aide de l'interface de ligne de commande AWS (AWS CLI) ou depuis l'API, un profil d'instance n'est pas créé automatiquement. Pour plus d'informations, consultez J'ai créé un rôle IAM, mais il n'apparaît pas dans la liste déroulante lorsque je lance une instance. Que faire ?

4.    Sélectionnez Next: Permissions (Suivant : autorisations).

5.    Créez une stratégie personnalisée qui fournit les autorisations minimales requises pour accéder à votre compartiment S3. Pour savoir comment créer des stratégies personnalisées, consultez Écriture de stratégies IAM : comment accorder l’accès à un compartiment Amazon S3 compartiment et Gestion de l’accès aux ressources S3.

Remarque : La création d'une stratégie avec les autorisations minimales requises est une bonne pratique de sécurité. Toutefois, pour autoriser l'accès EC2 à tous vos compartiments Amazon S3, vous pouvez utiliser la stratégie IAM gérée Amazons3ReadOnlyAccess ou Amazons3FullAccess.

6.    Sélectionnez Next: Tags (Suivant : balises), puis sélectionnez Next: Review (Suivant : vérification).

7.    Saisissez un Nom de rôle , puis sélectionnez Créer un rôle.

Joignez le profil d'instance IAM à l'instance EC2

1.    Ouvrez la console Amazon EC2.

2.    Choisissez Instances.

3.    Sélectionnez l'instance à laquelle vous souhaitez joindre le rôle IAM.

4.    Sélectionnez l'onglet Actions, choisissez Sécurité, puis Modifier le rôle IAM.

5.    Sélectionnez le rôle IAM que vous venez de créer, puis choisissez Enregistrer. Le rôle IAM est attribué à votre instance EC2.

Validez les autorisations sur votre compartiment S3

1.    Ouvrez la console Amazon S3.

2.    Sélectionnez le compartiment S3 pour lequel vous souhaitez vérifier la stratégie.

3.    Choisissez Permissions (Autorisations).

4.    Choisissez Stratégie de compartiment.

5.    Recherchez les instructions avec "Effect": "Deny".

6.    Dans votre stratégie de compartiment, modifiez ou retirez les instructions Effect: Deny qui refusent au profil d'instance IAM l'accès à votre compartiment. Pour plus d'informations sur la modification des stratégies, consultez Modification des stratégies IAM.

Valider la connectivité réseau depuis l'instance EC2 vers Amazon S3

Vérifiez que l'instance EC2 dispose d'une connectivité aux points de terminaison S3.

L'instance doit être l'une des suivantes :

Instance EC2 avec une adresse IP publique et une entrée de table de routage avec le routage par défaut pointant vers une passerelle Internet.
Instance EC2 privée avec un routage par défaut via une passerelle NAT.
Instance EC2 privée avec une connectivité à Amazon S3 à l'aide d'un point de terminaison d'un VPC de passerelle.

Valider l'accès aux compartiments S3

1.    Installez AWS CLI.

Remarque : Si vous recevez des erreurs lors de l'exécution des commandes depuis AWS CLI, assurez-vous que vous utilisez la version AWS CLI la plus récente.

2.    Vérifiez l'accès à vos compartiments S3 en exécutant la commande suivante. Remarque : DOC-EXAMPLE-BUCKET avec le nom de votre compartiment S3.

aws s3 ls s3://DOC-EXAMPLE-BUCKET

Remarque : Les objets S3 qui sont chiffrés avec une clé AWS Key Management Service (AWS KMS) doivent avoir les autorisations kms: Decrypt accordées dans le rôle IAM joint à l'instance et dans la stratégie de clé KMS pour qu'une copie ou un téléchargement réussisse. Pour plus de renseignements, consultez la section Est-il nécessaire de définir la clé AWS KMS lorsque je télécharge un objet chiffré par KMS depuis Amazon S3 ?


Cet article vous a-t-il été utile ?


Besoin d'aide pour une question technique ou de facturation ?