Назад | Перейти на главную страницу

Предоставить доступ к роли в другом аккаунте AWS всем объектам в моем сегменте

Поэтому я хочу предоставить роли, которая существует в учетной записи A, разрешение на получение объекта для элементов в корзине, принадлежащей учетной записи B.

Я читаю Примеры политик в документации AWS и создал такую ​​политику корзины:

{
    "Version": "2012-10-17",
    "Id": "foo2",
    "Statement": [
        {
            "Sid": "Stmt199999999999",
            "Effect": "Allow",
            "Principal": {
                "AWS": "arn:aws:iam::123456789:role/asset_download_role"
            },
            "Action": "s3:GetObject",
            "Resource": "arn:aws:s3:::my-bucket-name/*"
        }
    ]
}

Что для меня гласит по-английски: «Дайте роли asset_download_role из учетной записи 123456789 разрешение GetObject для всех и всех объектов внутри корзины имя-ведра».

тестовый объект в корзине, foo.jpg, не имеет дополнительных ACL или разрешений, установленных помимо стандартного «Доступ для владельца объекта»

Теперь, когда я беру на себя роль и пытаюсь получить объект

aws s3api get-object  --profile download_asset --region eu-west-2 --bucket my-bucket-name --key foo.jpg file.jpg

(или используя boto3, или подписывая URL-адрес этими учетными данными и получая этот URL-адрес)

Я получаю сообщение «Произошла ошибка (AccessDenied) при вызове операции GetObject: доступ запрещен»

Сменив профиль на учетные данные владельца корзины, я могу скачать файл.

Что я делаю не так?

[обратите внимание, что хотя у меня есть доступ как к учетной записи A, так и к учетной записи B в этой тестовой настройке, в реальной жизни учетная запись B будет принадлежать третьей стороне, которой я хочу предоставить рабочую политику, которую они могут использовать для открытия того, что им требуется ]

Решение заключалось в том, что при предоставлении разрешения роли, принадлежащей сторонней учетной записи, к роли необходимо добавить политику, предоставляющую доступ к корзине - разрешения должны быть определены и согласованы на обоих концах.