6
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

ServiceNowAdvent Calendar 2024

Day 24

多要素認証(MFA)の有効化~テストをしてみた★

Last updated at Posted at 2024-12-23

はじめに

Hello Qiita! 初めまして。ぽやんい(@poyan_i)です。
ServiceNowアドベントカレンダー2ページ目の24日へ滑り込み投稿です。
ServiceNow Advent Calendar 2024
ServiceNowデザイン靴下を返却したくない一心でネタ探してました。笑

この記事では、ServiceNow社のインスタンスがyokohama、またはそれ以降のリリースに
アップグレードするタイミングでMulti-Factor Authentication(以下MFA)のポリシーが強制的に有効化されます。
急に有効化されてあたふたしないために事前に見ておこう(設定してしまおう)という趣旨です。

背景

来るYokohanaリリースで[adaptive authentication – MFA context] ポリシーが
まだ無効化の場合は自動的にオンになりますよ。というお知らせがNow supportからありました。
アップグレード後に急にMFAが有効になるのかどうか、定かではありませんが、
ポリシーが有効になるってことはServiceNowでもMFAを有効化する準備をせねばならんのでは!???!!!??という経緯です。

★詳しくはNow supportのKBをご確認ください(※Now supportのアカウントが必要です)
Multi-Factor Authentication (MFA) Enforcement FAQ

★セットアップの手順(ドキュメント)
マルチファクター認証 (MFA)

どこが有効化される?

[すべて] > [マルチファクター認証] > [MFA コンテキスト] が有効化されます。
MFA (マルチファクター認証) コンテキスト
image.png

※ただここが有効化されたとて今すぐMFAが有効化されるわけではありません。
大前提としてプロパティのglide.authenticate.multifactorがTrueになっている必要があります。

image.png
image.png

早速MFAを有効化するゾ

プロパティの有効化

  • 先ほど言ったMFAのプロパティを有効化します。ぽちっとな。
    image.png

  • システムプロパティのリストから変更する場合は
    [すべて] > sys_properties.listからプロパティリストを表示して「glide.authenticate.multifactor」の値を[True]にします。
    image.png

これでまずMFAが有効化されました!

MFAコンテキストのポリシーを確認

次にYokohamaリリース以降、有効化されるMFAコンテキストを見てみます。
[すべて] > [マルチファクター認証] > [MFA コンテキスト]

有効化する場所

表示された関連リンクに有効化のリンクがあります。ぽちっ。
これは有効化したあと、非アクティブ化にすることも可能です。(Yokohamaリリース後はどうなるんでしょうかね?)
ここでは、ユーザーに対してMFAの有効にする条件を定義する場所です。
image.png
image.png

デフォルトポリシーの種類

デフォルトポリシーは2種類あります。
image.png
それぞれ以下のようになっています。

デフォルトポリシー 内容
ステップアップ MFA ポリシー ポリシーに合うユーザーにMFAが有効化されます。条件に合わないユーザーのMFAは無効になります。
ステップダウン MFA ポリシー 基本全ユーザーがMFAを有効になります。このポリシーに合うユーザーのみがMFAを無効になります。

簡単に言うと、MFAを有効化するユーザーに条件をつけるか、MFAを無効化するユーザーに条件をつけるか、ということですね。

ポリシーに関して

ポリシーには3タブあります。

  • ポリシー入力・・・どんなポリシーでユーザーをまとめるか定義します
  • ポリシー条件・・・ポリシー入力に対しての条件を設定
  • MFA要素ポリシー・・・MFAの要素の種類(EMail or SMS等)を設定します

ポリシー入力

ポリシー入力にはデフォルトでロールベースMFAとユーザーベースMFAがあります。
image.png
それぞれ以下にようになっています。

MFAポリシー 内容
Role Based MFA ロールベースでポリシーを決定できます。このロールはマルチファクター基準から設定できます。(デフォルト設定の有効化も忘れずに!)
User Based MFA ユーザーベースでポリシーを決定できます。sys_userテーブルの各ユーザーのフィールドにある[マルチファクター認証 (MFA) を有効化]がTrue/Falseで設定できます。

もっと大きくベースを設定する方法としてグループベースとかもできそうですね。
その場合はここで定義を作成します。

ポリシー条件

デフォルトポリシーがステップアップポリシー状態で設定されてあるポリシー条件を見てみます。
image.png

デフォルトの条件を見るとユーザーベースMFAがTrueまたはロールベースMFAがTrueであるユーザーに対してMFAを有効化するということですね!

MFA要素ポリシー

MFAポリシーはユーザーのMFAに対してEMailとSMSで認証できるように表示をさせる設定をします。
SMSの認証に関しては別プラグイン(com.snc.authentication.sms_mfa)をインストールしてからこのSMSポリシーの設定します。
image.png
※参考:SMS を MFA 要素として設定

ロールベースの基準を有効化

ロールベースのMFAの基準を有効化します。
[すべて] > [マルチファクター認証] > [マルチファクター基準]
Role based multi-factor authenticationのレコードがありますので、フォームを開きActiveにチェックします。
デフォルトで以下のロールが登録されています。このロールを持っているユーザーはMFAが有効になります。

  • user_admin
  • security_admin
  • admin
    image.png

Testユーザーを作成してログインテスト

ある程度設定を有効化したので、さっそく条件に合うユーザーを作成してテストログインしてみましょ~。
今回はデフォルトでステップアップポリシーを有効にしましたので、
ユーザーベースのMFAがTrueのユーザーとロールベースのMFAがTrueのやつらを作成しましょう。
image.png

作成したユーザーでログインを試したところMFAを求められました!
image.png

その他の設定

割と簡単にMFAは有効化できました。
プロパティリストやプロパティの設定から初期設定をバイパス(省略できる)回数やメールでの制限時間など設定を細かく指定することができます。
image.png

まとめ

FAQやドキュメントを見ながらなんとかPDIでMFAを設定することができました。
このように簡単に設定してテストができるのでみなさまも是非試してみてください。
認証まわり難しくて敬遠しがちですがこれを機に少しずつ理解が深まったような気がします。

靴下もGET★
IMG_2253.jpg

参考

マルチファクター認証 (MFA)
マルチファクター認証の詳細
MFA プラグインのアクティブ化
マルチファクター認証システムプロパティ
Multi-Factor Authentication (MFA) Enforcement FAQ

6
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
6
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?