APIデプロイメントにポリシーを追加する

最終公開日 : Sep 25, 2026
APIトラフィックに対してさまざまなセキュリティポリシーを設定できます。この設定では、トラフィック選択基準とポリシーに必要なパラメーターを指定する必要があります。API定義にポリシーを追加するには、次の手順を実行します。
  1. Security > API Security > Policies に移動します。
  2. Add をクリックします。
  3. ポリシーグループの名前を指定します。
  4. リストから Deployment を選択します。
  5. ポリシーを設定する Upstream Service をリストから選択します。
  6. Add をクリックして、トラフィックセレクターとポリシータイプを選択します。
    トラフィックセレクター - トラフィック選択基準には、APIリソースパスまたはパスプレフィックス、メソッド、およびポリシーが含まれます。
    トラフィック選択基準を指定するには、次のいずれかのオプションを使用できます。
    • APIリソース – ポリシーを適用するAPIリソースとそのメソッドを選択します。キーワードでAPIリソースとメソッドを検索できます。
      トラフィックセレクター
      この例では、POST メソッドを持つ /user のAPIリソースが一覧表示されています。
    • カスタムルール – このタブでは、カスタムパスプレフィックスと複数のメソッドを指定できます。
      設定されたポリシーは、APIトラフィック選択のカスタムルールに一致する受信APIリクエストに適用されます。
      カスタムポリシー規則
      この例では、No-Auth ポリシーは、/bill プレフィックスと GET メソッドを持つ API リソースに適用されます。
    ポリシーで、選択したAPIリソースとメソッドに適用するポリシーをリストから選択します。各ポリシーの詳細については、ポリシーの種類を参照してください。
  7. オプションで、ポリシーの種類を移動して優先順位を設定できます。優先順位が高いポリシーの種類が最初に適用されます。
  8. ポリシーを追加するには、保存をクリックします。ポリシーをすぐに適用する場合は、保存して適用をクリックします。
Related information

ポリシーの種類

APIポリシーを設定する際、APIリソースとメソッドに適用する以下のポリシーを選択できます。
注:
APIを使用してAPIセキュリティを管理するには、APIを使用してAPIセキュリティを管理するを参照してください。
ポリシールールの選択

認証と認可

APIリソースは、アプリケーションまたはAPIサーバーでホストされます。このようなAPIリソースへのアクセス制限を適用したい場合は、認証および認可ポリシーを使用できます。これらのポリシーは、受信APIリクエストがリソースにアクセスするために必要な権限を持っているかどうかを検証します。
選択したAPIリソースの認証と認可を定義するには、次のポリシーを使用します。

No-Auth

選択したトラフィックの認証をスキップするには、このポリシーを使用します。

Auth-Basic

このポリシーは、HTTP基本認証スキームで使用されるローカル認証を指定します。ローカル認証を使用するには、NetScalerでユーザーアカウントを作成する必要があります。

OAuth

