java - 在 S3 存储桶策略中添加自定义条件

标签 java amazon-s3

有没有办法在 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 。但是,有办法解决这个问题吗?

最佳答案

关于java - 在 S3 存储桶策略中添加自定义条件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47213122/

相关文章:

java - 如果不使用validation.excludeMethods,则无法在同一操作类下调用两个不同的方法

python - boto3 s3 客户端复制函数中可能的 ExtraArgs 值

go - 如何在golang中将*multipart.FileHeader文件类型转换为*os.File

amazon-s3 - 尝试通过 Logstash 传递二进制文件

java - java中不包含特殊单词的正则表达式

java - junit:开发测试用例的最佳实践?

java - 如何正确使用 Bouncy CaSTLe 的 OAEPEncoding for RSA(轻量级 API)

java - android twitter 4j 集成获取推文实体

javascript - 如何通过 javascript 在不公开 API key 的情况下将数据存储在 Amazon DB(没有服务器)中?

amazon-web-services - 如何获取存储在 s3 存储桶中的文件夹的 url?