API Gateway

アプリケーションセキュリティ | IT用語集

この用語をシェア

概要

API Gateway(APIゲートウェイ)とは、複数のAPIサービスへの統一されたエントリーポイントとして機能するサービスです。クライアントとバックエンドサービス間の仲介役として、認証、認可、レート制限、監視、プロトコル変換などの横断的機能を提供します。

本ページではAPI Gatewayのセキュリティ観点(認証・認可、レート制限、WAF連携など)を中心に解説します。ルーティングやアーキテクチャ全般の機能については「API Gateway(機能・アーキテクチャ)」で詳しく解説していますので、あわせてご覧ください。

主な機能

セキュリティ機能

  • 認証・認可 - JWT、OAuth 2.0、API キーによるアクセス制御
  • レート制限 - API使用量の制限とスロットリング
  • IP ホワイトリスト/ブラックリスト - IPアドレスベースのアクセス制御
  • SSL/TLS 終端 - 暗号化通信の処理

トラフィック管理

  • ロードバランシング - 複数のバックエンドサービスへの負荷分散
  • フェイルオーバー - サービス障害時の自動切り替え
  • サーキットブレーカー - 障害の連鎖を防ぐ自動遮断機能
  • リトライ機構 - 失敗したリクエストの自動再試行

データ変換

  • プロトコル変換 - HTTP/HTTPS、WebSocket、gRPCなどの変換
  • リクエスト/レスポンス変換 - データフォーマットの変換
  • ヘッダー操作 - HTTPヘッダーの追加・削除・変更

監視・分析

  • ログ記録 - 詳細なアクセスログの出力
  • メトリクス収集 - パフォーマンス指標の監視
  • 分析・ダッシュボード - API使用状況の可視化
  • アラート機能 - 異常検知と通知

マイクロサービス環境での重要性

複雑性の軽減

マイクロサービスアーキテクチャでは、数十から数百のサービスが連携します。API Gatewayにより以下の課題を解決:

  • クライアントが個別のサービス位置を知る必要がない
  • 横断的関心事の一元管理
  • サービス間通信の簡素化

運用効率の向上

  • バージョン管理 - APIバージョンの一元管理
  • デプロイメント戦略 - カナリアリリース、ブルーグリーンデプロイの支援
  • 開発者体験 - 統一されたAPI仕様とドキュメント

主要なAPI Gatewayソリューション

クラウドネイティブ

  • Amazon API Gateway - AWSのマネージドサービス
  • Azure API Management - Microsoftのクラウドサービス
  • Google Cloud Endpoints - GCPのAPI管理サービス

オープンソース

  • Kong - 高性能なマイクロサービス API Gateway
  • Envoy Proxy - Cloud Native Computing Foundation プロジェクト
  • Zuul - Netflix開発のJavaベースゲートウェイ
  • Ambassador - Kubernetes ネイティブなAPI Gateway

エンタープライズ

  • Apigee - Google Cloudのエンタープライズソリューション
  • MuleSoft Anypoint Platform - 統合プラットフォーム
  • WSO2 API Manager - オープンソースベースのエンタープライズ製品

セキュリティ上の考慮事項

単一障害点リスク

API Gatewayは重要なインフラストラクチャコンポーネントのため、以下の対策が必要:

  • 高可用性設計(冗長化)
  • 適切な監視とアラート
  • バックアップとディザスタリカバリー計画

セキュリティベストプラクティス

  • 最小権限原則 - 必要最小限のアクセス権限
  • 入力検証 - すべてのAPIリクエストの検証
  • ログ監査 - セキュリティイベントの記録と分析
  • 定期的な脆弱性評価 - セキュリティ監査の実施

WAF単体との違い

「WAF(Web Application Firewall)さえ導入すればAPIは守れるのでは」と考えられがちですが、API GatewayとWAFは防御対象が異なるため、両者を併用するのが一般的です。

