Java(サーブレット)で「aws-java-sdk-s3」を使ってAmazon S3対応のMinioでテストしています。
Minio は、バケット ポリシーの初期値が None であるため、これを「プレフィックス: *、読み取り専用」として設定したいと考えています。
以下のように書いたバケツ作成時のソースコードを追加しましたが、変わりませんでした。
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の環境設定などで、すべてのバケットのバケットポリシーの初期値を変更できるのであれば問題ありません。
ありがとうございました。