すべてのプロダクト
Search
ドキュメントセンター

API Gateway:CORS ポリシーの設定

最終更新日:Jun 23, 2026

オリジン間リソース共有 (CORS) は、ブラウザを通じて外部のオリジンが API リソースにアクセスできるかどうかを制御します。Cloud-native API Gateway は、許可されたオリジン、HTTP メソッド、ヘッダーを制限できるルートレベルの CORS ポリシーをサポートしています。

手順

  1. Cloud-native API Gateway は、CORS ポリシーを設定するための 2 つの方法を提供します。

    インスタンス外の API

    1. Cloud-native API Gateway コンソールにログインします。左側メニューで [API] を選択し、リージョンを選択します。

    2. 対象の API をクリックし、インスタンスのドロップダウンリストから、対象のインスタンスまたは すべてのインスタンス を選択します。

    3. Routes リストから、対象のルートを選択します。

    インスタンス内の API

    1. クラウドネイティブ API ゲートウェイコンソールにログインします。左側のナビゲーションウィンドウで、インスタンス を選択し、リージョンを選択します。

    2. インスタンス ページで、対象のインスタンスをクリックします。左側のナビゲーションペインで、[API] を選択し、対象の API をクリックします。

    3. Routes リストから対象のルートを選択します。

  2. Configure Policy タブをクリックし、Inbound Processing セクションで[ポリシー/プラグインの有効化]をクリックします。

  3. [CORS] カードをクリックします。 「ポリシーの追加: CORS」パネルでパラメーターを設定し、Add をクリックします。

    説明

    CORS ポリシーは、モックサービスには適用されません。テストには実際のバックエンドサービスを使用してください。

    パラメータ

    説明

    [Enable]

    Enable スイッチをオンにします。

    • 有効:指定されたサードパーティのオリジンが、ブラウザを通じてサーバーリソースにアクセスできます。

    • 無効:サードパーティのオリジンは、ブラウザを通じてサーバーリソースにアクセスできません。

    [Allowed Origins]

    サーバーリソースへのアクセスが許可されたオリジンです。サポートされている形式:

    • すべてのオリジン: *

    • ワイルドカードサブドメインマッチ: *.example.com

    • 複数の特定のオリジン: 各オリジンを 1 行に 1 つずつ入力し、http:// または https:// で始めます。

    説明

    Access-Control-Allow-Origin ヘッダーにマッピングされます。 リクエストの Origin が許可されたオリジンと一致する場合、レスポンスの Access-Control-Allow-Origin ヘッダーはその Origin の値を返します。

    [Allowed Methods]

    クロスオリジンリクエストで許可される HTTP メソッドです。一般的なメソッド: GETPOSTPUTDELETEHEADOPTIONSPATCH

    説明

    Access-Control-Allow-Methods ヘッダーにマッピングされます。

    [Allowed Request Headers]

    クロスオリジンリクエストで許可される非標準のリクエストヘッダーです。

    • すべてのヘッダー: *

    • 複数の特定のヘッダー: 各ヘッダー名を 1 行に 1 つずつ入力します。

    説明

    Access-Control-Allow-Headers ヘッダーにマッピングされます。

    [Allowed Response Headers]

    クライアント側のスクリプトに公開されるレスポンスヘッダーです。

    • すべてのヘッダー: *

    • 複数の特定のヘッダー: 各ヘッダー名を 1 行に 1 つずつ入力します。

    説明

    Access-Control-Expose-Headers ヘッダーにマッピングされます。

    [Allow to Carry Credentials]

    クロスオリジンリクエストに認証情報 (Cookie、HTTP 認証) を含めることができるかどうかを指定します。

    説明

    Access-Control-Allow-Credentials ヘッダーにマッピングされます。

    [Precheck Expiration Time]

    単純でないリクエストの場合、ブラウザがプリフライト (OPTIONS) レスポンス結果をキャッシュできる期間 (秒単位) です。

    説明

    Access-Control-Max-Age ヘッダーにマッピングされます。

検証

  • テストリクエストを送信します:

    curl -I -H "Origin: http://example.com" -H "Access-Control-Request-Method: GET" -H 'Host: www.test.com' -X OPTIONS http://121.196.XX.XX/demo/item/list 
  • 期待される出力:

    HTTP/1.1 200 OK
    allow: GET,HEAD,OPTIONS
    x-content-type-options: nosniff
    x-xss-protection: 1; mode=block
    cache-control: no-cache, no-store, max-age=0, must-revalidate
    pragma: no-cache
    expires: 0
    x-frame-options: DENY
    content-length: 0
    date: Tue, 30 Nov 2021 03:20:31 GMT
    x-envoy-upstream-service-time: 6
    access-control-allow-origin: http://example.com
    access-control-allow-credentials: true
    access-control-allow-methods: GET,POST,PUT,DELETE,HEAD,OPTIONS
    access-control-expose-headers: *
    server: istio-envoy

関連ドキュメント

MDN で CORS の詳細をご確認ください。