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

Microservices Engine:CORS ポリシーの構成

最終更新日:Jan 08, 2025

クロスオリジンリソースシェアリング(CORS)は、Web アプリケーションサーバーがクロスオリジンアクセス制御を実行できるようにする重要なセキュリティポリシーです。これは、クロスオリジンセキュアデータ転送の実装に役立ちます。クラウドネイティブゲートウェイでは、ルートレベルで CORS ポリシーを構成できます。ビジネス要件に基づいて、特定のドメイン名またはリクエストメソッドからリソースにアクセスできます。これにより、クロスサイトリクエストフォージェリなどのセキュリティリスクを防ぎ、サービスの信頼性とセキュリティを確保します。

CORS ポリシーの構成

  1. [MSE コンソール] にログオンします。上部のナビゲーションバーで、リージョンを選択します。

  2. 左側のナビゲーションペインで、Cloud-Native Gateway > ゲートウェイリスト を選択します。[ゲートウェイ] ページで、ゲートウェイの名前をクリックします。

  3. 左側のナビゲーションペインで、Routes をクリックし、[ルート] タブをクリックします。

  4. [ルート] タブで、変更するルーティングルールを見つけ、Actions 列の Policies をクリックします。

  5. Policies タブで、CORS をクリックします。

    説明

    CORS ポリシーは、モックサービスには適用されません。実際のバックエンドテストサービスを構成する必要があります。

  6. CORS タブでパラメーターを構成し、[保存] をクリックします。

    パラメーター

    説明

    Allowed Origins

    ブラウザーを使用して現在のサーバーのリソースにアクセスできるオリジン。構成ルール:

    • すべてのオリジンを指定するには、アスタリスク(*)を入力します。

    • ルートドメイン名を指定するには、*.example.com のように、ドメイン名でアスタリスク(*)をワイルドカード文字として使用します。

    • 複数のオリジンを指定するには、各オリジンを別の行に入力します。各オリジンは http:// または https:// で始まる必要があります。

    説明

    指定されたドメイン名は、Access-Control-Allow-Origin ヘッダーの値です。クライアントから送信されたリクエストの Origin ヘッダーがこのパラメーターで指定されたオリジンと一致する場合、レスポンスの Access-Control-Allow-Origin ヘッダーはリクエストの Origin 値に設定されます。

    Allowed Methods

    CORS リクエストで許可される HTTP メソッド。有効な値:GETPOSTPUTDELETEHEADOPTIONS、および PATCH

    説明

    指定されたメソッドは、Access-Control-Allow-Methods ヘッダーの値です。

    Allowed Request Headers

    ブラウザーの組み込みヘッダー以外に、CORS リクエストで許可される追加のヘッダー。構成ルール:

    • すべてのリクエストヘッダーを指定するには、アスタリスク(*)を入力します。

    • 複数のリクエストヘッダーを指定するには、各リクエストヘッダーを別の行に入力します。

    説明

    指定されたヘッダーは、Access-Control-Allow-Headers ヘッダーの値です。

    Allowed Response Headers

    ブラウザーと JavaScript ファイルで取得できるレスポンスヘッダー。構成ルール:

    • すべてのレスポンスヘッダーを指定するには、アスタリスク(*)を入力します。

    • 複数のレスポンスヘッダーを指定するには、各レスポンスヘッダーを別の行に入力します。

    説明

    指定されたヘッダーは、Access-Control-Expose-Headers ヘッダーの値です。

    Allow to Carry Credentials

    CORS リクエストで資格情報を許可するかどうかを指定します。

    説明

    パラメーター値は、Access-Control-Allow-Credentials ヘッダーの値です。

    Precheck Expiration Time

    OPTIONS メソッドを使用するプリフライトリクエストがキャッシュされる最大期間。

    説明

    指定された期間は、Access-Control-Max-Age ヘッダーの値です。

    Enable

    CORS ポリシーを有効にするかどうかを指定します。Enable

    • ポリシーを有効にすると、ポリシーに基づいて CORS リクエストが許可されます。

    • ポリシーを無効にすると、すべての CORS リクエストが拒否されます。

結果の確認

  • 次のコマンドを実行して、結果を確認します。

    curl -I -H "Origin: http://example.com" -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-expose-headers: *
    server: istio-envoy

参照

CORS の詳細については、「クロスオリジンリソースシェアリング (CORS)」をご参照ください。