OCI API Gateway: すべてのAPIを保護、ルーティング、変換、スケーリングするための1つのゲートウェイ (2026/02/16)
OCI API Gateway: すべてのAPIを保護、ルーティング、変換、スケーリングするための1つのゲートウェイ (2026/02/16)
投稿者: Gautam Mishra | Principal Cloud Architect
現代のクラウドネイティブ・アーキテクチャにおいて、APIは統合、データ交換、そしてアプリケーションの拡張性の基盤となっています。しかし、APIが増加するにつれて、APIのセキュリティ保護、ルーティング、スケーリング、認証、そして管理の複雑さは飛躍的に増大します。Oracle Cloud Infrastructure (OCI) API Gatewayは、APIトラフィック管理のための一元化された、安全でスケーラブルかつ拡張可能なプラットフォームを提供することで、これらの課題に対処するように設計されています。
このブログでは、実際の顧客シナリオと熟練した Oracle アーキテクトからの教訓を組み合わせて、カスタム認可機能、スコープ、トークン キャッシュ、レガシー クライアント サポートとともに API Gateway を使用して、OIC と統合された堅牢な API サービスを構築する方法を説明します。
OCI API Gatewayのコア機能
OCI API Gatewayは、Oracle Integration Cloud(OIC)、Compute、ロードバランサ、Functions、Autonomous Database、SaaSエンドポイント、サードパーティサービスなど、バックエンドサービスにアクセスするAPIコンシューマにとって安全なプロキシとして機能します。以下の機能を提供します。
- TLS の強制、認証、承認による安全なエントリ ポイント
- REST API のルーティングとパスベースのバックエンド
- ヘッダーと本文を変更するための変換ポリシー
- バックエンドシステムを保護するためのレート制限とセキュリティポリシー
- アクセス制御を強化するためのOAuth2 / JWT / IAM トークンとの統合
この統合ゲートウェイにより、セキュリティとガバナンスをカプセル化しながら、消費者にとって一貫した API サーフェスが実現します。
1.トークンキャッシュを使用したバックエンド呼び出しのセキュリティ保護
問題
外部アプリケーションがOIC APIを呼び出す場合、 OCI IAM OAuthトークンが必要です。リクエストごとに新しいトークンを生成すると、特に小売や物流などの高ボリュームのシナリオでは、レイテンシが増加し、OCI IAMトークンのコストが増加する可能性があります。その結果、次のような問題が発生する可能性があります。
- 過剰なIAM呼び出し
- 認証の遅延
- IAM サーバーからの潜在的なスロットリング
ソリューション
OCI API Gatewayをカスタム認可ファンクション(OCI Functions)と併用することで、認証を効率的に処理できます。認可ファンクションは受信リクエストから認証情報を抽出し、まずキャッシュされたOCI IAMトークンの有無を確認します。有効なトークンが既に存在する場合は再利用され、そうでない場合は、ファンクションはOCI IAMを1回呼び出して新しいトークンを取得します。取得されたトークンは有効期限が切れるまでメモリに保存され、API Gatewayに返されます。API Gatewayは、このトークンを使用してバックエンドサービスを安全に呼び出します。このアプローチにより、IAM呼び出しの繰り返しを最小限に抑えながら、強力なセキュリティ制御を維持できます。
これにより、IAM エンドポイントの呼び出しが大幅に削減され、セキュリティを維持しながらパフォーマンスが向上します。
▶実際の影響: 1 秒あたり数百のリクエストを処理する小売アプリケーションでは、認証のレイテンシが短縮され、不要な IAM 負荷を回避できます。
2.カスタムスコープによるきめ細かなアクセス制御
認証だけでは不十分です。承認により、適切なユーザーだけが特定の API にアクセスできるようになります。
チャレンジ
異なるチーム (例: 財務と HR) では、同じ OIC API エンドポイントに対して異なるアクセス権が必要になる場合があります。
アプローチ
- OCI IAM でリソース サーバーのカスタム OAuth スコープを定義する
oic_api_HR、などのスコープをoic_api_ITチームアプリに割り当てる- ゲートウェイ認可関数は、受信トークンのスコープを検証します。
- API Gatewayは、正しいスコープを持つクライアントのみがバックエンド統合にアクセスできるようにします。
このパターンにより、チームベースまたはロールベースのアクセス制御が可能になり、適切なスコープのトークンのみが特定のルートを呼び出すことができるようになります。
▶ スコープが必要な API ルートと一致しない場合、ゲートウェイは「見つかりません」または「許可されていません」という応答を返します。
3. SCOPEのないクライアントをサポートする
すべてのクライアント(特にレガシーシステム)がOAuthスコープを送信できるわけではありません。OAuth標準ではスコープはオプションとされていますが、OCI IAMではクライアント認証情報を使用したトークン発行にスコープが必須です。そのため、次のようなエラーが発生します。
400 – invalid_scope
Required scope missingコストがかかったり不可能になる可能性があるクライアントの変更ではなく、スコープ処理をインフラストラクチャに移行できます。
ソリューションパターン
- クライアントは単純な
Authorization: Basic <client_id:client_secret> - APIゲートウェイはカスタム認可関数に転送します
- このファンクションは必要なOICスコープを内部に挿入します
- クライアントに代わって正しいIAMトークンを取得します
- トークンは検証され、安全なAPIルーティングに使用されます
このアプローチ:
✔ レガシークライアントを変更せずに継続できます
✔ 安全な IAM ベースのトークンが使用されることを保証します
✔ クライアントにスコープの理解や構築を強制する必要がありません
ゲートウェイ レベルでトークン ブローカーのようなパターンを導入します。
4.エンタープライズIDPトークンを交換して、OICのOCIアイデンティティドメイントークンを取得する
ほとんどの企業は、エンタープライズIDプロバイダーに依存することはほとんどありません。多くの企業は、Microsoft Entra IDを企業IDプラットフォームとして利用しており、 Oracle Integration Cloudを通じて公開されるクラウド統合にも、同じ認証とアクセス制御を拡張したいと考えています。
API Gateway + OCI Functionsはトークンの交換に役立ち、企業が既存の企業 ID を再利用できるようにします。
アプローチ
OCI API Gatewayは、Microsoft Entra ID と OIC 間のID ブリッジとして機能します。
- Microsoft Entra IDはユーザー認証後に OAuth2/JWT トークンを発行します
- APIゲートウェイ:
– Entra ID発行のJWTトークンを検証
– 発行者、オーディエンスを検証 - カスタム認可関数:
– Entra ID 認証コンテキスト (UPN、トークンの有効性) を抽出
– UPN の jwt-assertion 付与タイプを使用して OCI IAM バックエンド トークンを要求 - API Gateway はヘッダー変換を実行し、実際のバックエンド エンドポイント (Oracle Integration フロー) を呼び出します。
このパターンにより、OIC APIがエンタープライズ対応であることが保証され、アイデンティティガバナンスはMicrosoft Entra IDに維持されます。ハイブリッドまたはマルチクラウド環境を持つ組織は、バックエンドの統合を変更することなくOIC APIを保護し、AzureとOCI全体で一貫したアクセス制御を維持できます。
まとめ
OCI API Gateway、OCI Functions、およびOracle Integration Cloud間の相乗効果により、企業は機能的であるだけでなく、次のようなAPIエンドポイントを公開できるようになります。
✔安全- 認証と承認を一元管理
✔効率的- バックエンドのオーバーヘッドとレイテンシを削減
✔スケーラブル- 最新の大容量アプリケーションに適合
✔柔軟性- 最新のクライアントと従来のクライアントの両方をサポート
レガシー システムを最新化する場合でも、安全な B2B API を構築する場合でも、複数チームのアクセス ポリシーを管理する場合でも、ここで説明するパターンは、OCI 上の安全でパフォーマンスの高い API エコシステムのための実証済みのロードマップを提供します。
関連リンク
- トークンキャッシュによるバックエンド呼び出しのセキュリティ保護 – https://www.ateam-oracle.com/optimizing-backend-calls-caching-oci-iam-tokens-in-api-gateway-custom-authorizer-functions
- カスタムスコープを使用したきめ細かなアクセス制御 – https://www.ateam-oracle.com/use-custom-scopes-to-restrict-access-to-oic-rest-endpoints-with-oci-iam-and-api-gateway
- SCOPE のないクライアントのサポート – https://www.ateam-oracle.com/securing-oic-apis-for-legacy-clients-using-oauth-without-scopes
- エンタープライズ IDP トークンを交換して、OIC の OCI Identity ドメイン トークンを取得します – https://docs.oracle.com/en/learn/oracle-integration-msentraid/#introduction
コメント
コメントを投稿