Oracle NetSuiteとの統合
前提条件
Oracle NetSuiteオーケストレート済システムをインストールおよび構成する前に、次の前提条件およびタスクを考慮する必要があります。
動作保証されたコンポーネント
システムは、次のいずれかです。
| コンポーネント・タイプ | コンポーネント |
|---|---|
| ターゲット・システム | Oracle NetSuiteリリース2023.1 |
| ターゲットAPIのバージョン | NetSuite v1およびNetSuitePort_2022_1 |
サポートされているモード
Oracle NetSuiteオーケストレート済システムでは、次のモードがサポートされています。
- 管理されたシステム
サポートされている操作
- ユーザーの作成
- ユーザーの削除
- パスワードのリセット
- ユーザーにロールを割り当てる
- ユーザーからのロールの取消し
- ユーザーへのグループの割当
- ユーザーからグループを削除
操作を実行するためのNetSuiteシステムの構成
これは、アプリケーションの作成前にターゲット・システムで実行するタスクの概要です。
NetSuiteコネクタのインストール前の作業では、NetSuiteシステムで一連のタスクを実行します。
インストール前の作業には、次のタスクが含まれます:
- Oracle NetSuiteにログインします。
- 「設定」>「会社」>「機能を有効化」 に移動します。
- SuiteCloudサブタブで、それぞれのメニュー項目から次の機能を有効にします。
-
SuiteBuilder
次のボックスを有効にします:
- アイテム・オプション
- カスタム・レコード
- アドバンストPDF/HTMLテンプレート
- 個人情報を削除
-
SuiteScript:
- クライアントSuiteScript
- サーバーSuiteScript
-
SuiteFlow
- スイートフロー
-
SuiteGL
- カスタム総勘定元帳ライン
- カスタム・トランザクション
- カスタム・セグメント
-
SuiteBundler
- SuiteBundlerによるバンドル作成
-
SuiteTalk
- SOAP Webサービス
- REST WEBサービス
-
認証の管理
- スイートニョン
- トークンベースの認証
- OAUTH 2.0
-
SuiteCloud開発フレームワーク
- SuiteCloud開発フレームワーク
-
SuiteBuilder
- 「保存」をクリックします。
アプリケーションの統合レコードを作成するには、次のステップに従います:
-
- 「設定」→「統合」→「統合の管理」→「新規」に移動します。
- 「名前」フィールドにアプリケーションの名前を入力します。
- 必要に応じて、「説明」フィールドに説明を入力します。
- 「状態」フィールドで「有効」を選択します。
- 必要に応じて、「ノート」フィールドにノートを入力します。
- 「認証」タブで、アプリケーションに適したボックスを選択します:
- トークンベースの認証
-
- トークンベースの認証
- TBA: 認可フロー
- コールバックURLを定義します。
-
- O認証2.0
- 認可コード付与
- スコープ
- RESTlet
- REST WEBサービス
- 有効なリダイレクトURIを指定します
- トークンベースの認証
- 「保存」をクリックします。
- 画面に表示されるクライアント資格証明の詳細は、1回かぎりの表示であるため、必ずコピーしてください。
例:
consumerKey = "fcb9ec7e7d386fab36566e9c4159bXXXXXXX2875841d828aee7e"
consumerSecret = "bd7780d4396715f5f4586d874379XXXXXX38c42a525c95f70"
トークン・ベースの認証トークンを作成して割り当てるには:
- 「アクセス・トークンの管理」権限を持つユーザーとしてログインします。
- 「設定」→「ユーザー/ロール」→「アクセス・トークン」に移動します。
- 「アクセス・トークン」ページで、「新規アクセス・トークン」をクリックします。
- 「アクセス・トークン」ページで:
- 「アプリケーション名」を選択します。
- 「ユーザー」を選択します。
- 「ロール」を選択します。
- 「トークン名」には、アプリケーション名、ユーザーおよびロールを連結したものがすでに移入されています。必要に応じて、このトークンの独自の名前を入力します。
- 「保存」をクリックします。
- 画面に表示されるトークンの詳細は、1回かぎりの表示であるため、必ずコピーします。次に例を示します。
tokenId = "0948d37f7XXXXXXXXXXXXXX8075";
tokenSecret = "86b7bb19cXXXXXXXXabfa0eb401e2c2c24b”
ユーザー・レベル・トークンを生成するOAuth2.0フロー
ユーザー・レベルのアクセス・トークンおよびリフレッシュ・トークンを生成するには、2つのステップを手動で完了する必要があります。これらの値は、認証のためのOracle NetSuiteコネクタ基本構成のauthTokenに指定する必要があります。
次のステップは、認可コード付与をオプトインするユーザーが実行する必要があります:
インターネット・ブラウザで認可コード付与URLを渡すか、Postmanを使用してトークンを生成する必要があります。
-
認可コードのリクエスト
ノート
開発者環境のトークンURIは次のとおりです:https://<host name>/services/rest/auth/oauth2/v1/token.- 例に示すように、ブラウザで次のURLを入力します:
例:
https://<host name> /app/login/oauth2/authorize.nl?redirect_uri={callback}&response_type=code&scope=restlets+rest_webservices&state=ykv2XLx1BpT5Q0F3MRPHb94j&client_id={ConsumerKey}.{ConsumerKey}をコンシューマ・キー/クライアントIDに、{callback}をリダイレクトURIに置き換えます。前述のURLには、eSignature REST APIに必要な署名スコープが含まれています。このURLにより、Oracle NetSuite認証画面が開きます。
- Oracle NetSuiteアカウントの電子メール・アドレスとパスワードを入力し、リクエストされたスコープに同意します。その後、ログイン・ブラウザにリダイレクトされたら、ログインおよび認証用のユーザー資格証明を入力し、「続行」をクリックして、Oracle NetSuiteがコードを提供するための情報にアクセスできるようにします。ブラウザは、URLに埋め込まれたコード・パラメータに対して返された長い文字列を使用してリダイレクトURIに誘導されます。
リクエスト:
https://<host name>/app/login/oauth2/authorize.nl?redirect_uri=http://example.com&response_type=code&scope=restlets+rest_webservices&state=ykv2XLx1BpT5Q0F3MRPHb94j&client_id=7e1c238e-xxxx-xxxx-xxxx-abcea08a3171レスポンス:
https://example.com/?state=ykv2XLx1BpT5Q0F3MRPHb94j&role=3&entity=4622&company=TSTDRVXXXXXX&code=096835b6aced….......457b00e3c
- 例に示すように、ブラウザで次のURLを入力します:
-
ステップ1で生成されたコードを使用したリフレッシュ・トークンの生成
- リフレッシュ・トークンをリクエストするには、認可コードを含むPOSTリクエストをNetSuite認証サービスに送信します。
- コンシューマ・キーとコンシューマ秘密キーの値を、それぞれユーザー名とパスワードとして、「認可」でPostmanのBasic認証としてのタイプを持つリフレッシュ・トークン・リクエストに貼り付けます。
- また、リフレッシュ・トークン・リクエストには、本文パラメータのセット(grant_typeおよびcode)も含まれます。
- キーを、値が<code>のコードとして更新します。
ノート
<code>は、ステップ1をコールバックから受け取った認可コードにすぎません。たとえば、code=096835b6aced..........457b00e3cです。
- 同じように、1つ以上の本文パラメータを
grant_typeのキーとauthorization_codeの値でアップデートし、もう1つ本文パラメータをredirect_uriのキーとステップ1で指定したものと同じ値でアップデートします。
- キーを、値が<code>のコードとして更新します。
- 「Authorize Code Grant Refresh Token」リクエストを実行して、アクセス・トークンおよびリフレッシュ・トークンを生成します。
- レスポンスで、access_token、token_type、refresh_tokenおよびexpires_inという要素が返されます。
- refresh_tokenの値をコピーまたは保存します。
認可コード付与でリフレッシュ・トークンを取得する方法の詳細は、NetSuite Applications Suiteに関する項を参照してください。
例:
リクエスト:
curl --location --request POST " https://<host name>/services/rest/auth/oauth2/v1/token"--header "Authorization: Basic N2UxYzIzOGU1Zj........GI3Njg3MzMzMTZm" --header "Content-Type: application/x-www-form-urlencoded" --data-urlencode "code=34e8dec4289........a52fe26" --data-urlencode "redirect_uri=https://example.com" --data-urlencode "grant_type=authorization_code"レスポンス:
{ "access_token":"eyJ0eXAi......mX9f7k1g", "token_type":"Bearer", "refresh_token":"eyJ0eXAi......mruC5c3A", "expires_in":3600 }OAuth2.0認証に必要な要素 要素 説明 refresh_token ユーザーの同意を必要とせずに新しいアクセス・トークンを取得するために使用されるトークンで、すべてのNetSuite APIコールの認可ヘッダーでこのトークンを使用します。
NetSuiteコネクタ基本構成の値の指定。
refresh_tokenの値を取得したら、これらの値をNetSuiteコネクタ基本構成のauthTokenに指定する必要があります。構成の詳細は、「NetSuiteコネクタの構成」を参照してください。たとえば、eyJ0eXAi......mX9f7k1gです
refresh_tokenの値 認証から受信される完全なリフレッシュ・トークンの値。
構成
接続の詳細を入力することで、Oracle NetSuiteとOracle Access Governanceの間の接続を確立できます。これを実現するには、Oracle Access Governanceコンソールで使用可能なOrchestrated Systems機能を使用します。
「Orchestrated Systems」ページに移動します。
- Oracle Access Governanceのナビゲーション・メニュー・アイコン
から、「Service Administration」→「Orchestrated Systems」を選択します。 - ワークフローを開始するには、「オーケストレート済システムの追加」ボタンを選択します。
システムの選択
ワークフローの「システムの選択」ステップで、オンボーディングするシステムのタイプを指定できます。
- NetSuiteを選択します。
- 「次へ」をクリックします。
詳細の入力
- 「名前」フィールドに、接続先のシステムの名前を入力します。
- 「説明」フィールドに、システムの説明を入力します。
- このオーケストレート済システムが信頼できるソースかどうか、および次のチェック・ボックスを設定してOracle Access Governanceが権限を管理できるかどうかを決定します。
-
これは私のアイデンティティの認証ソースです
次の項目から選択します。
- アイデンティティとその属性のソース: システムは、ソース・アイデンティティおよび関連する属性として機能します。新しいアイデンティティは、このオプションを使用して作成されます。
- アイデンティティ属性のソースのみ: 追加のアイデンティティ属性の詳細が取り込まれ、既存のアイデンティティに適用されます。このオプションは、新規アイデンティティ・レコードを取込みまたは作成しません。
- このシステムの権限を管理します
-
これは私のアイデンティティの認証ソースです
- 「次へ」を選択します。
所有者の追加
- 「プライマリ所有者は誰ですか。」フィールドで、Oracle Access Governanceのアクティブ・ユーザーをプライマリ所有者として選択します。
- 「他の所有者は誰ですか。」リストで1つ以上の追加所有者を選択します。リソースに最大20人の追加所有者を追加できます。
アカウント設定
- 権限が要求され、アカウントがまだ存在しない場合は、このオプションを選択して新しいアカウントを作成します。このオプションはデフォルトで選択されています。選択すると、権限が要求されたときにアカウントが存在しない場合、Oracle Access Governanceによってアカウントが作成されます。このオプションをクリアすると、権限はオーケストレート済システム内の既存のアカウントに対してのみプロビジョニングされます。アカウントが存在しない場合、プロビジョニング操作は失敗します。
- アカウント作成時の通知電子メールの受信者を選択します。デフォルトの受信者は「ユーザー」です。受信者が選択されていない場合、アカウントの作成時に通知は送信されません。
- ユーザー
- ユーザー・マネージャ
- 既存のアカウントの構成ノート
これらの構成を設定できるのは、システム管理者によって許可されている場合のみです。グローバル・アカウント終了設定が有効になっている場合、アプリケーション管理者は、調整されたシステム・レベルでアカウント終了設定を管理できません。- 早期終了開始時のアカウントの処理の選択: 早期終了の開始時に実行する処理を選択します。これは、正式な退職日より前にアイデンティティ・アクセスを取り消す必要がある場合に発生します。
- 削除: Oracle Access Governanceで管理されているすべてのアカウントおよび権限を削除します。ノート
特定のオーケストレート済システムでアクションがサポートされていない場合、アクションは実行されません。 - 無効化: すべてのアカウントを無効化し、Oracle Access Governanceで管理される権限を無効化します。
- 無効化されたアカウントの権限の削除: 残存アクセス権がゼロであることを確認するには、これを選択して、アカウントの無効化時に直接割り当てられた権限およびポリシーで付与された権限を削除します。
- アクションなし: アイデンティティにOracle Access Governanceによる早期終了のフラグが付けられている場合、アクションは実行されません。
- 削除: Oracle Access Governanceで管理されているすべてのアカウントおよび権限を削除します。
- 退職日のアカウントの処理の選択: 正式な退職時に実行する処理を選択します。これは、正式な退職日にIDアクセスを取り消す必要がある場合に発生します。
- 削除: Oracle Access Governanceで管理されているすべてのアカウントおよび権限を削除します。ノート
特定のオーケストレート済システムで「削除」アクションがサポートされていない場合、アクションは実行されません。 - 無効化: すべてのアカウントを無効化し、Oracle Access Governanceで管理される権限を無効化します。
- 無効化されたアカウントの権限の削除: 残存アクセス権がゼロであることを確認するには、これを選択して、アカウントの無効化時に直接割り当てられた権限およびポリシーで付与された権限を削除します。
ノート
特定のオーケストレート済システムで「無効化」アクションがサポートされていない場合は、アカウントが削除されます。 - アクションなし: Oracle Access Governanceでは、アカウントおよび権限に対するアクションは実行されません。
- 削除: Oracle Access Governanceで管理されているすべてのアカウントおよび権限を削除します。
- 早期終了開始時のアカウントの処理の選択: 早期終了の開始時に実行する処理を選択します。これは、正式な退職日より前にアイデンティティ・アクセスを取り消す必要がある場合に発生します。
- アイデンティティが企業を離れたときは、そのアカウントへのアクセス権を削除する必要があります。 ノート
これらの構成を設定できるのは、システム管理者によって許可されている場合のみです。グローバル・アカウント終了設定が有効になっている場合、アプリケーション管理者は、調整されたシステム・レベルでアカウント終了設定を管理できません。アカウントに対する次のアクションのいずれかを選択します。
- 削除: Oracle Access Governanceで管理されているすべてのアカウントおよび権限を削除します。
- 無効化: すべてのアカウントを無効化し、権限を非アクティブとしてマークします。
- 無効化されたアカウントの権限の削除: アカウントの無効化時に直接割り当てられ、ポリシーで付与された権限を削除して、残存アクセスをゼロにします。
- アクションなし: アイデンティティが組織を離れるときにアクションを実行しません。
ノート
これらのアクションは、オーケストレートされたシステム・タイプでサポートされている場合にのみ使用できます。たとえば、「削除」がサポートされていない場合、「無効化」および「アクションなし」オプションのみが表示されます。 - アカウントのすべての権限が削除された場合(アイデンティティが部門間を移動する場合など)、アカウントの処理を決定する必要がある場合があります。オーケストレート済システム・タイプでサポートされている場合、次のいずれかのアクションを選択します。
- 削除
- 使用不可
- 処理なし
- アクセス・ガバナンスで作成されていないアカウントの管理: オーケストレート済システムで直接作成されるアカウントを管理する場合に選択します。これにより、既存のアカウントを調整し、Oracle Access Governanceから管理できます。
システムを管理対象システムとして構成しない場合、ワークフローのこのステップは表示されますが、有効になりません。この場合、ワークフローの「統合設定」ステップに直接進みます。
オーケストレート済システムで、汎用RESTおよびデータベース・アプリケーション表の統合と同様に動的スキーマ検出が必要な場合は、オーケストレート済システムの作成時に通知電子メールの宛先(ユーザー、Usermanager)のみを設定できます。モーバーおよびリーバの無効化/削除ルールは設定できません。これを行うには、オーケストレート済システムを作成してから、「オーケストレート済システム・アカウント設定の構成」の説明に従ってアカウント設定を更新する必要があります。
統合設定
ワークフローの「統合設定」ステップで、Oracle Access GovernanceがOracle NetSuiteインスタンスに接続できるようにするために必要な構成詳細を入力します。
- 「ホスト」フィールドに、NetSuiteアプリケーションが実行されているシステムのホスト名を入力してください。
サンプル値:
TSTDRVXXXXXXXX.suitetalk.api.netsuite.com - 「アカウント名」フィールドに、操作を実行するためにNetSuiteアプリケーションで作成されたアカウントの名前を入力します。
サンプル値:
TSTDRVXXXXXXXX - 「Consumer Key」フィールドに、consumerKeyを入力します。
サンプル値:
7e1c238e538bafXXXXXXXXbcea08a3171 - 「Consumer Secret」フィールドに、consumerSecretと入力します。
サンプル値:
fff0b23810704056XXXXXXXXXX0b768733316f - 「トークンID」フィールドに、トークンIDを入力します。
サンプル値:
3e23ecc14bc7dXXXXXXXd400e56177ed - 「トークン・シークレット」フィールドに、トークン・シークレットを入力します。
サンプル値:
cd750404ee67653aXXXXXXXXXX646422da64c - 「認証URL」フィールドに、システムのクライアントIDおよびクライアント・シークレットを検証する認証サーバーのURLを入力してください。
デフォルト値:
/services/rest/auth/oauth2/v1/token - 「認証トークン」フィールドに、「リフレッシュ・トークン値」を入力します。この値は、OAuthコード認可フローを実行することでフェッチできます。
サンプル値:
eyJ0eXAiOiJNVCIsImFsZyI6IlJTMjU2Iiwia2lkIjoiNjgxODVmZjEtNGU1MS00Y2U5LWFmMWMtNjg5ODEyMjAzMzE3In0.AQoAAAABAAUABwCA8Kx7sbjaSAgAgDDQifS42kgCAGcjU3expKxCtXXXXXXXXXXXFAAAADQAkAAAANDdhZWE4OWQtNWViYy00NmMyLWI0YmYtNjE5MDRhMjE0MTE1IgAkAAAANDdhZWE4OWQtNWViYy00NmMyLWI0YmYtNjE5MDRhMjE0MTE1MACABwhGsbjaSDcAC1hTwTsYB0GKF0Qif6kfLg.Lk45d4mcBPIrBghYun1S2pVa0EE0XHYTU66cqWpEuPMgSieVTRgwF3wyTOSgyPuiJNf18QTJcG6js4LvVL7sPw8IJwQ6bd - 「ポート」フィールドに、ターゲット・システムがリスニングしているポート番号を入力します。
サンプル値:
443 - 「追加」をクリックして、オーケストレート済システムを作成します。
完了
- システムでデータ・ロードを有効化する前にカスタマイズします
- 指定されたデフォルトで、データ・ロードのアクティブ化と準備を行います
構成後処理
Oracle NetSuiteシステムに関連付けられた構成後ステップはありません。