カスタムJWT要求によるユーザー・アイデンティティの「RESTアダプタ」からOracle NetSuiteへの伝播
カスタムJWT要求を使用して、「RESTアダプタ」とOracle NetSuiteの間でユーザー・アイデンティティを伝播できます。 この項では、Postmanでの統合の設計および実行時にユーザー・アイデンティティの伝播の概要を示します。
接続の作成
- 「RESTアダプタ」トリガー接続を作成します。
- トークン・ベース認証セキュリティ・ポリシーを使用して、「Oracle NetSuiteアダプタ」呼出し接続を作成します。 「Oracle Integration 3でのOracle NetSuiteアダプタの使用」の「接続セキュリティの構成」を参照してください。 構成時に、トークンIDとトークン・シークレットの値を指定します。
アプリケーション統合の作成と設計
- アプリケーション統合を作成します。
- 統合キャンバスで「RESTアダプタ」トリガー接続を追加および構成します。 次に、構成プロセスのアイデンティティ伝播部分について説明します。
- 「リソース構成」ページで、「カスタムJWT要求の構成」を選択します。

- 「カスタム請求」ページで、トークン・シークレットおよびトークンIDのカスタムJWT要求を追加します。 これらの要求は、Oracle Cloud Infrastructure Identity and Access Managementインスタンスでも定義する必要があります。

- 「リソース構成」ページで、「カスタムJWT要求の構成」を選択します。
- 統合キャンバスで、「Oracle NetSuiteアダプタ」呼出し接続を追加および構成します。 ビジネス・ニーズに対応するようにアダプタを構成します。 構成が必要なアイデンティティ・プロパゲーション設定はありません。 この例では、「Oracle NetSuiteアダプタ」のサマリー・ページが完了すると次のようになります。

- マッパーを開き、「ソース」および「ターゲット」セクションを展開します。
- 「セキュリティ・プロパティ」の下にあるソース「カスタム請求」セクションで、以前に定義したTOKENIDおよびTOKENSECRETカスタムJWTクレーム要素をターゲットの「トークンID」および「トークン・シークレット」要素にマップします。
Oracle NetSuiteへの新しいエンドポイント接続を作成すると、ターゲット「セキュリティ・プロパティ」セクションが自動的に表示されます。 「カスタム請求」マッピングを使用すると、ユーザー・アイデンティティを伝播し、Oracle NetSuiteでのみ自動的に認証できます。 ターゲットの「トークンID」および「トークン・シークレット」要素を使用すると、設計時に「Oracle NetSuiteアダプタ」のトークン・ベース認証セキュリティ・ポリシーに対して構成されたクライアントIDおよびクライアント・シークレット値をオーバーライドできます。

ノート:
- Oracle NetSuiteを使用したユーザー伝播には、「カスタム請求」要素を使用する必要があります。 「件名」要素を使用しないでください。
- 作成済の「Oracle NetSuiteアダプタ」呼出し接続で「セキュリティ・プロパティ」セクションを表示するには、アダプタ・エンドポイント構成ウィザードを開き、各ページで「続行」をクリックし、「終了」をクリックします。
- 完全な統合設計。
- ビジネス識別子を作成し、統合をアクティブ化します。
Oracle NetSuiteでのランタイム・トークンIDおよびトークン・シークレット値の作成
ユーザー・アイデンティティをOracle NetSuiteに伝播するときに、実行時に指定するトークンIDおよびトークン・シークレット値を作成する必要があります。 これらの値は、実行時にトークンIDおよびトークンIDパラメータに指定されます。
- Oracle NetSuiteにサインインします。
- メイン・メニューの「ホーム」をクリックします。
- ページの左側を下にスクロールします。
- 「設定」セクションの下の「アクセス・トークンの管理」をクリックします。
- 「新規自分のアクセス・トークン」をクリックします。
- 「アプリケーション名」リストから「ICS統合レコード」を選択し、「保存」をクリックします。
実行時に指定するトークン・シークレットおよびトークンIDの値が作成されます(セキュリティ上の理由から、次のイメージで不明瞭化されています)。

