0
私は、次のS3構造:AWSポリシーの読み取りのために/バケット内のファイルへの書き込み
バケット名:テスト・バケット
ファイル:
test.jsonそして、私は次のようしているがAWSポリシー:
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": "s3:PutObject",
"Action": "s3:GetObject",
"Action": "s3:DeleteObject",
"Action": "s3:ListBucket",
"Resource": "arn:aws:s3:::test-bucket"
}
]
}
そして、この方針は、キーのアクセス権を持つユーザーに添付された123
私はこのようSDKを使用してテストバケツにtest.jsonを置くか、取得しよう:
BasicAWSCredentials awsCreds = new BasicAWSCredentials("123", "secretKeyId");
s3Client = AmazonS3ClientBuilder.standard()
.withCredentials(new AWSStaticCredentialsProvider(awsCreds))
.withRegion("US-EAST-1")
.build();
s3Client.putObject(new PutObjectRequest("test-bucket", "test.json", file));
これが問題を否定アクセスできるようになります。
私は
"Resource": "*"
にポリシーのリソースを変更する場合、それが動作します。私はちょうど私が入れたリソースが正しいフォーマットであることを確認したい。何が悪かったのか?
タイプミス::のようなものに
'ListBucekt' - >' ListBucket' – Jeremy
@Jeremyああそれはコピー&ペースト時のタイプミスです。 – jamesdeath123