У меня есть AWS cli, установленный на экземпляр EC2, и я настроил его, запустив aws configure
и предоставив ему свои ключи AWSAccessKeyId и AWSSecretKey, поэтому, если я запустил команду aws s3 ls
, она вернет имя мой ведро S3 (назовите его «mybucket»).S3 cp AccessDenied из AWS cli с корневыми ключами
Но, если бы я тогда попробовать aws s3 cp localfolder/ s3://mybucket/ --recursive
я получаю ошибку, которая выглядит как
A client error (AccessDenied) occurred when calling the CreateMultipartUpload operation: Anonymous users cannot initiate multipart uploads. Please authenticate.
Я подумал, что, запустив AWS настройки и дать ему мой корневой ключ, который я был фактически дающую AWS Cli все, что необходимо для аутентификации? Есть ли что-то, чего я не вижу в копировании в ведро S3, а не перечислять их?
Ваш пользователь/роль IAM должен быть назначен политикой, которая позволяет ему выполнять действие «CreateMultipartUpload» - вы можете моделировать политики через IAM, чтобы проверить, будет ли он работать. –
Ключ доступа root и секретные ключи должны иметь все привилегии. Попробуйте запустить aws configure еще раз - –
Спасибо @Naveen На основании вашего комментария я попытался использовать другой набор корневых ключей, которые у меня были на другом компьютере, и это действительно сработало. Я теперь озадачен тем, почему один набор корневых ключей работал, а другой - нет. Но по крайней мере ваше предложение решило мою проблему. –