Azure 多要素認証プロバイダーへの電話番号登録

皆さんこんにちは。国井です。

今日は、1年ほど前に紹介させていただいた、Azure Multi-Factor Authenticationを利用したADFSの多要素認証についてです。

Microsoft Azureで多要素認証のライセンスを購入した場合(またはAzure AD Premiumのライセンスを購入した場合)、Azureで用意した多要素認証機能(電話、SMS、モバイルアプリなど)を利用して、ADFSでの多要素認証ができるようになります。そして、オンプレミスではMulti-Factor Authentication Serverというツールをインストールすることで、Active Directoryに登録されているユーザー情報をインポートし、多要素認証を行うユーザーの登録が簡単に行えるようになります。

Multi-Factor Authentication Serverというツールの具体的な使い方は、過去の投稿でも掲載しているので、そちらをご覧いただくこととして、ここでは効果的な利用方法について考えてみたいと思います。

■ ■ ■

Multi-Factor Authentication Serverは起動すると、[ユーザー]項目から多要素認証を利用するユーザーを登録することができ、ユーザーの登録にはActive Directoryに作成されたユーザーをインポートして登録することができます。

image

[Active Directoryからインポート]ボタンをクリックして登録すれば、登録の手間はかなり省けるのですが、ひとつだけ注意しなければならないことがあります。それは、多要素認証に電話を利用する場合、電話番号をどうやってActive Directoryからインポートするか?ということです。過去の投稿でも書きましたが、電話で行う多要素認証は電話番号の先頭のゼロを取り除いた番号である必要があり、また、国コードもデフォルトの米国から日本に切り替える必要があります。

image

以上の設定を手動で行うのは、とても面倒なので、インポートする前のタイミングで変更
(つまりActive Directoryに登録されているユーザーのプロパティから変更)するのがベストではないかと考えています。

それを踏まえて、Active Directoryユーザーのプロパティには、電話番号を次のように入れておくことをお勧めします。

image

このように設定しておけば、Multi-Factor Authentication Serverにインポートされるときは、国コード +81、電話番号 80XXXXXXXXと登録されるようになります。問題は、Active Directoryでどうやって、既存の携帯電話番号080~を+8180~に変更するかです。
ここはPowerShellに頑張っていただきましょう。
前回の投稿で登場したスクリプトをベースに、こんな感じにしてみました。

Get-ADUser –Filter {UserPrincipalName –like “080*”} `
–Property mobile –SearchBase “DC=example,DC=com” | `
ForEach-Object
{
$mobile = $_.mobile.Replace(“080”, “+8180”)
Set-ADUser $_ -MobilePhone $mobile
}

example.comは現在お使いのActive Directoryドメイン名、080は携帯電話の先頭の番号です。090で始まる携帯電話番号の場合は080→090、+8180→+8190のように書き換えて使ってください。