- 実行時に指定するトークンIDおよびトークン・シークレット値をコピーします。
Oracle IntegrationのOracle Cloud Infrastructure Identity and Access Managementインスタンスへのカスタム・クレームAPIの追加
カスタム要求APIをOracle IntegrationのOracle Cloud Infrastructure Identity and Access Managementインスタンスに追加する必要があります。 「RESTアダプタとOracle NetSuite間のアイデンティティ伝播の前提条件」を参照してください。 次のステップでは、実行時にPostmanでこの関連付けを作成する方法について説明します。
- 統合を実行するツールを開きます。 この例では、Postmanが使用されます。
- Oracle Cloud Infrastructure Identity and Access Managementログイン・ページに移動し、
idcs-で始まるURLをコピーします。
- Postmanの「Post」フィールドにURLを貼り付けます。
/admin/v1/CustomClaimsを末尾に追加します。 このアクションは、カスタム・クレームAPIをOracle IntegrationのOracle Cloud Infrastructure Identity and Access Managementインスタンスに関連付けます。https://idcs-URL_value.identity.oraclecloud.com/admin/v1/CustomClaims
- 「Body」で、JSONをクリックし、JSON本文全体に貼り付け、次の更新を行います。
schemas: カスタム請求スキーマを入力します。name: アプリケーション統合の作成と設計でRESTアダプタを構成するときに、「カスタム請求」ページで追加したトークンIDカスタム・クレームの正確な名前を入力します。 名前は一致する必要があります。 「RESTアダプタ」の「カスタム請求」ページで名前を変更した場合は、一致するようにここで変更する必要があります。value: Oracle NetSuiteでのランタイム・トークンIDおよびトークン・シークレット値の作成のOracle NetSuiteから取得したトークンID値を入力します。expression:falseと入力します。mode:requestと入力します。tokenType:ATと入力します。allScopes: トークンIDは特定のスコープにのみ適用されるため、falseと入力します。scopes: カスタムJWT要求が使用可能なスコープ値を入力します。 Oracle Cloud Infrastructureコンソールで機密アプリケーションを作成するときにスコープ値を選択しました。 スコープは、「カスタム要求のテスト」をクリックして統合を実行するときに使用されます。 「RESTアダプタとOracle NetSuite間のアイデンティティ伝播の前提条件」を参照してください。
{ "schemas": [ "urn:ietf:params:scim:schemas:oracle:idcs:CustomClaim" ], "name": "TOKENID", "value": "token_ID_value", "expression": false, "mode": "request", "tokenType": "AT". "allScopes": false, "scopes": [ "https://1FAE03234F573435FE325EC543F49771.integration.us-region-1.ocp.oraclecloud.com :443urn:opc:resource:consumer::all"] }
使用するクライアント・トークンの構成
統合を実行するには、追加のパラメータ値を指定する必要があります。
- 「カスタム要求のテスト」をクリックします。
- 「認証」タブ、「Body」の順にクリックし、「新規トークンの構成」まで下にスクロールして次の値を指定します。 クライアントID、クライアント・シークレットおよびスコープの値は、トリガー接続用のクライアント資格証明機密アプリケーションを使用して統合フローをトリガーするときに使用されます。
- トークン名: トークン名を入力します。 トークン名は任意です。 トークン名を指定して、他のリクエストで再利用できます。
- 付与タイプ: リストからクライアント資格証明を選択します。 これは、機密アプリケーションの作成時に選択したタイプです。 カスタムJWT要求はこの付与タイプで動作します。
- アクセス・トークンURL: アクセス・トークンURLを指定します。 このURLは、アクセス・トークンを作成するために使用されます。 これは、OAuthクライアント資格証明セキュリティ・ポリシーの一部です。
- クライアントID: Oracle Cloud Infrastructure Identity and Access Managementインスタンスに対する管理者権限を持つユーザーのクライアントIDを指定します。 これは、「Oracle NetSuiteでのランタイム・トークンIDおよびトークン・シークレット値の作成」で取得したクライアントIDではありません。
- クライアント・シークレット: Oracle Cloud Infrastructure Identity and Access Managementインスタンスに対する管理者権限を持つユーザーのクライアント・シークレットを指定します。 これは、「Oracle NetSuiteでのランタイム・トークンIDおよびトークン・シークレット値の作成」で取得したクライアント・シークレットではありません。
- スコープ:
urn:opc:idm:_myscopes_。 これは、管理権限を持つユーザーがOracle Cloud Infrastructure Identity and Access Managementで指定されたカスタム・クレームから追加した値です。 - クライアント認証: リストから基本認証ヘッダーとして送信を選択します。
ランタイム・トークンIDおよびトークン・シークレット値を使用した統合の実行
- 「認証」の下の「取得」フィールドに、実行する統合のURLを入力します。
- custom_claimsキーをクリックし、「Oracle NetSuiteでのランタイム・トークンIDおよびトークン・シークレット値の作成」で取得したランタイム・トークンIDおよびトークン・シークレット値を入力します。 実際のトークンIDおよびトークン・シークレット名(この例では、TOKENINおよびTOKENSECRET)は、設計時に「カスタム請求」ページで指定した名前と一致する必要があります。 custom_claimsキーはオプションであり、アクセス・トークン・リクエストの作成時に追加できます。

- 「新規アクセス・トークンの取得」、「続行」、「トークンを使用」の順にクリックします。
Oracle NetSuiteエンドポイントへの接続が成功した場合、ユーザーは使用できます。 ユーザーのトークン・シークレットおよびトークンIDは、Oracle NetSuiteに正常に伝播されました。
不正なトークンIDまたはトークン・シークレットを指定した場合、そのユーザーは使用できず、次のエラーが表示されます。 クライアントIDおよびクライアント・シークレットに入力した値が正しいことを確認します。Invalid login attempt