https://blogs.oracle.com/integration/api-key-based-authentication%3a-quickly-and-easily
API Keyベースの認証はAPIへのセキュアなアクセスを提供するシンプルな方法です。この認証は以下の手順を踏みます。
- (前提条件)ユーザーはサービスポータルにログインし、API Keyを生成する
- API Keyはクライアントアプリケーションと共有されている
- クライアントアプリケーションはAPI Keyを使ってリソースへのリクエストを作成する
下図はAPIキー・ベース認証で必要な手順を図示したものです。API KeyはクライアントはAPI呼び出し時に使うシンプルなトークンです。
How to invoke a REST API protected with an API-Key using Oracle Integration Cloud?
Oracle REST Adapterは外部RESTful APIを利用するための包括的な方法を提供しており、保護されたAPIのアクセスのためのセキュリティポリシーを指定するために利用可能な、再利用可能な接続を提供します。API Keyで保護されたAPIを利用する場合、統合の開発者はAPIキー・ベース認証セキュリティポリシーを選択して統合作成を進めていきます。
接続のダイアログで、[セキュリティの構成]をクリックし、[APIキー・ベース認証]セキュリティポリシーを選択します。
APIキーを指定します。APIキー発見の手順はIntegration Cloudの範囲外です。
Integration CloudにAPIキーをリクエストと共に渡す方法を指定します。
APIキーの用途では、Oracle REST AdapterがAPIキーを呼び出し対象のサービスにアクセスするためにAPIキーを渡す方法を記載します。
REST Adapterを使って、ヘッダーやクエリ文字列としてAPIキーを渡すことができます。
APIキーの用途 | 説明 | 記述例 |
---|---|---|
-H Authorization: Bearer ${api-key} | 保護されたリソースへアクセスするため、実行時にAuthorization ヘッダーとしてAPIキーを渡す。 | -H Authorization: Bearer AASDFADADX |
-H X-ApiKey: ${api-key} | 保護されたリソースへアクセスするため、実行時にX-ApiKeyと呼ばれるカスタムヘッダーとしてAPIキーを渡す。 | -H X-ApiKey: AASDFADADX |
?key=${api-key} | 保護されたリソースへアクセスするため、実行時にクエリ文字列としてAPIキーを渡す。 | http://someapi.com/employee? key=ASDFADAX |
APIキーの用途には様々ありますが、デフォルトでは、REST AdpaterはAuthorizationヘッダーとしてAPIキーを渡します。
-H Authorization: Bearer ${api-key}${api-key} の値にAPIキーを代入し、Authorizatinoヘッダーとしてエンドポイント・リクエストと共に送信します。
構成が完了すると、ユーザーはテスト*した上で保存して接続は完成です。他の接続と同様、この接続を統合フロー内で利用できます。リクエストを上記のように送信しながら、APIキーを自動的にエンドポイントに渡します。
注意: APIキーを接続内で更新すると、変更は自動的に全てのデプロイ済みの統合に反映されるため、統合フローのアップデートや再デプロイは必要ありません。
APIキーは簡単に利用できますが、欠点もあります。よく知られている点として、APIキーは手作業で生成されます。キーの期限が切れたり取り消された場合、ユーザーは手作業でサービスポータルに戻って新しいAPIキーを生成し、その後Oracle Integration Cloud内で更新する必要があります。これは連続性に影響を与える可能性があるため、注意する必要があります。HTTPサービスのほとんどはOAuth認可フレームワークをリソース保護に利用しています。今後、Oracle Integration Cloudを使ったOAuthで保護されたサービスへのアクセス方法をご紹介する予定にしています。
* テスト接続が成功してもAPIキーを検証しませんので、セキュリティポリシー内でAPIキーを利用する前に、統合の開発者はキーの検証をしておくことが重要です。
0 件のコメント:
コメントを投稿