機械翻訳について

カスタムJWT要求によるユーザー・アイデンティティの「RESTアダプタ」からOracle NetSuiteへの伝播

カスタムJWT要求を使用して、「RESTアダプタ」とOracle NetSuiteの間でユーザー・アイデンティティを伝播できます。 この項では、Postmanでの統合の設計および実行時にユーザー・アイデンティティの伝播の概要を示します。

接続の作成

  1. 「RESTアダプタ」トリガー接続を作成します。
  2. トークン・ベース認証セキュリティ・ポリシーを使用して、「Oracle NetSuiteアダプタ」呼出し接続を作成します。 「Oracle Integration 3でのOracle NetSuiteアダプタの使用」「接続セキュリティの構成」を参照してください。 構成時に、トークンIDとトークン・シークレットの値を指定します。

アプリケーション統合の作成と設計

  1. アプリケーション統合を作成します。
  2. 統合キャンバスで「RESTアダプタ」トリガー接続を追加および構成します。 次に、構成プロセスのアイデンティティ伝播部分について説明します。
    1. 「リソース構成」ページで、「カスタムJWT要求の構成」を選択します。


      「カスタムJWT要求の構成」チェック・ボックスが選択されています。

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


      「カスタム要求の構成」ページには、「追加」ボタンと「削除」ボタンが表示されます。 この下には、TOKENSECRETおよびTOKENIDおよびデータ型列の値が文字列である「名前」列があります。

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


    サマリー・ページには、処理モードが同期、操作タイプが検索、検索モードが保存済検索の起動、ビジネス・オブジェクトが顧客、保存済検索名がAdapSavesearch、選択した処理オプションがなし、ページ・サイズが5として表示されます。

  4. マッパーを開き、「ソース」および「ターゲット」セクションを展開します。
  5. 「セキュリティ・プロパティ」の下にあるソース「カスタム請求」セクションで、以前に定義したTOKENIDおよびTOKENSECRETカスタムJWTクレーム要素をターゲットの「トークンID」および「トークン・シークレット」要素にマップします。

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


    ソース、マッピング・キャンバスおよびターゲット・セクションが表示されます。 ソースのTOKENIDおよびTOKENSECRET要素は、ターゲット・トークンIDおよびトークン・シークレット要素にマップされます。

    ノート:

    • Oracle NetSuiteを使用したユーザー伝播には、「カスタム請求」要素を使用する必要があります。 「件名」要素を使用しないでください。
    • 作成済の「Oracle NetSuiteアダプタ」呼出し接続で「セキュリティ・プロパティ」セクションを表示するには、アダプタ・エンドポイント構成ウィザードを開き、各ページで「続行」をクリックし、「終了」をクリックします。
  6. 完全な統合設計。
  7. ビジネス識別子を作成し、統合をアクティブ化します。

Oracle NetSuiteでのランタイム・トークンIDおよびトークン・シークレット値の作成

ユーザー・アイデンティティをOracle NetSuiteに伝播するときに、実行時に指定するトークンIDおよびトークン・シークレット値を作成する必要があります。 これらの値は、実行時にトークンIDおよびトークンIDパラメータに指定されます。

  1. Oracle NetSuiteにサインインします。
  2. メイン・メニューの「ホーム」をクリックします。
  3. ページの左側を下にスクロールします。
  4. 「設定」セクションの下の「アクセス・トークンの管理」をクリックします。
  5. 「新規自分のアクセス・トークン」をクリックします。
  6. 「アプリケーション名」リストから「ICS統合レコード」を選択し、「保存」をクリックします。

    実行時に指定するトークン・シークレットおよびトークンIDの値が作成されます(セキュリティ上の理由から、次のイメージで不明瞭化されています)。


    このページには、「アクティビティ」、「ボックス・ファイル」、「支払」、「トランザクション」、「リスト」、「レポート」、「アナリティクス」、「ドキュメント」、「設定」(選択)および「処理」のタブが表示されます。 この下には、「編集」(選択)、「戻る」および「処理」のタブがあります。 この下には、アプリケーション名、ユーザー、ロール、トークン名および非アクティブのフィールドと値を含む「プライマリ情報」セクションがあります。 この下には、トークンIDおよびトークン・シークレットのフィールドと値があります。

  7. 実行時に指定するトークンIDおよびトークン・シークレット値をコピーします。

