SCIM2ClientUtil - スコープ指定

  • リリースバージョン: Yokohama
  • 更新日 2025年01月30日
  • 所要時間:5分
  • 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」を参照してください。

    表 : 1. パラメーター
    名前 タイプ 説明
    プロバイダー 文字列 構成された 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

    表 : 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」を参照してください。

    表 : 3. パラメーター
    名前 タイプ 説明
    プロバイダー 文字列 構成された 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] フィールド。

    表 : 4. 戻り値
    タイプ 説明
    文字列 外部サービスプロバイダーによって使用される一意のリソース識別子。

    情報のフェッチ中に問題が発生した場合は例外をスローします。

    次の例は、sys_id f282abf03710200044e0bfc8bcbe5d12 を使用してユーザーのリソース識別子を取得する方法を示しています。

    var response = sn_auth.SCIM2ClientUtil.getProviderIdByResourceId('SNOW Provider','User','f282abf03710200044e0bfc8bcbe5d12'); 
    gs.info('response: ' + response);

    出力:

    
      "005d500b536073005e0addeeff7b12f4"