11.4. 参照元フィルター機能
3scale では参照元フィルター機能がサポートされ、API へのアクセスが許可されるアプリケーションの IP アドレスまたはドメイン名をホワイトリストに登録することができます。API クライアントでは、Referrer
ヘッダーで参照元の値を指定します。Referrer ヘッダーの目的および使用法については、RFC 7231 のセクション 5.5.2「Referer」に説明があります。
参照元フィルター機能を有効にするには、[your_API_name] > Integration > Settings の順に移動し、Require referrer filtering チェックボックスを選択して Update Service をクリックします。
ご自分の API にアクセスする開発者は、デベロッパーポータルから許可される参照元のドメイン/IP を設定する必要があります。
管理ポータルでは、このサービスに属する全アプリケーションの詳細ページに、新たな Referrer Filters セクションが表示されます。ここで、管理者は、このアプリケーションの許可される Referrer ヘッダー値のホワイトリストを設定することもできます。
アプリケーションごとに、最大 5 つの参照元の値を設定することができます。
値に使用することができるのは、ラテン文字、数字、ならびに特殊文字 *
、 および
- だけです
。*
ワイルドカードの値に使用することができます。値を *
に設定するとあらゆる参照元の値が許可され、参照元の確認はバイパスされます。
参照元フィルター機能が動作するためには、サービスポリシーチェーンで APIcast Referrer ポリシー を有効にする必要があります。
Require referrer filtering 機能および 3scale Referrer ポリシーが有効な場合には、承認は以下のように行われます。
- 参照元フィルターが指定されていないアプリケーションは、提供されたクレデンシャルだけを使用して通常どおり承認されます。
-
参照元フィルターの値が設定されたアプリケーションの場合には、APIcast はリクエストの
Referrer
ヘッダーから参照元の値を抽出し、それを AuthRep (承認およびレポート) リクエストのreferrer
パラメーターとして Service Management API に送信します。以下の表は、参照元フィルター機能のパラメーターのさまざまな組み合わせに対する AuthRep の応答をまとめています。
referrer パラメーターが渡されるか | アプリケーションに参照元フィルターが設定されているか | referrer パラメーターの値 | HTTP レスポンス | レスポンスのボディー |
---|---|---|---|---|
渡される | 設定されている | 参照元フィルターと一致する | 200 OK |
|
渡される | 設定されていない | 参照元フィルターと一致する | 200 OK |
|
渡される | 設定されている | 参照元フィルターと一致しない | 409 Conflict |
|
渡される | 設定されていない | 参照元フィルターと一致しない | 200 OK |
|
渡される | 設定されている |
| 200 OK |
|
渡される | 設定されていない |
| 200 OK |
|
渡されない | 設定されている | — | 409 Conflict |
|
渡されない | 設定されていない | — | 200 OK |
|
AuthRep により承認されない呼び出しは、APIcast により拒否され「Authorization Failed」エラーが返されます。サービスの Integration ページで、ステータスコードおよびエラーメッセージを具体的に設定することができます。