Копировать данные из корзины S3 в одной учетной записи AWS в корзину S3 в другой учетной записи AWS - PullRequest
0 голосов
/ 04 февраля 2019

Я пытаюсь скопировать объекты корзины S3 из одного AWS в другой аккаунт AWS.Я перешел по этой ссылке здесь , она работает с одной учетной записью A, но выдает ошибку «Отказано в доступе», когда я использую ее с другой учетной записью B. Что может быть причиной этого?Связано ли это с некоторыми брандмауэрами или проблемами безопасности, даже исходная учетная запись B была обнародована.Это политика, применяемая к исходному сегменту B

{

  "Version": "2012-10-17",

  "Statement": [

    {

      "Sid": "DelegateS3Access",

      "Effect": "Allow",

      "Principal": {

        "AWS": "arn:aws:iam::12345678910:user/abc"

      },

      "Action": [

        "s3:ListBucket",

        "s3:GetObject"

      ],

      "Resource": [

        "arn:aws:s3:::sourceBucketB/*",

        "arn:aws:s3:::sourceBucketB"

      ]

    }

  ]

}

Это политика, применяемая к конечному аккаунту

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "s3:ListBucket",
                "s3:GetObject"
            ],
            "Resource": [
                "arn:aws:s3:::sourcebucket",
                "arn:aws:s3:::sourcebucket/*"
            ]
        },
        {
            "Effect": "Allow",
            "Action": [
                "s3:ListBucket",
                "s3:PutObject",
                "s3:PutObjectAcl"
            ],
            "Resource": [
                "arn:aws:s3:::destinationbucket",
                "arn:aws:s3:::destinationbucket/*"
            ]
        }
    ] }

[здесь приведены конфигурации сегмента с учетной записи B] enter image description here [1 \

Я использую следующую команду для копирования из корзины B в целевую учетную запись (используя профиль целевой учетной записи)

aws s3 sync s3: // sourceBucket s3:// destinationBucket

Вот ошибка

фатальная ошибка: произошла ошибка (AccessDenied) при вызове операции ListObjectsV2: доступ запрещен

Ответы [ 2 ]

0 голосов
/ 04 февраля 2019

Эта документация содержит точную требуемую политику и необходимые шаги.

Согласно этой документации политика должна выглядеть следующим образом:

{
  "Version": "2012-10-17",
  "Statement": [
     {
        "Sid": "Example permissions",
        "Effect": "Allow",
        "Principal": {
           "AWS": "arn:aws:iam::AccountB-ID:root"
        },
        "Action": [
           "s3:GetBucketLocation",
           "s3:ListBucket"
        ],
        "Resource": [
           "arn:aws:s3:::sourcebucket"
        ]
     }
  ]
}
0 голосов
/ 04 февраля 2019

Простой способ (предоставить все):

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

Также это кажется ненужным и может усложнить ситуацию (в вашей второй политике):

{
            "Effect": "Allow",
            "Action": [
                "s3:ListBucket",
                "s3:GetObject"
            ],
            "Resource": [
                "arn:aws:s3:::sourcebucket",
                "arn:aws:s3:::sourcebucket/*"
            ]
        },
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...