Microsoft 365 を利用する上ではぜひ利用しておきたい多要素認証の機能。
GUI からの設定もありますが PowerShell からでも設定することができます。
今回は PowerShell を使った設定を見ていきましょう。
MSOL に接続ができる状態にするため、必要であれば以下モジュールをインストールしておきましょう。
https://docs.microsoft.com/en-us/powershell/azure/install-az-ps?view=azps-4.5.0
まずは PowerShell を起動します。
Connect-MsolServiceコマンドでログインします。
ログインは管理権限がある人で行いましょう。
管理権限を持っている人の場合、最近は MFA が自動的に有効となっているので安全です。まだ MFA を有効化していない場合はぜひ有効にしておきましょう。
MFA は初期設定の状態により電話や SMS などで認証する形になっています。
次に MFA 設定情報を作ります。
この設定情報をユーザーにあてることで設定していく形となります。
$sar= New-Object Microsoft.Online.Administration.StrongAuthenticationRequirement
$sar.RelyingParty= '*'
$sar.State = "Enabled"
RelyingParty は信頼先になります。 * を設定するのが良いようです。(ほかの値は何が取れるかわかりませんでした。おまじないと思っておきましょう、、、)
State は多要素認証を利用するかどうか。ですね。
State は Enabled のほか、 Enforced (強制)、 Disabled (無効)から選べます。
1 名のユーザーに追加する場合は以下のコマンドレットを利用します。(最後の $sar の部分で先ほど作った MFA 設定情報を使う形ですね。)
Set-MsolUser -UserPrincipalName "UPN" -strongauthenticationrequirements @($sar)
複数ユーザーに適用したい場合は以下の形にして CSV ファイルなどから読み込みましょう。
$users=Import-Csv "c:\users.csv"
$users | foreach{Set-MsolUser –userprincipalname $_.userprincipalname -strongauthenticationrequirements @($sar)}
この書き方の場合 CSV ファイルはヘッダー付きのカンマ区切りで Unicode エンコードになっていれば OK です。ヘッダーは 1 行目から読まれるため、どこかに userprincipalname の列があればOKです。
うまく活用すると少しの人数に分けながら MFA を有効にしていくことができます。
いきなり MFA が有効になると戸惑うことも考えられるため、適用ウインドウを考えながら設定を進めていくのがお薦めです。
音楽:昴の集い