0

Je souhaite synchroniser des données entre deux compartiments s3. Le problème est que chacun appartient à des comptes AWS différents (c'est-à-dire, un ID de clé d'accès et une clé d'accès secrète).Comment synchroniser des données entre deux compartiments s3 appartenant à différents profils

J'ai essayé de faire le seau de destination publiquement inscriptible, mais je reçois encore

fatal error: An error occurred (AccessDenied) when calling the ListObjects operation: Access Denied 

Comment résoudre ce problème?

+0

Activer l'accès au compte croix dans l'un des rôle IAM (disons compte A). Dans le compartiment (disons le compte B) du second compte, définissez la stratégie de compartiment pour permettre au rôle IAM du compte A d'y écrire (s3: PutObject). –

+0

Les compartiments S3 appartiennent au compte AWS racine et non à un utilisateur/rôle/profil IAM spécifique. En outre, un compartiment S3 n'a pas spécifiquement de clés d'accès/clés secrètes, ce sont des informations d'identification d'accès affectées au compte AWS racine ou à un compte IAM. Donc, dites-vous que les compartiments appartiennent à différents comptes AWS? Ou dites-vous simplement que vous utilisez actuellement différents utilisateurs IAM sous un même compte AWS pour accéder aux compartiments? –

+0

Oui @MarkB. Vous avez raison, deux compartiments appartenant à différents comptes AWS. Btw, j'ai résolu de donner des autorisations au compte de seau source. – gc5

Répondre

0

J'ai résolu en donnant des autorisations pour écrire le compartiment de destination dans le compte AWS du compartiment source. Je suis allé dans l'onglet "Autorisations" du compartiment de destination, "Accès pour les autres comptes AWS", et j'ai donné des autorisations au compte AWS du compartiment source en utilisant l'adresse électronique du compte.

Je copié les fichiers en utilisant AWS CLI (ne pas oublier d'accorder l'accès complet au compte du destinataire!):

aws s3 cp s3://<source_bucket>/<folder_path>/ s3://<destination_bucket> --recursive --profile <source_AWSaccount_profile> --grants full=emailaddress=<destination_account_emailaddress>