SCIM2ClientUtil - スコープ指定
SCIM2ClientUtil API は、外部プロバイダーシステムの一意の識別子を取得し、SCIM2Client API を呼び出すときにその情報を使用するためのユーティリティメソッドを提供します。
この API は sn_auth 名前空間で実行され、API にアクセスするには SCIM v2 - ServiceNow クロスドメイン ID 管理クライアント (com.snc.integration.scim2.client) プラグインをインストールする必要があります。
SCIM の詳細については、「 クロスドメイン ID 管理システム (SCIM)」を参照してください。
SCIM2ClientUtil - getProviderIdByFilter(文字列プロバイダー, 文字列 resourceName, 文字列フィルター)
目的のリソースを記述するフィルター式を使用して、 ServiceNow インスタンス内の一意のリソース ID について、指定された外部プロバイダーシステムから指定されたリソースの一意の識別子を返します。
この API は、 ServiceNow フィールドを外部プロバイダーシステムのリソース識別子が必要な SCIM フィールドにマッピングする場合に便利です。このメソッドを呼び出す前に、SCIM プロバイダーリソースマッピング [sys_scim_provider_resource_mapping] テーブルにあるシステム属性マップのリソースに対して一意のフィールドを定義する必要があります。
プロバイダーリソースマッピングの詳細については、「 Create a SCIM Provider Resource Mapping」を参照してください。
| 名前 | タイプ | 説明 |
|---|---|---|
| プロバイダー | 文字列 | 構成された SCIM サービスプロバイダーの名前。 テーブル:SCIM プロバイダー [sys_scim_provider] テーブルの名前フィールド内。 |
| resourceName | 文字列 | ユーザーやグループなどのリソースタイプの名前。 テーブル:SCIM プロバイダーリソースマッピング [sys_scim_provider_resource_mapping] テーブルの [resource_name] フィールド。 |
| フィルター | 文字列 | 返される結果に適用するフィルター式。 使用可能なフィルターパラメーターとそれに関連する形式の詳細については、インターネットエンジニアリングタスクフォースのドキュメントの次のセクションを参照してください。 クロスドメイン ID 管理システム:プロトコル https://datatracker.ietf.org/doc/html/rfc7644#section-3.4.2.2 |
| タイプ | 説明 |
|---|---|
| 文字列 | 外部サービスプロバイダーによって使用される一意のリソース識別子。 情報のフェッチ中に問題が発生した場合は例外をスローします。 |
次の例は、フィルター 「username eq "abel.tuter"」を使用してユーザーのリソース識別子を取得する方法を示しています。
var response = sn_auth.SCIM2ClientUtil.getProviderIdByFilter('SNOW Provider','User','username eq "abel.tuter"');
gs.info('response: ' + response);
出力:
"005d500b536073005e0addeeff7b12f4"
次の例は、スクリプトを使用してフィルター 「userName eq "' + manager + '"' を使用してマネージャーのリソース識別子を取得する方法を示しています。
(function getValue(resourceGR) {
try {
var manager = resourceGR.manager.user_name;
return sn_auth.SCIM2ClientUtil.getProviderIdByFilter('SCIM Provider Demo', 'User', 'userName eq "' + manager + '"');
} catch (e) {
gs.error('Unable to get attribute value using script' + e);
// Handle failure scenario here
}
})(resourceGR);
出力:
"125d500b535973005e0addeeff8c12a2"
SCIM2ClientUtil - getProviderIdByResourceId(文字列プロバイダー、文字列 resourceName、文字列 resourceId)
ServiceNowインスタンス内の一意のリソース ID について、指定された外部プロバイダーシステムから指定されたリソースの一意の識別子を返します。
この API は、 ServiceNow フィールドを外部プロバイダーシステムのリソース識別子が必要な SCIM フィールドにマッピングする場合に便利です。このメソッドを呼び出す前に、SCIM プロバイダーリソースマッピング [sys_scim_provider_resource_mapping] テーブルにあるシステム属性マップのリソースに対して一意のフィールドを定義する必要があります。
プロバイダーリソースマッピングの詳細については、「 Create a SCIM Provider Resource Mapping」を参照してください。
| 名前 | タイプ | 説明 |
|---|---|---|
| プロバイダー | 文字列 | 構成された SCIM サービスプロバイダーの名前。 テーブル:SCIM プロバイダー [sys_scim_provider] テーブルの名前フィールド内。 |
| resourceName | 文字列 | ユーザーやグループなどのリソースタイプの名前。 テーブル:SCIM プロバイダーリソースマッピング [sys_scim_provider_resource_mapping] テーブルの [resource_name] フィールド。 |
| resourceId | 文字列 | ServiceNowインスタンス (クライアント) に保存されているリソースのSys_id。 テーブル:SCIM プロバイダーリソースマッピング [sys_scim_provider_resource_mapping] テーブルの [primary_table] フィールド。 |
| タイプ | 説明 |
|---|---|
| 文字列 | 外部サービスプロバイダーによって使用される一意のリソース識別子。 情報のフェッチ中に問題が発生した場合は例外をスローします。 |
次の例は、sys_id f282abf03710200044e0bfc8bcbe5d12 を使用してユーザーのリソース識別子を取得する方法を示しています。
var response = sn_auth.SCIM2ClientUtil.getProviderIdByResourceId('SNOW Provider','User','f282abf03710200044e0bfc8bcbe5d12');
gs.info('response: ' + response);
出力:
"005d500b536073005e0addeeff7b12f4"