ファイルを S3 バケットにアップロードするための一時認証情報を取得しようとしています。IAM ユーザーの資格情報を使用して、STS の assumeRole メソッドを呼び出しています。ロールは AWS Cognito を介して作成されます。以下は、IAM ユーザー ポリシーとロール ポリシーです。
エラー メッセージ:
POST https://sts.amazonaws.com/ 403 (Forbidden)
User: arn:aws:iam::########:user/iamUser is not authorized to perform: sts:AssumeRole on resource: arn:aws:iam::#########:role/myRole
IAM ユーザー ポリシー
{
"Statement": [
{
"Effect": "Allow",
"Action": ["s3:GetBucketLocation", "s3:ListAllMyBuckets"],
"Resource": "arn:aws:s3:::*"
},
{
"Effect": "Allow",
"Action": ["s3:ListBucket" ],
"Resource": [ "arn:aws:s3:::myBucket"]
},
{
"Effect": "Allow",
"Action": [ "s3:PutObject", "s3:GetObject", "s3:DeleteObject", "s3:GetObjectAcl","s3:PutObjectAcl"],
"Resource": [ "arn:aws:s3:::myBucket/*"]
},
{
"Effect": "Allow",
"Action": "iam:PassRole",
"Resource": ["arn:aws:iam::###########:role/myRole"]
},
{
"Effect": "Allow",
"Action": "sts:AssumeRole",
"Resource": ["arn:aws:iam::###########:role/myRole"]
}
]
}
ロール ポリシー
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "Stmt1420643359000",
"Effect": "Allow",
"Action": [
"s3:*"
],
"Resource": [
"arn:aws:s3:::myBucket"
]
}
]
}