このページは Apigee と Apigee ハイブリッドに適用されます。
Apigee Edge ドキュメントを表示する
ラストマイル セキュリティは、API サービスによってプロキシされるバックエンド サービスを保護します。ラストマイル セキュリティの主な目的は、アプリ デベロッパーがバックエンド サービスの URL を検出し、そのバックエンド URL に直接アクセスする API プロキシをバイパスする、いわゆる「エンドラン」攻撃を防ぐことです。
ラストマイル セキュリティを設定するための主要なオプションは次のとおりです。
- クライアント TLS / SSL
- 送信の認証
クライアント TLS / SSL
ラストマイルを保護するための主なメカニズムはクライアント TLS / SSL で、これは「相互認証」とも呼ばれます。
TLS の構成オプションをご覧ください。
送信の認証
ラストマイル セキュリティは、API プロキシがバックエンド サービスに認証情報を提示するよう要求することでも適用できます。
たとえば、API プロキシにバックエンド サービスへの API キーを提示させる場合です。また、API プロキシが OAuth クライアントの認証情報アクセス トークンを取得、提示するように構成することもできます。
API キー
API キーは、API プロキシからバックエンド サービスへの送信リクエストに適用できます。これは、バックエンド サービスが API キーの発行と検証が可能な API であることを前提としています。
送信リクエストに API キーを提示する API プロキシを設定する場合は、実行時に API プロキシによって取得できる場所に API キーを格納します。API キーを格納する場所としては Key-Value マップがあります。KeyValueMapOperations ポリシーをご覧ください。
AssignMessage ポリシータイプを使用して、API キーを HTTP ヘッダー、クエリ パラメータ、またはペイロード要素として送信リクエストに追加できます。Assign Message ポリシーをご覧ください。
OAuth クライアントの認証情報
OAuth クライアントの認証情報を使用すると、API キーに取消可能レイヤを追加できます。バックエンド サービスが OAuth クライアントの認証情報をサポートしている場合は、API プロキシがクライアントの認証情報アクセス トークンをリクエストごとに提示するように構成できます。
API プロキシは、トークン エンドポイントからアクセス トークンを取得するためにコールアウトを実施するように構成する必要があります。また、呼び出しごとに新しいアクセス トークンを取得しないよう、アクセス トークンをキャッシュに保存する必要もあります。
送信クライアントの認証情報を実装するには、いくつかの方法があります。
このサンプルを変更して、トークン エンドポイントを呼び出すと、アクセス トークンを取得できます。このサンプルでは、JavaScript を使用してトークンを HTTP Authorization ヘッダーとして送信リクエストに追加しています。これを行うために Assign Message ポリシーを使用することもできます。
SAML
GenerateSAMLAssertion ポリシータイプを使用すると、API プロキシからバックエンド サービスへの送信 XML リクエスト メッセージに SAML アサーションを追加できます。これにより、バックエンド サービスは API プロキシから受信したリクエストに対して認証と承認を行えます。
SAML アサーション ポリシーをご覧ください。