SMS を使用した時間制限付き認証 - Twilio チュートリアル

  • リリースバージョン: Washingtondc
  • 更新日 2024年02月01日
  • 読む7読むのに数分
  • Twilio を使用して、SMS などの MFA 要素で時間制限付き認証を設定します。

    始める前に

    必要なロール:admin

    次のプラグインが必要です。
    • com.snc.authenticate.time_limited_authentication (時間制限付き認証)
    • com.snc.authentication.sms_mfa (SMS を使用したマルチファクター認証)
    注:
    時間制限付き認証 (TLA) は、ServiceNow インスタンスに固有であり、ユーザー向けのカスタマイズされたリンクは ServiceNow 内でのみ作成できます。

    提供されているチュートリアルの指示により、管理者は、第 2 要素 (MFA) として SMS を使用したリンクベースのログインを、特定のロールを持つユーザーに提供できます。

    構成が正常に完了すると、リンクが生成され、通知 (メール/SMS) チャネルを介してリンクがユーザーと共有されます。リンクをクリックすると、ユーザーロール (構成) に基づいてメールまたは SMS 要素に送信される OTP を指定するように求められます。

    注:
    • TLA には常に MFA が続き、管理者は TLA ログインのために適応認証を使用して MFA を有効にする必要があります。適応認証を使用して MFA を構成する方法の詳細については、「MFA (マルチファクター認証) コンテキスト」を参照してください。
    • TLA は、権限が制限されているユーザー用に使用する必要があります。

    手順

    1. Twilio 構成の作成
      1. Twilio テストアカウントを作成します。詳細については、次を参照してください: Twilio.
      2. 移動先 すべて > 通知 > 管理 > Twilio ダイレクト構成.
      3. アカウント SID認証トークン (Twilioから作成) を入力し、レコードを保存します。
      注:
      独自のプロバイダー構成を作成し、それを TLA に使用できます。この例では、Twilio です。MFA プロバイダー構成の作成方法の詳細については、「MFA プロバイダーの構成」を参照してください。
    2. 時間制限付き認証 (TLA) レコードを構成して有効にします。
      1. 移動先 すべて > 時間制限付き認証構成レコード をクリックし、「 新規」をクリックします。
      2. フォームの各フィールドに入力します。
        表 : 1. 時間制限付き認証プロパティ
        フィールド 説明
        名前 レコードの名前。
        1 回のみ使用 TLA リンクを 1 回使用できるようにします。
        有効期限 リンクの有効期限を秒単位で指定します。デフォルトは 45 分です。
        リダイレクトに失敗しました 認証に失敗した後にユーザーをリダイレクトする URL を入力します。
        Single Sign-on スクリプト 使用する SSO スクリプトの詳細。
        有効 構成を有効にするオプション。
        最大ログイン試行回数 生成された TLA リンクで許可されるログイン試行回数を指定します。[1 回のみ使用] チェックボックスをオフにして、最大試行回数を指定します。
        外部のログアウトのリダイレクト ログアウト後にユーザーをリダイレクトする URL を入力します。
      3. [送信] をクリックします。
        TLA レコード
      4. 移動先 すべて > マルチプロバイダー SSO > 管理 > プロパティ をクリックし、[ Enable multiple provider SSO ] プロパティを有効にして [Save] を選択します
    3. 認証後のコンテキストポリシーを使用して、特定のユーザーペルソナにのみ TLA を許可します。
      1. [ロール] に移動し、ロールを作成します。例:remote_worker。
      2. 有効なメール ID と携帯電話番号を持つユーザーを作成します。ユーザーの作成方法については、「ユーザーの作成」を参照してください。
      3. ユーザーにユーザーロールをアサインします。ユーザーにロールを割り当てる方法については、「 ユーザーへのロールの割り当て」を参照してください。
      4. ロールフィルター基準を作成するには、次の場所に移動します すべて > 適応認証 > ロールフィルター基準、新しいフィルターを作成します リモートワーカー ロールと条件 ロールはremote_workerです。
        ロールフィルター基準
      5. IdP およびロールフィルター基準に基づく拒否ポリシーコンテキストに基づいてポリシー条件を追加するには、次に移動します。 すべて > 適応認証 > 認証後のコンテキスト.
      6. 情報アイコンをクリックして、レコードを開きます
        拒否ポリシー
      7. [ポリシーの入力] で [編集] をクリックし、ロール (remoteworkerrole) を追加して、保存します。
        メンバーの編集
      8. [ポリシー条件] で、ポリシー入力の条件を追加し、レコードを送信します。
    4. ステップアップ認証ポリシー - MFA コンテキストを構成します。
      1. 移動先 すべて > マルチファクター基準.
      2. [ロールベースのマルチファクター認証 (Role-based multi-factor authentication)] を選択し、[マルチファクターロール] セクションでロールを追加し、更新します。この例では remote_worker です。
        MFA - ロール基準
      3. 移動先 すべて > 適応認証 > MFA コンテキスト.
      4. 次のことを確認してください。
        • [デフォルトポリシー] フィールドが [ステップアップ MFA ポリシー] になっている
        • ステップアップ MFA ポリシーがステップアップ MFA ポリシーになっている
      5. 情報アイコンをクリックして、レコードを開きます
        ステップアップ MFA ポリシー
      6. [ステップアップ MFA ポリシー] フォームの [ポリシーの入力] で、[編集] をクリックします。
      7. ロールベースのマルチファクター認証をリストに追加し、保存します。この例では remoteworkerroleです。
      8. [ポリシー条件] で、[ロールベースまたはユーザーベースの MFA 設定が true の場合は MFA を強制する (Enforce MFA if Role based or User based MFA settings are true)] をクリックします。
      9. [ロールベースまたはユーザーベースの MFA 設定が true の場合は MFA を強制する (Enforce MFA if Role based or User based MFA settings are true)] ページで、 [ロールベースの MFA]true になっていることを確認します。
    5. MFA 要素ポリシーとして SMS を使用するように MFA を強制します。
      1. 移動先 すべて > 適応認証 > MFA コンテキスト.
      2. [MFA コンテキスト] ページで、[MFA 要素ポリシー] をクリックし、[SMS OTP を MFA 要素ポリシーとして表示 (Display SMS OTP as an MFA Factor Policy)] をクリックします。
      3. [ポリシーの入力][編集] をクリックし、remoteworkerrole を追加します。
      4. [ポリシー条件] をクリックし、ポリシー条件を作成します。
        SMS - 条件
      5. [送信] をクリックします。

        TLA リンクが生成され、remoteworkerole がロールとしてアサインされたユーザーと共有されます。このリンクは、インスタンスにログインするための第 2 要素として SMS コードを使用するように昇格されます。

    6. 他の必要なプロパティを有効にします。
      1. 移動先 すべて > マルチファクター認証 > プロパティ.
      2. 次のチェックボックスをオンにします。
        • マルチファクター認証を有効にする
        • SSO を使用したマルチファクター認証を有効にする
      3. レコードを保存します。
      4. 移動先 すべて > 適応認証 > 認証ポリシー > プロパティ.
      5. [認証ポリシーの有効化 (Enable Authentication Policy)] チェックボックスをオンにします。
      6. レコードを保存します。
    7. TLA リンクの生成 – 例
      1. 移動先 すべて > システム定義 > スクリプト – バックグラウンド.
      2. ユーザーの sysid と構成 ID を指定して、次の API を使用します。
        var tla=new global.TimeLimitedAuthentication(); gs.info(tla.generateNonce("user_sysid", "config1_sys_id","IAR2"));
        注:
        ソース (IAR2) は必須パラメーターではありません。
      3. クエリーパラメーターは次のように返されます。
        nonce=VCeinfboDt0M&glide_sso_id=b3277f1b44351110f8779b5a2d9909f3&user=3b0277d344351110f8779b5a2d99099a&source=IAR2
      4. 次の形式で URL を作成します。
        https://<instance-url> /login_with_sso.do?uri=<encoded url>& nonce=2olIQSxdgkjs&glide_sso_id=0c15bf09c3711110c5ec4e483c40dd7a&user=62826bf03710200044e0bfc8bcbe5df1&source=IAR 
    8. URL をクリックすると、次のようなログイン用の MFA 画面が表示されます。