クライアント資格証明を使用したOAuth 2.0認証の構成
Oracle Integration APIを起動するためにOAuth 2.0認証を構成するには、クライアント資格証明を構成および使用します。
政府環境のOracle Cloud InfrastructureでのOAuth認証の場合、クライアント資格証明は、サポートされている唯一の許可付与フローです。 OAuthクライアント資格証明付与フロー・セマンティクスは、Oracle Cloud Infrastructure IAMに組み込まれ、IAMユーザー・プロファイルにスコープ指定されます。 すべてのユーザーは、Oracle Cloud Infrastructureコンソールを使用して、ユーザー・アカウントのOAuth 2.0クライアント資格証明ユーザーを作成できます。
必要な情報の収集
| フィールド | 説明 | 値の例 |
|---|---|---|
|
インスタンス(わかりやすいURL) |
Oracle IntegrationインスタンスのわかりやすいURL。 「統合インスタンス詳細」ページ」では、これは「サービス・コンソールURL」の値です。 |
|
|
オーディエンス(永続URL) |
このクライアントがアクセスを許可されているOracle Integrationリソースの一意のURL。 この値は、OAuthリソース・セレクタによって自動的に移入されます。 |
|
|
有効範囲 |
このクライアントが起動するアプリケーション、または起動するサービス・インスタンスのAPI。 Oracle Integrationに関連するスコープがリストされます。 いずれか1つを使用できます。 この値は、OAuthリソース・セレクタによって自動的に移入されます。 |
|
|
関連UPIストライプ |
管理ユーザーおよび管理パスワードとともに、Oracle Integrationインスタンスに関連付けられたUPIストライプ。 これは、OAuth 2.0トークンを取得するために使用されます。 UPIストライプを見つけるには:
|
|
![]() |
||
|
クライアントID |
生成されたOAuth 2.0クライアント資格証明のOCID。クライアント資格証明ページのクライアント資格証明の横にあるUIから取得できます。 |
|
|
クライアント・シークレット |
OAuth 2.0クライアント資格証明の生成時に生成されるシークレット。 一度表示されたらコピーします。 もう一度は表示されず、別のシークレットを再生成するオプションのみです。 |
|
クライアント資格証明の生成
クライアント資格証明を生成するには:
-
ナビゲーション・メニューを開き、「アイデンティティ&セキュリティ」をクリックします。 「アイデンティティ」で、「ユーザー」をクリックします。 「名前」列で、更新するユーザー名をクリックします。 「ユーザーの詳細」画面が表示されます。
APIをプログラム的に起動するには、通常、サービス・アカウント・ユーザーの下にクライアント資格証明を作成します。 資格証明は、グループ・レベルではなくユーザー・レベルで作成する必要があります。
-
「リソース」の下で、「OAuth 2.0クライアント資格証明」を選択します。
-
「OAuth 2.0クライアント資格証明の生成」をクリックします。
OAuth 2.0「クライアント資格証明」の生成ダイアログが表示されます。
-
リソース・セレクタを使用して、Oracle Integrationインスタンスを選択し、オーディエンスおよびスコープ・フィールドを移入します。
リソース・セレクタのドロップダウンには、Oracle Cloud Infrastructureテナンシのすべてのサブスクライブ・リージョンのすべてのOracle Integrationインスタンスがリストされます。 リストは、アクセス権のあるコンパートメントによってさらにフィルタ処理されます。 このビューを使用すると、クライアントが起動する必要があるOracle Integrationインスタンスを選択でき、これを行うと、次に示すようにオーディエンスおよびスコープ値が自動的に移入されます。 IAMユーザーおよび拡張OAuth 2.0クライアント資格証明はグローバルですが、Oracle Integrationインスタンスはリージョン内に作成され、同様にリージョナルであることに注意してください。
-
OAuth 2.0「クライアント資格証明」の生成ダイアログの追加エントリを完了します。
詳細は、「必要な情報の収集」の表を参照してください。
-
「生成」をクリックします。
生成された資格証明が表示されます。 クライアント資格証明には、クライアント資格証明OCIDとワンタイム・パスワードが含まれます。
-
パスワードをノートし、「閉じる」をクリックします。
資格証明パスワードは1回だけここに表示されます。 パスワードを取得する方法はありません。パスワードを紛失した場合は、資格証明を再生成する必要があります。
-
必要に応じて、クライアント資格証明を編集します。
生成されたクライアント資格証明は、「OAuth 2.0クライアント資格証明」の下にリストされます。 資格証明詳細画面で、属性を表示または変更し、必要に応じてクライアント・シークレットを再生成できます。
OAuth Bearerトークンの取得
OAuthクライアント資格証明を構成したら、生成された値に基づいてOAuth Bearerトークンを取得できます。
OAuth Bearerトークンを取得するには、POSTMANまたはcurlを使用して、APIリクエストに次の値を入力します:
-
クライアントIDとシークレット:
-
クライアントID:
ocid1.credential.oc1..aaaaaaaaulplph33maqltcttppjoyb56jlm5asx5ikcojntvzj5mnvp25qnq -
クライアント・シークレット:
i7BKNOG:1z1A)bqaY(]F
-
-
UPIストライプ・トークン・リクエスト・エンドポイント(POST):
https://idcs-364c06d3202948828edee2b8ba4dbc16.idcs.identity.us-phoenix-1.oci.oraclecloud.com/oauth2/v1/token -
POSTリクエスト・ペイロードのスコープ定義:
このインスタンスの場合、スコープ定義は、前述のクライアント資格証明作成ステップで定義されたオーディエンスおよびスコープを連結したもの(正確に)です。
'grant_type=client_credentials' 'scope=https://1403FE2A654445B7AAC83480F67E8C48.0001.integration.dev.ocp.oc-test.com:443urn:opc:resource:consumer::all https://1403FE2A654445B7AAC83480F67E8C48.0001.integration.dev.ocp.oc-test.com:443/ic/api' -
Request:
curl -X POST \ https://idcs-364c06d3202948828edee2b8ba4dbc16.idcs.identity.us-phoenix-1.oci.oraclecloud.com/oauth2/v1/token \ -H 'Accept: application/json'\ -H 'Authorization: Basic b2NpZDEuY3JlZGVudGlhbC5vYzEuLmFhYWFhYWFhdWxwbHBoMzNtYXFsdGN0dHBwam95YjU2amxtNWFzeDVpa2Nvam50dnpqNW1udnAyNXFucTppN0JLTk9HOjF6MUEpYnFhWShdRg=='\ -H 'Cache-Control: no-cache' \ -H 'Content-Type: application/x-www-form-urlencoded' \ -H 'cache-control: no-cache' \ -d 'grant_type=client_credentials&scope=https://1403FE2A654445B7AAC83480F67E8C48.0001.integration.dev.ocp.oc-test.com:443urn:opc:resource:consumer::all https://1403FE2A654445B7AAC83480F67E8C48.0001.integration.dev.ocp.oc-test.com:443/ic/api' -
Response:
{ "access_token": "eyJ4NXQjUzI1NiI6Ijc3NmdPRkNZZUxSZ0J2Q2JFcHE4dkg3OVc1UUxhWG91Q1c1QkN0U0xEekEiLCJ4NXQiOiJtejFrdVE4TEJudUF1VEs3S3EwQ3lRUlpCMmsiLCJraWQiOiJhc3ctb2F1dGhfb2MxXzY1MmI4YjI5IiwiYWxnIjoiUlMyNTYifQ.eyJ1c2VyX3R6IjoiTVNUIiwic3ViIjoiam9obi5kb2VAdGVzdC5jb20iLCJ1c2VyX2xvY2FsZSI6IkVOIiwidXNlcl9kaXNwbGF5bmFtZSI6ImpvaG4uZG9lQHRlc3QuY29tIiwic3ViX21hcHBpbmdhdHRyIjoidXNlck5hbWUiLCJpc3MiOiJhdXRoU2VydmljZS5vcmFjbGUuY29tIiwidG9rX3R5cGUiOiJBVCIsInB0eXBlIjoidXNlciIsInVzZXJfdGVuYW50bmFtZSI6ImlkY3MtMzY0YzA2ZDMyMDI5NDg4MjhlZGVlMmI4YmE0ZGJjMTYiLCJjbGllbnRfaWQiOiJvY2lkMS5jcmVkZW50aWFsLm9jMS4uYWFhYWFhYWF1bHBscGgzM21hcWx0Y3R0cHBqb3liNTZqbG01YXN4NWlrY29qbnR2emo1bW52cDI1cW5xIiwiYXVkIjpbImh0dHBzOlwvXC90ZXN0ZG5zdXBpNnVzaW5nbWlnbGFiLWlkYWF0MzFkanZpcy1jcGkuMDAwMS5pbnRlZ3JhdGlvbi5kZXYub2NwLm9jLXRlc3QuY29tOjQ0MyIsImh0dHBzOlwvXC8xNDAzRkUyQTY1NDQ0NUI3QUFDODM0ODBGNjdFOEM0OC4wMDAxLmludGVncmF0aW9uLmRldi5vY3Aub2MtdGVzdC5jb206NDQzIiwidXJuOm9wYzpsYmFhczpsb2dpY2FsZ3VpZD0xNDAzRkUyQTY1NDQ0NUI3QUFDODM0ODBGNjdFOEM0OCJdLCJ1c2VyX2lkIjoib2NpZDEudXNlci5vYzEuLmFhYWFhYWFhMjdqZW1vcmZ3YXp2ZDVtc2JiNzJxM2hlN3Frd2JzeXlkNzd0bWxvbmVoYzU0aGs1cG9jcSIsInN1Yl90eXBlIjoidXNlciIsInNjb3BlIjoidXJuOm9wYzpyZXNvdXJjZTpjb25zdW1lcjo6YWxsIFwvaWNcL2FwaSIsImNsaWVudF90ZW5hbnRuYW1lIjoiaWRjcy0zNjRjMDZkMzIwMjk0ODgyOGVkZWUyYjhiYTRkYmMxNiIsInVzZXJfbGFuZyI6IkVOIiwiZXhwIjoxNTk2NTYzNzcwLCJpYXQiOjE1OTY1NjAxNzAsImNsaWVudF9ndWlkIjoib2NpZDEuY3JlZGVudGlhbC5vYzEuLmFhYWFhYWFhdWxwbHBoMzNtYXFsdGN0dHBwam95YjU2amxtNWFzeDVpa2Nvam50dnpqNW1udnAyNXFucSIsImNsaWVudF9uYW1lIjoibXktdGVzdC1pbnN0YW5jZS1jbGllbnQiLCJ0ZW5hbnRfaXNzIjoiaHR0cHM6XC9cL2lkY3MtYmEyZDI0NDg0MmJhNGZiYWJlNmIzM2VlMGIxM2MwYzEuaWRjcy5pZGVudGl0eS51cy1hc2hidXJuLTEub2NpLm9yYWNsZWNsb3VkLmNvbSIsImp0aSI6IjkyZGNkMDQzLTc0MDYtNGJhZi1hZTMxLTVmY2JmZTk4YzRiNSIsInRlbmFudCI6ImlkY3MtMzY0YzA2ZDMyMDI5NDg4MjhlZGVlMmI4YmE0ZGJjMTYifQ.J8atPO-RjSsplzzzTYkT5_NCYo33gfHQJgZomJ3dZvrSpGdPDJ6Xxtb-UrLMLFGOZEaw-b4-JaY_z4KWETjlicseeMTBIgnpeiqf0QppqS0vJeMzy3kA_EIJrtcX_NQglOUYpGtyNq5-HTix6fPULYMf_ZMhLm7XAh551QAwL_TP_gz1QAXRsbYkzN_19Hs_kgJZ-KlZ2cwYLl2H3o36x2d2V3ESZNejPwSwutky8nT0bLBT78kwfc3YRzkhThb613XD3r4oLyYLGbTie9wHbufHjkAbcZRX7JR_hPjSxhm_ijVlOlEvFCy5Smn5-vss3dDBKJocGIIpbSfFyffxHQ", "token_type": "Bearer", "expires_in": "3600" }
Bearerトークンを使用したOracle Integration APIの起動
「OAuthベアラー・トークンの取得」で取得したベアラー・トークンを使用して、Oracle Integration APIを起動できるようになりました。 「Oracle IntegrationのREST API」を参照してください。
たとえば:
curl -X GET \
https://testdnsupi6usingmiglab-idaat31djvis-cpi.0001.integration.dev.ocp.oc-test.com:443/ic/api/integration/v1/integrations
\
-H 'Authorization: Bearer eyJ4NXQjUz........'\
-H 'cache-control:
no-cache'