Oracle IntegrationOracle Cloud Infrastructure Identity and Access Managementインスタンスへのカスタム・クレームAPIの追加

カスタム要求APIをOracle IntegrationOracle Cloud Infrastructure Identity and Access Managementインスタンスに追加する必要があります。 「RESTアダプタとOracle NetSuite間のアイデンティティ伝播の前提条件」を参照してください。 次のステップでは、実行時にPostmanでこの関連付けを作成する方法について説明します。

  1. 統合を実行するツールを開きます。 この例では、Postmanが使用されます。
  2. Oracle Cloud Infrastructure Identity and Access Managementログイン・ページに移動し、idcs-で始まるURLをコピーします。


    Oracle Cloud「アカウントのサインイン」ページのURLが表示されます。 URLには、先頭にidcs- のプレフィクスが含まれます。

  3. Postmanの「Post」フィールドにURLを貼り付けます。
  4. /admin/v1/CustomClaimsを末尾に追加します。 このアクションは、カスタム・クレームAPIをOracle IntegrationOracle Cloud Infrastructure Identity and Access Managementインスタンスに関連付けます。
    https://idcs-URL_value.identity.oraclecloud.com/admin/v1/CustomClaims


    「カスタム要求」タブが展開され、「カスタム要求の追加」、「カスタム要求の取得」および「カスタム要求の削除」のエントリが表示されます。 右側に「カスタム要求の追加」が表示されます。 Post値が指定されました。 この下には、パラメータ、認可、ヘッダー、本文(選択済)、スクリプト、テストおよび設定のタブがあります。 この下には、none、form-data、x-www-form-urlencoded、raw (選択済)、バイナリおよびGraphQLの選択肢があります。 JSONリストが右側に表示されます。

  5. 「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"] 
    }
    

使用するクライアント・トークンの構成

統合を実行するには、追加のパラメータ値を指定する必要があります。

  1. 「カスタム要求のテスト」をクリックします。
  2. 「認証」タブ、「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およびトークン・シークレット値を使用した統合の実行

  1. 「認証」の下の「取得」フィールドに、実行する統合のURLを入力します。
  2. custom_claimsキーをクリックし、「Oracle NetSuiteでのランタイム・トークンIDおよびトークン・シークレット値の作成」で取得したランタイム・トークンIDおよびトークン・シークレット値を入力します。 実際のトークンIDおよびトークン・シークレット名(この例では、TOKENINおよびTOKENSECRET)は、設計時に「カスタム請求」ページで指定した名前と一致する必要があります。 custom_claimsキーはオプションであり、アクセス・トークン・リクエストの作成時に追加できます。


    チーム・ワークスペースが左側に表示されます。 接続が選択されています。 環境、フローおよび履歴には、他のオプションがあります。 カスタム・クレーム・タブが展開され、カスタム・クレームの追加、カスタム・クレームの取得、カスタム・クレームの削除、トーク・リクエスト、削除、カスタム・クレームのテスト、カスタム・クレームなしのテストのエントリが表示されます。 右側に「カスタム要求のテスト」が表示されます。 取得値が指定されました。 この下には、パラメータ、認可(選択済)、ヘッダー、本文、スクリプト、テストおよび設定のタブがあります。 キー・フィールドにはcustom_claimsキーが表示され、このキーはTOKENIDおよびTOKENSECRETの値で構成されます。

  3. 「新規アクセス・トークンの取得」「続行」「トークンを使用」の順にクリックします。

    Oracle NetSuiteエンドポイントへの接続が成功した場合、ユーザーは使用できます。 ユーザーのトークン・シークレットおよびトークンIDは、Oracle NetSuiteに正常に伝播されました。

    不正なトークンIDまたはトークン・シークレットを指定した場合、そのユーザーは使用できず、次のエラーが表示されます。 クライアントIDおよびクライアント・シークレットに入力した値が正しいことを確認します。
    Invalid login attempt