2016-06-14 1 views
0

Je veux migrer seau s3 d'un compte à un autre compte ici est ma politique seauMigrate erreur seau S3

{ 
    "Version": "2008-10-17", 
    "Id": "Policy1335892530063", 
    "Statement": [ 
     { 
      "Sid": "DelegateS3Access", 
      "Effect": "Allow", 
      "Principal": { 
       "AWS": "arn:aws:iam::xxxxxxxx:root" 
      }, 
      "Action": "s3:*", 
      "Resource": [ 
       "arn:aws:s3:::test123", 
       "arn:aws:s3:::test123/*" 
      ] 
     }, 
     { 
      "Sid": "Stmt1335892150622", 
      "Effect": "Allow", 
      "Principal": { 
       "AWS": "arn:aws:iam::xxxxxxx:root" 
      }, 
      "Action": [ 
       "s3:GetBucketAcl", 
       "s3:GetBucketPolicy" 
      ], 
      "Resource": "arn:aws:s3:::test123" 
     }, 
     { 
      "Sid": "Stmt1335892526596", 
      "Effect": "Allow", 
      "Principal": { 
       "AWS": "arn:aws:iam::xxxxxxxxx:root" 
      }, 
      "Action": "s3:PutObject", 
      "Resource": "arn:aws:s3:::test123/*" 
     } 
    ] 
} 

ici est ma stratégie utilisateur IAM

{ 
    "Version": "2012-10-17", 
    "Statement": [ 
    { 
     "Effect": "Allow", 
     "Action": "s3:*", 
     "Resource": ["arn:aws:s3:::*"] 
    } 
    ] 
} 

Quand je lance la commande

aws s3 sync s3://test123 s3://abc-test123 

J'ai l'erreur

Une erreur client (AccessDenied) a eu lieu lors de l'appel de l'opération CopyObject: Accès refusé

Répondre

0

Votre politique seau semble être correct. Veuillez vérifier que vous utilisez le compte root, comme spécifié dans votre stratégie de compartiment. Vous devrez également vérifier s'il n'existe aucune stratégie de compartiment refusée sur votre compartiment de destination.

Si rien ne vous aide, vous pouvez activer l'accès public temporaire à votre compartiment comme une solution de contournement. Oui, ce n'est pas sécurisé mais ça devrait probablement marcher dans tous les cas.

+0

Je passe le compte root vérifié il est réglé correctement, j'essaie également de donner un accès temporaire à chacun de Ajouter plus d'autorisations encore je reçois le même problème. Aucune stratégie n'est définie sur le compartiment de destination, celui qui vient d'être créé. –

0

Assurez-vous de fournir des autorisations adéquates sur le compartiment source (à lire) et sur le compartiment de destination (à écrire).

Si vous utilisez des informations d'identification racine (généralement non recommandées) pour un compte propriétaire du compartiment, vous n'avez probablement pas besoin de la stratégie de compartiment - le compte racine doit, par défaut, avoir l'accès nécessaire.

Si vous attribuez des autorisations à un utilisateur IAM, au lieu de créer une politique de compartiment , attribuez-lui des autorisations sur l'utilisateur IAM. Pas besoin de fournir un principal dans cette situation.

Commencez par vérifier que vous disposez des autorisations à la liste les deux seaux:

  • aws s3 ls s3://test123
  • aws s3 ls s3://abc-test123

Ensuite, vérifiez que vous disposez des autorisations pour copier un fichier à partir de la source et la destination :

  • aws s3 cp s3://test123/foo.txt .
  • aws s3 cp foo.txt s3://abc-test123/foo.txt

S'ils travaillent, la commande sync devrait fonctionner aussi.