比較項目 API Gateway WAF単体
主な防御対象 認証・認可、レート制限、API仕様違反 SQLインジェクション、XSSなどの既知攻撃パターン
APIの仕様理解 エンドポイント・スキーマ単位で制御可能 HTTPリクエスト全般をシグネチャで検査
認証機能 あり(OAuth/JWT/APIキー等) なし
推奨構成 WAFの後段でAPI固有の制御を実施 API Gatewayの前段で汎用攻撃を遮断

実務上は「WAFで汎用的な攻撃パターンを遮断し、その後段のAPI Gatewayで認証・認可やAPI固有のビジネスロジックに関わる制御を行う」という多層構成が推奨されます。

WAF連携の設定例

AWS API Gatewayの場合、AWS WAF(Web Application Firewall)をWebACLとして関連付けることで、SQLインジェクションやクロスサイトスクリプティング(XSS)などの攻撃をAPI到達前にブロックできます。

# API GatewayステージにWAF WebACLを関連付ける例(AWS CLI)
aws wafv2 associate-web-acl \
  --web-acl-arn "arn:aws:wafv2:region:account-id:regional/webacl/MyWebACL/xxxx" \
  --resource-arn "arn:aws:apigateway:region::/restapis/api-id/stages/prod"

# レート制限ルールの例(1つのIPから5分間に2000リクエストを超えたらブロック)
{
  "Name": "RateLimitRule",
  "Priority": 1,
  "Statement": {
    "RateBasedStatement": {
      "Limit": 2000,
      "AggregateKeyType": "IP"
    }
  },
  "Action": { "Block": {} }
}

Kongなどのオープンソースゲートウェイでは、rate-limitingプラグインやip-restrictionプラグインを設定ファイル(YAML)で宣言的に定義することで、同様の保護を実現できます。

認証方式の比較

API Gatewayで選択できる代表的な認証方式には、それぞれ適した利用場面があります。

認証方式 仕組み 主な用途 注意点
APIキー 固定の鍵文字列をヘッダー等で送信 社内向けAPI、シンプルな利用量管理 漏洩時のリスクが高く、権限の細分化が難しい
OAuth 2.0 認可サーバーが発行するアクセストークンで認可 サードパーティ連携、委譲された権限が必要な場面 実装がやや複雑、トークン管理の設計が必要
JWT 署名付きトークンにクレーム情報を格納 マイクロサービス間のステートレスな認証 失効管理が難しく、有効期限設計が重要
mTLS(相互TLS認証) クライアント証明書による相互認証 サービスメッシュ内の通信、金融機関間API 証明書の発行・更新・失効管理の運用負荷

導入のメリット・デメリット(セキュリティ観点)

メリット

  • 認証・認可ロジックを各マイクロサービスに個別実装せずに済み、実装漏れによる脆弱性を防げる
  • WAFやレート制限を一箇所に集約することで、攻撃を早期にブロックしバックエンドへの到達を防げる
  • 監査ログを一元的に取得でき、インシデント発生時の調査(フォレンジック)が容易になる

デメリット・注意点

  • API Gateway自体が攻撃対象となるため、Gateway自身の脆弱性対策・パッチ適用が必須になる
  • 設定ミス(認証の掛け忘れ、レート制限の閾値が緩すぎる等)が全APIに影響する単一障害点になり得る
  • WAFルールが厳しすぎると正規リクエストを誤検知(False Positive)でブロックする可能性がある
  • mTLSなど強固な認証を導入するほど、証明書管理などの運用コストが増加する

実務での導入時の注意点

  • OWASP API Security Top 10を参照する:認可の不備(BOLA)や過剰なデータ露出など、API特有の脆弱性パターンを踏まえてゲートウェイの設定を見直します。
  • デフォルト拒否(Deny by Default)を徹底する:明示的に許可したAPIパス・メソッドのみを通過させ、想定外のエンドポイントを塞ぎます。
  • 段階的なレート制限を設計する:一律の制限ではなく、認証済みユーザーと未認証ユーザーで異なる閾値を設定します。
  • 秘密情報のログ出力を避ける:APIキーやトークンがアクセスログに平文で残らないよう、マスキング設定を行います。