OAuthでは、oAuth2を使用してクライアントを認証し、アクセストークンを発行するために外部IDプロバイダーが必要です。クライアントがこのトークンをAPIゲートウェイへのアクセス資格情報として提供すると、設定された値に基づいてトークンが検証されます。
  • JWKS URI - JWT (JSON Web Token) 検証用のJWK (JSON Web Key) を持つエンドポイントのURL
  • Issuer - 認証サーバーのID (通常はURL)。
  • Audience - トークンが適用されるサービスまたはアプリケーションのID。
  • Claims to save - アクセス権限は、一連のクレームと期待値として表されます。クレーム値をCSV形式で指定します。
  • Introspect URI - 認証サーバーのイントロスペクションエンドポイントURLです。このURLは、不透明なアクセストークンを検証するために使用されます。これらのトークンの詳細については、「不透明なアクセストークンのOAuth設定」(/ja-jp/citrix-adc/current-release/aaa-tm/authentication-methods/oauth-authentication/api-authentication-with-adc.html#oauth-configuration-for-opaque-access-tokens)を参照してください。
    Introspect URI を指定した後、認証サーバーにアクセスするための Client Id と Client Secret を指定します。
  • Allowed algorithms - このオプションを使用すると、受信トークン内の特定のアルゴリズムを制限できます。デフォルトでは、サポートされているすべてのメソッドが許可されています。ただし、選択したトラフィックに必要なアルゴリズムを確認できます。
検証が成功すると、APIセキュリティはクライアントへのアクセスを許可します。
重要:
選択したAPIリソースに対してOAuthまたはAuth-Basicポリシーを構成する場合、残りのAPIリソースに対してはNo Authポリシーを構成します。この構成は、残りのリソースの認証をスキップしたいことを明示的に示します。

承認

このポリシーは、APIリソースにアクセスするために必要な権限を検証します。アクセス権限は、一連のクレームと期待値として表されます。このポリシーを構成するには、Add a new Claim を選択し、以下を指定します。
  • クレーム名
  • クレーム値
重要:
APIセキュリティは、APIトラフィックに対して認証ポリシーと承認ポリシーの両方を必要とします。したがって、認証ポリシーとともに承認ポリシーを構成する必要があります。認証ポリシーはOAuthまたはAuth-Basicのいずれかです。
承認チェックがない場合でも、空のクレームを持つ承認ポリシーを作成する必要があります。そうしないと、リクエストは403エラーで拒否されます。

レート制限

選択したAPIリソースに与えられる最大負荷を指定します。このポリシーを使用すると、APIトラフィックレートを監視し、予防措置を講じることができます。このポリシーを構成するには、以下を指定します。
  • HTTP Header Name - APIリクエストを識別するためにトラフィックをフィルタリングするトラフィックセレクターキーです。そして、レート制限ポリシーは、そのようなAPIリクエストにのみ適用され、監視します。
  • Header Values - これらのヘッダー値は、指定されたヘッダー名に対してカンマで区切られます。
  • Threshold - 指定された間隔で許可されるリクエストの最大数。ヘッダー値を指定した場合、このしきい値は各ヘッダー値に適用されます。
    例1:
    ヘッダー名 x-api-key に対してヘッダー値 ("key1","key2","key3") を指定し、しきい値を 80 に設定すると、設定されたしきい値は各ヘッダー値に適用されます。
    例2:
    各ヘッダー値に異なるしきい値を指定したい場合は、同じHTTPヘッダー名を使用して、個別のレート制限ポリシーを作成します。
    • ポリシー1: ヘッダー名 x-api-key に対してヘッダー値 ("key1","key2") を指定し、しきい値を 80 に設定します。
    • ポリシー2: ヘッダー名 x-api-key に対してヘッダー値 ("key3") を指定し、しきい値を 30 に設定します。
    ヘッダー値を指定しない場合、しきい値は指定されたHTTPヘッダー名に適用されます。
  • Time slice - マイクロ秒で指定された間隔。この間隔中、リクエストは設定された制限に対して監視されます。デフォルトでは、1000マイクロ秒(1ミリ秒)に設定されています。
  • Limit type - レート制限ポリシーを適用する方法のモード。バーストまたはスムーズ制限タイプを選択できます。
  • Action - しきい値を超えるトラフィックに対して実行するアクションを定義します。次のいずれかのアクションを指定できます。
    • DROP: 設定されたトラフィック制限を超えるリクエストをドロップします。
    • RESET: リクエストの接続をリセットします。
    • REDIRECT: トラフィックを設定されたredirect_urlにリダイレクトします。
    • RESPOND: 標準応答で応答します (429 Too many requests)。

WAF

このポリシーは、機密性の高いビジネス情報や顧客情報にアクセスするウェブサイトに対するセキュリティ侵害、データ損失、および不正な改変の可能性を防ぎます。
「WAF Profile Name」で、作成したWAFプロファイルを選択または指定します。

ボット

このポリシーは、悪意のあるボットを識別し、高度なセキュリティ攻撃からアプライアンスを保護します。
「Bot Profile Name」で、作成したBOTプロファイルを指定します。

ヘッダー書き換え

このポリシーは、APIリクエストとレスポンスのヘッダーを変更するのに役立ちます。HTTPヘッダーの値を置き換えたい場合は、以下を指定します。
  • HTTP Header Name: リクエストヘッダーで変更したいフィールド名。
    例: Host
  • Header value: オプション。指定されたヘッダー名で変更したい値の文字列。
    例: sample.com
  • ヘッダーの新しい値: 指定されたヘッダー値を置き換える新しい値です。
    ヘッダー値が指定されていない場合、受信した値をHTTPヘッダー名に指定された値で置き換えます。
    例: example.com
この例では、ヘッダー書き換えポリシーは、APIリクエストのHostフィールドでsample.comをexample.comに置き換えます。

URIパスの書き換え

このポリシーは、APIリクエストとレスポンスのURIパスを変更するのに役立ちます。URIパス内のセグメントを置き換えたい場合は、次のいずれかのルールを追加します。
  • パスセグメントの置き換え – このアクションタイプを選択すると、以下を指定します。
    • 現在のパスセグメント – 置き換えたいパスセグメントです。
    • 新しいパスセグメント – 現在のパスセグメントのみを置き換える新しいパスセグメントです。
    たとえば、URIパスのロケールを英語から中国語に変更するには、現在のパスセグメントに/ja-jp/を指定します。そして、新しいパスセグメントに/zh-zhを指定します。これにより、パスセグメントのみが置き換えられ、残りのURIパスは保持されます。
  • フルパスの置き換え – このアクションタイプは、APIリクエストとレスポンスのURIパスを指定されたパスで完全に置き換えます。新しいパスセグメントに/example.htmlを指定すると、APIリクエストまたはレスポンスのURIパスは指定されたパスに変更されます。
  • パスセグメントの削除 – このアクションは、URIから指定されたセグメントを削除します。たとえば、URIパスから英語ロケールを削除するには、現在のパスセグメントに/ja-jp/を指定します。
  • パスセグメントの挿入 – このアクションは、指定されたセグメントをURIパスに挿入します。このルールを適用するには、セグメントを挿入したい位置と、挿入したいセグメントを指定します。
    たとえば、特定のテキストの直後にセグメントを挿入したい場合は、次の手順を実行します。
    1. 新しいセグメントを挿入する位置を指定します。
    2. 現在のパスセグメントで、新しいセグメントを追加するテキストを指定します。
    3. 新しいパスセグメントで、追加するセグメントを指定します。

拒否

このポリシーは、APIリクエストがAPIリソースに到達するのを拒否するのに役立ちます。