Я пытаюсь настроить кросс-аккаунт S3 write.Пользователь IAM учетной записи B для записи в S3-сегмент учетной записи A и передачи права собственности на объект учетной записи A.
Для обеспечения этого я сослался https://docs.aws.amazon.com/AmazonS3/latest/dev/example-bucket-policies.html и нашел следующий пример:
{
"Version":"2012-10-17",
"Statement":[
{
"Sid":"111",
"Effect":"Allow",
"Principal":{"AWS":"1111111111"},
"Action":"s3:PutObject",
"Resource":"arn:aws:s3:::examplebucket/*"
},
{
"Sid":"112",
"Effect":"Deny",
"Principal":{"AWS":"1111111111" },
"Action":"s3:PutObject",
"Resource":"arn:aws:s3:::examplebucket/*",
"Condition": {
"StringNotEquals": {"s3:x-amz-acl":"bucket-owner-full-control"}
}
}
]
}
Я пытаюсь добавить Condition
с помощью Allow
, как показано ниже, но я не уверен, эквивалентен ли он указанному выше, или могут быть какие-либо крайние случаи, которые включены в пример AWS, но могут попасть в мою политику
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "AllowWithBucketOwnerShip",
"Action": [
"s3:PutObject",
"s3:PutObjectAcl"
],
"Effect": "Allow",
"Resource": [
"arn:aws:s3:::examplebucket/*"
],
"Principal": {
"AWS": [
"arn:aws:iam::{account-id}:root"
]
},
"Condition": {
"StringEquals": {
"s3:x-amz-acl": "bucket-owner-full-control"
}
}
}
}