有没有办法在 S3 存储桶策略上添加自定义用户定义条件?
例如,使用 AWS SDK,我可以使用 addUserMetadata(String key, String value)
将用户元数据放入 ObjectMetadata
中。我希望能够通过存储桶策略强制执行涉及此客户用户元数据的条件。
例如:
我首先添加用户元数据addUserMetadata("custom-param", "1234")
。
然后,我想强制该 header 存在于存储桶策略中:
{
"Version": "2012-10-17",
"Id": "PutObjPolicy",
"Statement": [
{
"Effect": "Deny",
"Principal": "*",
"Action": "s3:PutObject",
"Resource": "arn:aws:s3:::awslogs.playground/*",
"Condition": {
"StringEquals": {
"x-amz-meta-custom-param": "1234"
}
}
}
]
}
上述策略会给我一个错误“策略具有无效的条件键”。
我认为上述错误意味着S3存储桶策略只能支持有限的 key 。但是,有办法解决这个问题吗?
最佳答案
不幸的是,没有办法限制 IAM 策略中的自定义元数据。
http://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_condition.html
关于java - 在 S3 存储桶策略中添加自定义条件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47213122/