В настоящее время у меня есть две учетные записи AWS, A и B. Есть корзина S3 X, которой владеет B. A предоставлены разрешения на запись в корзину.
Следующая команда отлично работает из учетной записиA:
aws s3 cp Foo s3://X/bot/test/Foo
К сожалению, у этой команды есть недостаток, заключающийся в том, что объект находится в корзине B, но B не может ничего с этим поделать. Из другого сообщения SO я узнал, что способ исправить это состоит в том, чтобы вместо этого выполнить следующую команду:
aws s3 cp Foo s3://X/bot/test/Foo --acl bucket-owner-full-control
Эта команда работает с намеченным эффектом, когда я использую роль с привилегиями root в учетной записи A. ОднакоЯ делегирую привилегию роли только с четырьмя следующими действиями в корзине.
"s3:GetObject",
"s3:GetObjectVersion",
"s3:ListBucket",
"s3:PutObject"
Когда эта роль принята, и я пытаюсь выполнить команду с флагом --acl
, я получаю следующееошибка:
upload failed: ./Foo to s3://X/bot/test/Foo An error occurred (AccessDenied) when calling the PutObject operation: Access Denied
Обратите внимание, что команда отлично работает с ролью без флага --acl
.
Какие дополнительные действия мне нужно предоставить роли, чтобы разрешить еевыполнить команду s3 cp
с флагом --acl
?