SCIM2ClientUtil - スコープ指定

  • リリースバージョン: Washingtondc
  • 更新日 2024年02月01日
  • 読む6読むのに数分
  • SCIM2ClientUtil API は、外部プロバイダーシステムの一意の識別子を取得し、SCIM2Client API の呼び出しの際にその情報を使用するユーティリティ関数を提供します。

    この API は sn_auth 名前空間で実行されます。API にアクセスするには、SCIM v2 - ServiceNow Cross-domain Identity Management Client (com.snc.integration.scim2.client) プラグインがインストールされている必要があります。

    SCIM の詳細については、「 クロスドメイン ID 管理システム (SCIM)」を参照してください。

    SCIM2ClientUtil - getProviderIdByFilter(文字列 provider, 文字列 resourceName, 文字列 filter)

    目的のリソースを記述するフィルター式を使用して、ServiceNow インスタンス内の一意のリソース ID に対して、指定された外部プロバイダーシステムから指定されたリソースの一意の識別子を返します。

    この API は、外部プロバイダーシステムのリソース識別子が必要な SCIM フィールドに ServiceNow フィールドをマッピングする場合に便利です。このメソッドを呼び出す前に、SCIM プロバイダーリソースマッピング [sys_scim_provider_resource_mapping] テーブルにあるシステム属性マップ内のリソースに対して一意のフィールドを定義する必要があります。

    プロバイダーリソースマッピングの詳細については、「 SCIM プロバイダーリソースマッピングの作成」を参照してください。

    表 : 1. パラメーター
    名前 タイプ 説明
    provider 文字列 必須です。設定された SCIM サービスプロバイダーの名前。サービスプロバイダー名は、SCIM プロバイダー [sys_scim_provider] テーブルの名前フィールドで定義されます。
    resourceName 文字列 必須です。ユーザーやグループなどのリソースタイプの名前。この値は、SCIM プロバイダーリソースマッピング [sys_scim_provider_resource_mapping] テーブルの resource_name フィールドにあります。
    filter 文字列 必須です。返される結果に適用するフィルター式。

    使用可能なフィルターパラメーターとその関連形式の詳細については、インターネットエンジニアリングタスクフォースのドキュメント「System for Cross-domain Identity Management: Protocol」を参照してください。

    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);

    応答:

    // Example of a successful 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);

    応答:

    // Example of a successful response
    {
      "125d500b535973005e0addeeff8c12a2"
    }

    SCIM2ClientUtil - getProviderIdByResourceId(文字列 provider, 文字列 resourceName, 文字列 resourceId)

    ServiceNow インスタンス内の一意のリソース ID に対して、指定された外部プロバイダーシステムから指定されたリソースの一意の識別子を返します。

    この API は、外部プロバイダーシステムのリソース識別子が必要な SCIM フィールドに ServiceNow フィールドをマッピングする場合に便利です。このメソッドを呼び出す前に、SCIM プロバイダーリソースマッピング [sys_scim_provider_resource_mapping] テーブルにあるシステム属性マップ内のリソースに対して一意のフィールドを定義する必要があります。

    プロバイダーリソースマッピングの詳細については、「 SCIM プロバイダーリソースマッピングの作成」を参照してください。

    表 : 3. パラメーター
    名前 タイプ 説明
    provider 文字列 必須です。設定された 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);

    応答:

    // Example of a successful response
    {
      "005d500b536073005e0addeeff7b12f4"
    }