Amazon S3:使用Java SDK更改存储桶策略

时间:2018-09-05 08:52:26

标签: java amazon-web-services servlets amazon-s3 minio

我正在使用Java(Servlet)中的“ aws-java-sdk-s3”与Amazon S3兼容的Minio进行测试。

Minio希望将此设置为“前缀:*,只读”,因为存储桶策略的初始值为“无”。

我在创建存储桶时添加了源代码 我写的如下,但没有改变。

BasicAWSCredentials awsCreds = new BasicAWSCredentials(awsId, awsKey);
AmazonS3 s3Client = AmazonS3ClientBuilder.standard()
    .withCredentials(new AWSStaticCredentialsProvider(awsCreds))
    .withEndpointConfiguration(new EndpointConfiguration(endpoint, null))
    .withPathStyleAccessEnabled(true)
    .build();

s3client.createBucket(new CreateBucketRequest(bucketName));
s3client.setBucketPolicy(bucketName,
    "{"
        + "\"Version\":\"2012-10-17\","
        + "\"Statement\":["
            + "{"
                + "\"Sid\":\"Statement1\","
                + "\"Effect\":\"Allow\","
                + "\"Principal\":\"*\","
                + "\"Action\":[\"s3:GetObject\"],"
                + "\"Resource\":[\"arn:aws:s3:::*\"]"
            + "}"
        + "]"
    + "}"
);

我错了什么?请告诉我。 如果可以更改所有存储桶的存储桶策略的初始值(例如使用Minio的环境设置),则没有问题。

谢谢。

0 个答案:

没有答案