Из экземпляра EC2, работающего в VPC, мне нужен доступ к ведру S3 с помощью awscli для копирования файлов из EC2 в S3.
Я успешно создал конечную точку с прикрепленной настраиваемой политикой, созданной с помощью построителя политик, предоставленного Amazon.
EC2 работает с определенной ролью, если я назначаю такую роль «ARN: ...» принципалу, я получаю «Доступ запрещен». Если я заменю роль на «*», она будет работать отлично. Что я делаю не так? Это политика, как вы видите, я разрешаю только загрузку и получение объектов:
{
"Version": "2012-10-17",
"Id": "Policy14467516498654",
"Statement": [
{
"Sid": "Stmt1446751649837",
"Effect": "Allow",
"Principal": {
"AWS": "*" <-- it's not working with specific role
},
"Action": [
"s3:ListAllMyBuckets",
"s3:ListBucket",
"s3:PutObject",
"s3:AbortMultipartUpload",
"s3:GetBucketLocation",
"s3:GetObject",
"s3:CreateMultipartUpload"
],
"Resource": "arn:aws:s3:::thebucket/thechildbucket/*"
}
]
}
Роль имеет полный доступ к EC2. Я уже пробовал назначить полный доступ к S3, но не работает.
Политика для самой роли также должна иметь доступ S3: [permissions] к целевому сегменту.
{
"Sid": "Stmt1234",
"Effect": "Allow",
"Action": [
"s3:*"
],
"Resource": [
""arn:aws:s3:::thebucket/thechildbucket",
""arn:aws:s3:::thebucket/thechildbucket/*"
]
}