一時的なクイックサイト ユーザーを登録し、React アプリに配置する埋め込み URL を生成しようとしています。ただし、登録ユーザー API を呼び出すと、CORS プリフライト OPTIONS 要求に対して 403 エラーが発生します。
' https://quicksight.ap-southeast-2.amazonaws.com/accounts/ /namespaces/default/users' のオリジン ' http://localhost:3000 'からの XMLHttpRequest へのアクセスは、CORS ポリシーによってブロックされました: Response toプリフライト リクエストがアクセス制御チェックに合格しません: 要求されたリソースに 'Access-Control-Allow-Origin' ヘッダーがありません。"
私もus-east-1
自分の地域として使用しようとしましたが、それも失敗します。
ユーザーは Cognito 資格情報を使用して私の webapp にサインインします。ID プールには関連付けられた IAM ロールがあり、そのロールにポリシーをアタッチして、新しいクイックサイト ユーザーを登録し、埋め込み URL を取得するためのアクセス権を付与しました。私の webapp は現在、aws-sdk ライブラリを使用して sts を介して役割を引き受け、その後のクイックサイト呼び出しを行います。
React アプリは Amplify でホストされています
quicksightRegisterUser(data) {
var params = {
AwsAccountId: 'QQQ',
Email: 'XXX',
IdentityType: 'IAM' ,
Namespace: 'default',
UserRole: "READER",
IamArn: 'arn:aws:iam::YYY:role/ZZZ',
SessionName: 'XXX',
UserName:'XXX'
};
var quicksight = new QuickSight();
quicksight.registerUser(params, function (err, data1) {
if (err) {
console.log("err register user");
console.log(err);
} // an error occurred
else {
console.log("Register User1");
console.log(data1)
}
})
}