Amazon S3でホストされている静的ウェブサイトから、JavaScript(AJAX)を使用して別のドメインにあるAmazon API Gatewayエンドポイントを呼び出したところ、ブラウザのコンソールに「No 'Access-Control-Allow-Origin' header is present on the requested resource」というエラーが表示され、通信がブロックされました。この問題を解決するために必要な設定はどれですか。
A
API GatewayのリソースレベルでCORS(Cross-Origin Resource Sharing)を有効にし、適切なOPTIONSメソッドとレスポンスヘッダーを設定する。
✓ 正解
API Gateway側でCORSを有効化し、ブラウザからのPreflightリクエスト(OPTIONSメソッド)に対して適切な許可ヘッダーを返すように設定するのが正解です。
B
API GatewayのIAMリソースポリシーを更新し、S3バケットのARNからの execute-api:Invoke アクセスを許可する。