ServiceNow インスタンスがナレッジ ベースまたは記事レベルのユーザー条件で 高度なスクリプト を使用している場合は、 高度な フローを使用する必要があります。 これにより、Microsoft Graph にコンテンツを取り込む際の正確なアクセス許可処理が保証されます。
手順 1: セットアップで [詳細フロー] を選択する
Microsoft Graph Connector for ServiceNow Knowledge を設定する場合は、[ServiceNow でのユーザー条件の設定に基づいて選択] フィールドの [ 詳細設定 ] オプションを選択します。 これは、高度なユーザー条件を正しく処理するために重要です。
手順 2: ServiceNow でスクリプト化された REST API を構成する
コネクタが高度なユーザー条件をフェッチできるようにするには、ServiceNow インスタンスに Scripted REST API を作成する必要があります。 以下の手順に従います。
2.1: ユーザー ロールの昇格
- ServiceNow でのロールを
security_admin
に昇格します。
2.2: Access Controlの作成 (ACL)
- ServiceNow で、[すべての> システム セキュリティ > Access Control (ACL)] に移動します。
- [ 新規 ] をクリックして新しい ACL を作成します。
- 次の値を設定します。
-
型:
REST_Endpoint
-
操作:
Execute
-
名前:
Microsoft Copilot
-
ロール:
admin
(またはクロール アカウントに割り当てられた同じロール)
-
型:
- [送信] をクリックします。
2.3: スクリプト化された REST API を作成する
[ すべての > System Web Services > スクリプト化された Web サービス > スクリプト化された REST API] に移動します。
[新規作成] をクリックします。
次の情報を入力します。
-
名前:
Microsoft Copilot
-
API ID:
microsoft_copilot
-
名前:
[送信] をクリックします。
[スクリプト化された REST API] リスト ページで、[
Microsoft Copilot
- 先ほど作成した REST API] をクリックします。[既定の ACL] を [
Microsoft Copilot
] に設定します (手順 2.2 以降)。
2.4: API にリソースを追加する
- [ リソース ] タブで、[ 新規] をクリックします。
- 詳細を入力します。
-
名前:
GetAllUserCriteria
-
相対パス:
/user_criteria
- スクリプト: 次のコードを貼り付けます。
-
名前:
(function execute (/*RESTAPIRequest*/ request, /*RESTAPIResponse*/ response) {
var queryParams = request.queryParams;
var user = new String(queryParams.user);
return (new sn_uc.UserCriteriaLoader()).getAllUserCriteria(user);
})(request, response);
次の両方がオンになっていることを確認します。
- 認証の必要性
- ACL 承認が必要
ACL が
Microsoft Copilot
に設定されていることを確認します。[更新] をクリックします。
2.5: セットアップの確認
-
[リソース パス] が次であることを確認します。
/api/<API Namespace>/microsoft_copilot/user_criteria
- [ 更新] をクリックして構成を保存します。
手順 3: Graph コネクタのセットアップ エクスペリエンスに API 名前空間を入力する
Microsoft Graph コネクタのセットアップで、ServiceNow で作成した API 名前空間 を入力します。
注:
API 名前空間は、手順 2.5 で示されている [リソース パス] フィールドにあります。 名前空間部分のみが必要です。完全なパスは必要ありません。
たとえば、リソース パスが
/api/abcdef/microsoft_copilot/user_criteria
されている場合、API 名前空間はabcdef
。