APIゲートウェイだけでは防げない脆弱性

API Gatewayはリクエストの入口を守る強力な防御層ですが、万能ではありません。特に注意すべきなのが、BOLA(Broken Object Level Authorization、オブジェクトレベル認可の不備)と呼ばれる脆弱性です。これは「認証は成功しているが、他人のリソースIDを指定すればアクセスできてしまう」という問題で、Gatewayでの認証チェックだけでは検知できません。

例えば、GET /api/users/123/ordersというエンドポイントに対して、認証済みの別ユーザーが自分のIDではない456を指定してアクセスできてしまうケースがこれに該当します。この種の脆弱性は、Gatewayでの認証(Authentication)に加えて、バックエンドアプリケーション側でリソース単位の認可(Authorization)チェックを実装することでのみ防げます。API Gatewayの導入を「セキュリティ対策が完了した」と誤解せず、アプリケーション層での対策とあわせて多層防御を構成することが重要です。

実装時のベストプラクティス

設計原則

  • ステートレス設計 - スケーラビリティの確保
  • 非同期処理 - パフォーマンスの最適化
  • graceful degradation - 部分的な障害時の継続稼働

運用管理

  • APIファーストアプローチ - 設計段階からのAPI設計
  • 継続的監視 - パフォーマンスとセキュリティの監視
  • ドキュメンテーション - 包括的なAPI仕様書の維持

関連技術

  • Microservices - マイクロサービスアーキテクチャ
  • REST API - RESTful API設計
  • Kubernetes - コンテナオーケストレーション
  • OAuth - 認証・認可プロトコル

この用語についてもっと詳しく

API Gatewayに関するご質問や、システム導入のご相談など、お気軽にお問い合わせください。

2025〜2026年の最新動向

2025年はAI APIのセキュリティ管理が重要テーマに。LLM APIのプロンプトインジェクション対策、トークン使用量制限、コスト管理機能がAPIゲートウェイに統合されています。

よくある質問(FAQ)

Q. アプリケーションセキュリティにおけるAPIゲートウェイの役割は?

A. APIゲートウェイは、アプリケーション層でのセキュリティ(認証・認可、レート制限、入力検証、WAF機能)を一元管理し、バックエンドサービスを保護します。

Q. APIゲートウェイのセキュリティ機能は?

A. OAuth/JWT認証、IPホワイトリスト、レート制限(DDoS対策)、入力バリデーション、TLS終端、リクエスト/レスポンスの変換・フィルタリング、監査ログが主な機能です。

Q. マイクロサービスでのAPIゲートウェイは?

A. Istio、Envoy、Kong、NGINX等のサービスメッシュ/ゲートウェイがマイクロサービス間の通信を保護します。mTLS(相互TLS認証)による通信暗号化が標準です。

Q. APIキーとOAuth 2.0はどちらを使うべきですか?

A. 社内システムなど信頼できる限定的な利用者向けにはAPIキーで十分ですが、第三者アプリへのアクセス権限委譲やユーザー単位の細かい権限制御が必要な場合はOAuth 2.0が適しています。

Q. API Gatewayを導入すればAPIは安全になりますか?

A. API Gatewayは有効な防御層ですが万能ではありません。認可の不備(BOLA)など、Gateway単体では防げない脆弱性もあるため、OWASP API Security Top 10を踏まえた設計・コードレベルの対策と併用する必要があります。

外部リンク・参考資料

関連用語

GitOpsセキュリティ クラウドネイティブセキュリティ Kubernetesセキュリティ APIセキュリティ API Gateway(機能・アーキテクチャ)