エッジ暗号化 でのマルチプロバイダー SSO のセットアップ

  • リリースバージョン: Washingtondc
  • 更新日 2024年02月01日
  • 読む7読むのに数分
  • マルチプロバイダー SSO をセットアップして、エッジ暗号化 プロキシサーバーの URL またはインスタンスの URL を経由するログインを有効にします。エッジ暗号化 を有効にした状態でマルチプロバイダーの Single Sign-on (SSO) を実装する場合、一部のユーザーは エッジ暗号化 プロキシサーバーを経由してインスタンスにログインする必要がありますが、他のユーザーはその必要はありません。

    始める前に

    • Integration - Multiple Provider Single Sign-On Installer プラグイン (com.snc.integration.sso.msoi.installer) を有効にします。
    • エッジ暗号化 プラグイン (com.glide.edgeencryption) を有効にし、1 つまたは複数のプロキシサーバーがネットワークにセットアップされていることを確認します。
    • ユーザーがマルチプロバイダー SSO を使用してログインする際に経由する エッジ暗号化 プロキシサーバーの URL を決定します。エッジ暗号化 プロキシサーバーの URL を決定するには、「Edge Encryption のインストール」を参照してください。
    必要なロール:admin

    このタスクについて

    ログインするユーザーは、Edge プロキシを使用するかどうかにかかわらず、適切な URL を使用してログインする必要があります。

    • すべてのユーザーを エッジ暗号化 プロキシサーバー経由でルーティングする場合は、ID プロバイダー レコードをセットアップし、[ServiceNow ホームページ][エンティティ ID/発行者][対象者 URI] の各フィールドでプロキシサーバー URL を定義します。
    • 一部のユーザーをプロキシサーバー経由でルーティングし、他のユーザーをインスタンスにルーティングするには、2 つの ID プロバイダー レコードを作成します。どちらのレコードについても [ID プロバイダー URL] フィールドで同じ値を使用します。ただし、レコードの一方はプロキシサーバー経由でルーティングし、もう一方はインスタンスにルーティングします。
      • インスタンス名を介したログイン:Edge 以外のプロキシ用 IdP レコードの https://<インスタンス名>.service-now.com/login_with_sso.do?glide_sso_id=<sys_id
      • Edge プロキシを介したログイン:Edge プロキシ用 IdP レコードのhttps://<edge ホスト名>:<ポート>/login_with_sso.do?glide_sso_id=<sys_id

    手順

    1. ID プロバイダー レコードで ID プロバイダー URL の重複を有効にします。
      一意性の制約により、2 つの異なる ID プロバイダー レコードでの ID プロバイダー URL の重複は防止されています。フィールドを False に設定することで、複数の ID プロバイダー レコードで ID プロバイダ URL の重複を有効にすることができます。
      1. 移動先 システム定義 > ディクショナリ.
      2. ID プロバイダー テーブル [saml2_update1_properties] にある [idp] フィールドの定義レコードを開きます。
      3. [一意] フィールドを追加するようにフォームを設定します。
      4. [一意] フィールドの値が False に設定されていることを確認します。
    2. 移動先 マルチプロバイダー SSO > ID プロバイダー.
    3. 同じ ID プロバイダーに対して 2 つの ID プロバイダー レコードを作成します。一方ではインスタンスの URL を使用し、もう一方では エッジ暗号化 プロキシサーバーの URL を使用します。
      ID プロバイダーレコードを作成するには、「外部 ID プロバイダーの作成」を参照してください。
      1. エッジ暗号化 プロキシサーバーの URL については、次の値をフォームに入力します。
        フィールド
        ID プロバイダー URL IdP メタデータからインポートします。

        ServiceNow のホームページ

        プロキシサーバーのホームページの URL。例:https://<プロキシのホスト名>:<ポート>/navpage.do
        エンティティ ID/発行者 https://<プロキシのホスト名>:<ポート>
        対象者 URI https://<プロキシのホスト名>:<ポート>
      2. [送信] をクリックします。
      3. インスタンスの URL については、次の値をフォームに入力します。
        フィールド
        ID プロバイダー URL IdP メタデータからインポートします。

        ServiceNow のホームページ

        https://<インスタンス>.service-now.com/navpage.do
        エンティティ ID/発行者 https://<インスタンス>.service-now.com/navpage.do
        対象者 URI https://<インスタンス>.service-now.com/navpage.do
      4. [送信] をクリックします。
    4. オプション: 複数の ID プロバイダーを使用する場合は、MultiSSO インストレーション イグジットを変更します。
      1. 移動先 システム定義 > インストレーションイグジット.
        インストレーション イグジットの現在のリストが表示されます。
      2. MultiSSO インストレーション イグジットを開きます。
      3. [スクリプト] フィールドで次のステートメントを探します。
        var samlResponseTxt = request.getParameter("SAMLResponse");
        if (!GlideSession.get().isLoggedIn() && GlideStringUtil.notNil(samlResponseTxt)) {
            var idpRecord = this.getIdPRecord(request);
            if (idpRecord) {
                SSO_Helper.debug("IdP found based on SAML response: " + idpRecord.getUniqueValue());
                return new SSO_Helper(idpRecord.getUniqueValue(), false, null, true);
            }
        }
      4. このステートメントを次のコードに置き換えます。
        var samlResponseTxt = request.getParameter("SAMLResponse");
        if (!GlideSession.get().isLoggedIn() && GlideStringUtil.notNil(samlResponseTxt)) {
           /* // You have two profiles that use the same IdP entity id it cannot use
           // the IdP issuer / entity id from the response otherwise it may result in the
           // wrong IdP profile. IdP initiated login will not work
           var idpRecord = this.getIdPRecord(request);
           if (idpRecord) {
              SSO_Helper.debug("IdP found based on SAML response: " + idpRecord.getUniqueValue());
              return new SSO_Helper(idpRecord.getUniqueValue(), false, null, true);
              }*/
           return new SSO_Helper(null, true);
           }
        注:
        この設定では IdP により開始されるログインは機能しません。
      5. [更新] をクリックします。
    5. オプション: 複数の会社を使用している場合は、ユーザーをマルチプロバイダー SSO 用に構成し、ユーザーに応じて ID プロバイダーレコードの sys_id を更新します。

      詳細については、「マルチプロバイダー SSO のユーザーの構成」を参照してください。

      • ユーザーが エッジ暗号化 プロキシサーバー経由でログインするように設定するには、エッジ暗号化 プロキシサーバー URL を使用している ID プロバイダー レコードの sys_id を使用します。
      • ユーザーがインスタンスにログインするように設定するには、インスタンス URL を使用している ID プロバイダー レコードの sys_id を使用します。
      表 : 1. ログイン URL
      URL ログイン先
      https://<プロキシのホスト名>:<ポート>/login_with_sso.do?glide_sso_id=<プロキシサーバー URL の IdP レコードの sys_id> プロキシサーバー経由でログインします。
      https://<インスタンス名>.service-now.com/login_with_sso.do?glide_sso_id=<インスタンス URL の IdP レコードの sys_id> インスタンス経由でログインします。