Как мы можем скопировать файлы s3 между группами разных учетных записей / учетных данных, используя s3 cp и разные профили? - PullRequest
0 голосов
/ 11 июня 2018

Я создал два профиля (один для исходного и один для целевого сегмента) и использовал следующую команду для копирования:

aws s3 cp --profile source_profile s3://source_bucket/file.txt --profile target_profile s3://target_profile/

Но он выдает ошибку ниже.

fatal error: An error occurred (403) when calling the HeadObject operation: Forbidden

Похожемы не можем использовать несколько профилей с командами aws.

Ответы [ 2 ]

0 голосов
/ 11 июня 2018

Самый простой способ - предоставить разрешения с помощью политики корзины.

Допустим, у вас есть:

  • Учетная запись A с IAM User-A
  • Учетная запись-B с Bucket-B

Добавьте политику Bucket на Bucket-B:

{
  "Id": "CopyBuckets",
  "Version": "2012-10-17",
  "Statement": [
    {
      "Sid": "GrantAccessToUser-A",
      "Action": "s3:*",
      "Effect": "Allow",
      "Resource": [
        "arn:aws:s3:::bucket-b",
        "arn:aws:s3:::bucket-b/*"
      ],
      "Principal": {
        "AWS": [
          "arn:aws:iam::<account-a-id>:user/user-a"
        ]
      }
    }
  ]
}

Затем просто скопируйте файлы как пользователь-A.

См. Также: aws sync между сегментами S3 на разных аккаунтах AWS

0 голосов
/ 11 июня 2018

Нет, вы не можете использовать несколько профилей в одной команде CLI AWS.Возможные решения:

1) Загрузите файлы на локальный диск, затем загрузите их в целевое хранилище с помощью отдельной команды.

2) Разрешите доступ первой учетной записи к целевому хранилищу.Для этого вам нужно будет создать роль кросс-аккаунта в исходной учетной записи и назначить ей соответствующие разрешения в целевой учетной записи.Таким образом, вы будете использовать одну роль / один профиль, но этой роли будут предоставлены разрешения для второй учетной записи.Смотри https://docs.aws.amazon.com/IAM/latest/UserGuide/tutorial_cross-account-with-roles.html

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...