SMS を使用した時間制限付き認証 - Twilio チュートリアル
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 は、権限が制限されているユーザー用に使用する必要があります。
手順
-
Twilio 構成の作成
- Twilio テストアカウントを作成します。詳細については、次を参照してください。 Twilio.
- 移動先 すべて > 通知 > 管理 > Twilio ダイレクト構成.
- アカウント SID と認証トークン (Twilioから作成) を入力し、レコードを保存します。
注:独自のプロバイダー構成を作成し、それを TLA に使用できます。この例では、Twilio です。MFA プロバイダー構成の作成方法の詳細については、「MFA プロバイダーの構成」を参照してください。 -
時間制限付き認証 (TLA) レコードを構成して有効にします。
- 移動先 すべて > 時間制限付き認証構成レコード をクリックし、[ New] をクリックします。
-
フォームの各フィールドに入力します。
表 : 1. 時間制限付き認証プロパティ フィールド 説明 名前 レコードの名前。 1 回のみ使用 TLA リンクを 1 回使用できるようにします。 有効期限 リンクの有効期限を秒単位で指定します。デフォルトは 45 分です。 リダイレクトに失敗しました 認証に失敗した後にユーザーをリダイレクトする URL を入力します。 シングルサインオンスクリプト 使用する SSO スクリプトの詳細。 有効 構成を有効にするオプション。 最大ログイン試行回数 生成された TLA リンクで許可されるログイン試行回数を指定します。[1 回のみ使用] チェックボックスをオフにして、最大試行回数を指定します。 外部のログアウトのリダイレクト ログアウト後にユーザーをリダイレクトする URL を入力します。 -
[送信] をクリックします。
- 移動先 すべて > 複数プロバイダー SSO > 管理 > Properties (プロパティ) をクリックし、[ Enable multiple provider SSO ] プロパティを有効にし て [Save] を選択します。
-
認証後のコンテキストポリシーを使用して、特定のユーザーペルソナにのみ TLA を許可します。
- [ロール] に移動し、ロールを作成します。例:remote_worker。
- 有効なメール ID と携帯電話番号を持つユーザーを作成します。ユーザーの作成方法については、「ユーザーの作成」を参照してください。
- ユーザーにユーザーロールをアサインします。ユーザーにロールを割り当てる方法については、「 ユーザーへのロールの割り当て」を参照してください。
-
ロールフィルター基準を作成するには、次の場所に移動します: すべて > 適応認証 > ロールフィルター基準で、新しいフィルター remoteworkerrole と条件 [ロール] remote_workerを作成します。
- IdP およびロールフィルター基準に基づく拒否ポリシーコンテキストに基づいてポリシー条件を追加するには、 すべて > 適応認証 > 認証後のコンテキスト.
-
情報アイコンをクリックして、レコードを開きます。
-
[ポリシーの入力] で [編集] をクリックし、ロール (remoteworkerrole) を追加して、保存します。
- [ポリシー条件] で、ポリシー入力の条件を追加し、レコードを送信します。
-
ステップアップ認証ポリシー - MFA コンテキストを構成します。
- 移動先 すべて > マルチファクター基準.
-
[ロールベースのマルチファクター認証 (Role-based multi-factor authentication)] を選択し、[マルチファクターロール] セクションでロールを追加し、更新します。この例では remote_worker です。
- 移動先 すべて > 適応認証 > MFA コンテキスト.
-
次のことを確認してください。
- [デフォルトポリシー] フィールドが [ステップアップ MFA ポリシー] になっている
- ステップアップ MFA ポリシーがステップアップ MFA ポリシーになっている
-
情報アイコンをクリックして、レコードを開きます。
- [ステップアップ MFA ポリシー] フォームの [ポリシーの入力] で、[編集] をクリックします。
- ロールベースのマルチファクター認証をリストに追加し、保存します。この例では remoteworkerroleです。
- [ポリシー条件] で、[ロールベースまたはユーザーベースの MFA 設定が true の場合は MFA を強制する (Enforce MFA if Role based or User based MFA settings are true)] をクリックします。
- [ロールベースまたはユーザーベースの MFA 設定が true の場合は MFA を強制する (Enforce MFA if Role based or User based MFA settings are true)] ページで、 [ロールベースの MFA] が true になっていることを確認します。
-
MFA 要素ポリシーとして SMS を使用するように MFA を強制します。
- 移動先 すべて > 適応認証 > MFA コンテキスト.
- [MFA コンテキスト] ページで、[MFA 要素ポリシー] をクリックし、[SMS OTP を MFA 要素ポリシーとして表示 (Display SMS OTP as an MFA Factor Policy)] をクリックします。
- [ポリシーの入力] で [編集] をクリックし、remoteworkerrole を追加します。
-
[ポリシー条件] をクリックし、ポリシー条件を作成します。
-
[送信] をクリックします。
TLA リンクが生成され、remoteworkerole がロールとしてアサインされたユーザーと共有されます。このリンクは、インスタンスにログインするための第 2 要素として SMS コードを使用するように昇格されます。
-
他の必要なプロパティを有効にします。
- 移動先 すべて > マルチファクター認証 > Properties (プロパティ).
-
次のチェックボックスをオンにします。
- マルチファクター認証を有効にする
- [SSO を使用したマルチファクター認証を有効にする]
- レコードを保存します。
- 移動先 すべて > 適応認証 > 認証ポリシー > Properties (プロパティ).
- [認証ポリシーの有効化 (Enable Authentication Policy)] チェックボックスをオンにします。
- レコードを保存します。
-
TLA リンクの生成 – 例
- 移動先 すべて > システム定義 > スクリプト – バックグラウンド.
-
ユーザーの sysid と構成 ID を指定して、次の API を使用します。
var tla=new global.TimeLimitedAuthentication(); gs.info(tla.generateNonce("user_sysid", "config1_sys_id","IAR2"));注:ソース (IAR2) は必須パラメーターではありません。 -
クエリーパラメーターは次のように返されます。
nonce=VCeinfboDt0M&glide_sso_id=b3277f1b44351110f8779b5a2d9909f3&user=3b0277d344351110f8779b5a2d99099a&source=IAR2 -
次の形式で URL を作成します。
https://<instance-url> /login_with_sso.do?uri=<encoded url>& nonce=2olIQSxdgkjs&glide_sso_id=0c15bf09c3711110c5ec4e483c40dd7a&user=62826bf03710200044e0bfc8bcbe5df1&source=IAR
- URL をクリックすると、次のようなログイン用の MFA 画面が表示されます。