我有一個IAM角色被附加到微服務,以限制基於用戶代理的S3文件夾訪問。微服務父帳戶和存儲桶擁有者是相同的。AWS政策評估
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"s3:*"
],
"Resource": [
"arn:aws:s3:::bucket-test/service/${aws:useragent}/*"
]
},
{
"Sid": "AllowListingOfUserFolder",
"Action": [
"s3:ListBucket"
],
"Effect": "Allow",
"Resource": [
"arn:aws:s3:::bucket-test"
],
"Condition": {
"StringLike": {
"s3:prefix": [
"service/${aws:useragent}/*"
]
}
}
}
]
}
相同的S3存儲桶有一個默認的ACL,其中的帳戶有R/W對象和權限。
由於ACL和IAM策略,我不明白這個策略是如何評估的。例如,具有上述角色的用戶通過用戶代理micro-a
向bucket-test/service/micro-b/new_object
發出put_object
請求。這是否定的否定?爲什麼?
我查看了那些文檔。仍然不回答是否明確/隱含否認,或允許和爲什麼。 –
政策從來不是一個隱含的東西。根據定義,策略總是*顯式*。 *評估所有*政策。如果有另一項允許超出本政策允許範圍的政策,則此政策沒有任何用處。隱含的唯一缺點是在沒有適用的顯式允許的情況下存在的默認隱式拒絕。 –