diff --git a/articles/azure-active-directory/mfa-reset-2022.md b/articles/azure-active-directory/mfa-reset-2022.md index d9d3322d07d..e4c278a9831 100644 --- a/articles/azure-active-directory/mfa-reset-2022.md +++ b/articles/azure-active-directory/mfa-reset-2022.md @@ -1,21 +1,21 @@ --- -title: 多要素認証 (MFA) のリセット手順 2022 年版 -date: 2022-5-9 +title: 多要素認証 (MFA) のリセット手順 - 2022 年版 +date: 2022-05-09 9:00 tags: - Azure AD - MFA --- > [!NOTE] -> 本記事は 2018 年に公開した [多要素認証 (MFA) のリセット手順](https://jpazureid.github.io/blog/azure-active-directory/mfa-reset/) の内容を更新したものです。 +> 本記事は 2018 年に公開した [多要素認証 (MFA) のリセット手順](../azure-active-directory/mfa-reset.md) の内容を更新したものです。現在では 2022 年版から GUI やコマンドなどが変更されているため、最新の記事は [多要素認証 (MFA) のリセット手順 - 2025 年版](../azure-active-directory/mfa-reset-2025.md) をご覧ください。 -# 多要素認証 (MFA) のリセット手順 +# 多要素認証 (MFA) のリセット手順 - 2022 年版 こんにちは、Azure & Identity サポート チームの栗井です。 -今回は、Azure AD におけるユーザーの多要素認証 (MFA:Multi-Factor Authentication) のリセット手順についてご紹介します。 +今回は、Azure AD におけるユーザーの多要素認証 (MFA: Multi-Factor Authentication) のリセット手順についてご紹介します。 -Azure AD では、ログイン時の追加認証方式として電話・アプリ (Microsoft Authenticator) などを使った多要素認証 (MFA) を利用することができ、パスワードのセルフサービス リセット時にも同認証方式を利用させることが可能です。MFA の設定を有効にしている場合、Azure AD にログインをするためには認証方法に指定したスマートフォンなどを利用できる必要がありますが、スマートフォンを紛失してしまった場合や電話番号が無効になった場合などには、MFA で設定していた認証を利用できない状況となり、ユーザー認証を完了することができずサービスを利用することができなくなる場合がございます。 +Azure AD では、ログイン時の追加認証方式として電話やアプリ (Microsoft Authenticator) などを使った多要素認証 (MFA) を利用することができ、パスワードのセルフサービス リセット時にも同認証方式を利用させることが可能です。MFA の設定を有効にしている場合、Azure AD にログインをするためには認証方法に指定したスマートフォンなどを利用できる必要がありますが、スマートフォンを紛失してしまった場合や電話番号が無効になった場合などには、MFA で設定していた認証を利用できない状況となり、ユーザー認証を完了することができずサービスを利用することができなくなる場合がございます。 このような場合は、Azure AD の管理者による対象ユーザーの MFA 設定のリセットを実施します。 なお、一般ユーザー権限では他ユーザーの MFA 認証設定のリセットは行うことができません。一般ユーザーは 、ログインができる状態であればユーザー自身で登録されている MFA の設定を変更することはできますが、MFA の追加の認証を受け取れるスマートフォンを紛失したなどの場合に、自ら MFA 設定のリセットを行うことはできません。 @@ -25,9 +25,8 @@ MFA のリセットは、Azure Portal、または PowerShell より行うこと PowerShell からの操作では、CSV 形式で用意した全ユーザーに対してリセットを行うことができるため、多くのユーザーに対し一括でリセットを行いたい場合に有効です。しかし残念ながら、**PowerShell からの操作がサポートされるのは 2022 年 12 月まで**となります (詳細は後述の通りです)。 ## Azure Portal での手順 -1. 該当ユーザーの認証方法設定画面へアクセスします。 - 認証管理者、特権認証管理者、グローバル管理者、のいずれかで Azure Portal (https://portal.azure.com) へログインします。 - (リセット対象のアカウントが管理者権限を持つアカウントの場合は特権認証管理者またはグローバル管理者にてログインが必要です) +1. 該当ユーザーの認証方法設定画面へアクセスします。認証管理者、特権認証管理者、グローバル管理者、のいずれかで Azure Portal (https://portal.azure.com) へログインします (リセット対象のアカウントが管理者権限を持つアカウントの場合は特権認証管理者またはグローバル管理者にてログインが必要です)。 + 2. [すべてのサービス] > [Azure Active Directory] > [ユーザー] に移動します。 3. ユーザー一覧から、該当ユーザーの行を選択して開きます。 @@ -39,72 +38,69 @@ PowerShell からの操作では、CSV 形式で用意した全ユーザーに 5. [MFA の再登録が必要] を押下します。 ![](./mfa-reset-2022/auth-method-reset.png) - -この後、上記操作が行われたユーザーに対して MFA が要求されるタイミングで、MFA のセットアップ画面 (下記) が表示されます。 -もしくはユーザーが MFA のセットアップ画面 (https://aka.ms/mfasetup) にアクセスすることでも同画面が表示されます。 +この後、上記操作が行われたユーザーに対して MFA が要求されるタイミングで、MFA のセットアップ画面 (下記) が表示されます。もしくはユーザーが MFA のセットアップ画面 (https://aka.ms/mfasetup) にアクセスすることでも同画面が表示されます。 ![](./mfa-reset-2022/mfa-required.png) - ## PowerShell での手順 > [!NOTE] -> 下記の方法がサポートされるのは 2022 年 12 月までです。PowrShell からの操作では Azure AD Module (MSOnline) の PowerShell モジュールを利用します。この MSOnline が内部的に利用している [Azure AD Graph のサポートが 2022 年 12 月頃を目安に廃止](https://techcommunity.microsoft.com/t5/azure-active-directory-identity/update-your-applications-to-use-microsoft-authentication-library/ba-p/1257363)されるためです。 -> -> 現状、他の PowerShell モジュールを利用した MFA のリセット方法はご用意がございません。アップデートがあり次第、本記事を更新いたします。 +> 下記の方法がサポートされるのは 2022 年 12 月までです。PowrShell からの操作では Azure AD Module (MSOnline) の PowerShell モジュールを利用します。この MSOnline が内部的に利用している [Azure AD Graph のサポートが 2022 年 12 月頃を目安に廃止](https://techcommunity.microsoft.com/t5/azure-active-directory-identity/update-your-applications-to-use-microsoft-authentication-library/ba-p/1257363) されるためです。 Azure AD Module (MSOnline) の PowerShell モジュールを利用することで、コマンドによるユーザーの MFA リセットが可能です。MS Online の詳細については下記をご覧ください。 - [Azure Active Directory (MSOnline) | Microsoft Docs](https://docs.microsoft.com/en-us/powershell/azure/active-directory/overview?view=azureadps-1.0) - ### MSOnline のインストール + 後述の手順を実行する前に、下記コマンドによる MSOnline モジュールのインストールが必要となります。 -``` + +```powershell Install-Module MSOnline ``` ### ユーザーの MFA をリセット + 以下コマンドを実行し、ユーザーの MFA 設定をリセットできます。 -``` -Connect-MsolService#Azure AD へログイン +```powershell +Connect-MsolService # Azure AD へログイン Set-MsolUser -UserPrincipalName "<リセットしたいユーザーのUPN>" -StrongAuthenticationMethods @() ``` ### ユーザーの MFA をリセット (一括操作) + 以下のように CSV からユーザーを読み込んで、一括でリセットを行うことも可能です。 -``` -Connect-MsolService#Azure AD へログイン +```powershell +Connect-MsolService # Azure AD へログイン $users = Import-Csv "CSV のファイルパス" foreach ($user in $users) { Set-MsolUser -UserPrincipalName $user.UserPrincipalName -StrongAuthenticationMethods @() } ``` -図: 用意する CSV の例 - -![](./mfa-reset-2022/csv.png) - +![用意する CSV の例](./mfa-reset-2022/csv.png) ### MFA リセット済みのユーザーを確認 + 以下のコマンドで、該当のユーザーのMFA の設定がされていない(= リセット済み)であるかどうかを確認することができます。 -``` +```powershell Get-MsolUser -UserPrincipalName "<ユーザーのUPN>" | Select UserPrincipalName, DisplayName, StrongAuthenticationMethods | fl* ``` すべてのユーザーの情報を一括で取る場合、下記コマンドをご利用ください。 -``` + +```powershell Get-MsolUser -all | Select UserPrincipalName, DisplayName, StrongAuthenticationMethods ``` リセットが成功している場合、StrongAuthenticationMethods 属性が {} と表示されます。 -``` -PS C:\Users\mikurii> Get-MsolUser -UserPrincipalName "user@test.onmicrosoft.com" | Select UserPrincipalName, DisplayName, StrongAuthenticationMethods | fl * +```powershell +Get-MsolUser -UserPrincipalName "user@test.onmicrosoft.com" | Select UserPrincipalName, DisplayName, StrongAuthenticationMethods | fl * UserPrincipalName : user@test.onmicrosoft.com DisplayName : 舞黒 太郎 @@ -112,14 +108,13 @@ StrongAuthenticationMethods : {} ``` 何らかの MFA の方法が登録されている (= リセットされていない) 場合は、StrongAuthenticationMethods 属性に "Microsoft.Online.Administration.StrongAuthenticationMethod" といった値が入ります。 -``` -PS C:\Users\mikurii> Get-MsolUser -UserPrincipalName "user@test.onmicrosoft.com" | Select UserPrincipalName, DisplayName, StrongAuthenticationMethods | fl * +```powershell +Get-MsolUser -UserPrincipalName "user@test.onmicrosoft.com" | Select UserPrincipalName, DisplayName, StrongAuthenticationMethods | fl * UserPrincipalName : user@test.onmicrosoft.com DisplayName : 舞黒 太郎 StrongAuthenticationMethods : {Microsoft.Online.Administration.StrongAuthenticationMethod, Microsoft.Online.Administration.StrongAuthenticationMethod} ``` - ご不明な点がございましたら弊社サポートまでお気軽にお問い合わせください。上記内容が少しでも皆様の参考となりますと幸いです。 diff --git a/articles/azure-active-directory/mfa-reset-2025.md b/articles/azure-active-directory/mfa-reset-2025.md new file mode 100644 index 00000000000..72c394386b6 --- /dev/null +++ b/articles/azure-active-directory/mfa-reset-2025.md @@ -0,0 +1,162 @@ +--- +title: 多要素認証 (MFA) のリセット手順 - 2025 年版 +date: 2025-01-05 09:00 +tags: + - Microsoft Entra ID + - MFA +--- + +> [!NOTE] +> 本記事は 2022 年に公開した [多要素認証 (MFA) のリセット手順 - 2022 年版](../azure-active-directory/mfa-reset-2022.md) の内容を更新したものです。 + +# 多要素認証 (MFA) のリセット手順 - 2025 年版 + +こんにちは、Azure & Identity サポート チームの長谷川です。 + +弊社ブログでは過去に複数回にわたり、ユーザーに登録された MFA の認証方法を管理者によりリセットする手順を紹介していました。ここでのリセットとは、ユーザーに登録された MFA 用の認証方法を削除し、次回のユーザーのサインイン時に MFA が要求されると、ユーザーに MFA 用の認証方法の登録が要求されるというものです。しかしながら、現在では 2022 年版から GUI やコマンドなどが変更になったため、2025 年版として本記事を紹介します。本記事はテナントの管理者向けの記事となっております点を、あらかじめご承知おきください。 + +なお、一般ユーザーの権限では他ユーザーの MFA 用の認証方法をリセットすることはできません。一般ユーザーは、Entra ID にログインができる状態であればユーザー自身で自らの MFA の認証方法を変更可能です。しかし、MFA (追加の認証) を受け取れるスマートフォンを紛失したなどの場合に、ユーザーが自ら MFA 設定のリセットを行うことはできません。 + +## Microsoft Entra 管理センターで MFA 用の認証方法をリセットする手順 + +Azure ポータルでもほぼ同様の手順でユーザーに登録された MFA 用の認証方法をリセット可能です。この手順では、1 ユーザーごとに画面から MFA 用の認証方法をリセットします。 + +1. 認証管理者、特権認証管理者、グローバル管理者のいずれかのロールを持つユーザーで Microsoft Entra 管理センター (https://entra.microsoft.com) へサインインします (リセット対象のアカウントが管理者権限を持つアカウントの場合は特権認証管理者またはグローバル管理者にてサインインが必要です)。 + +2. [ユーザー] > [すべてのユーザー] に移動します。 + +3. ユーザーの一覧から、MFA 用の認証方法をリセットしたいユーザーの表示名を選択して開きます。 + +4. 画面左側のメニューから [認証方法] タブを選択します。 + + ![](./mfa-reset-2025/mfa-reset-2025-1.jpg) + +5. [多要素認証の再登録を要求する] を押下します。 + + ![](./mfa-reset-2025/mfa-reset-2025-2.jpg) + +## コマンド (Microsoft Graph PowerShell) で MFA 用の認証方法をリセットする手順 (複数ユーザーに対して一括実施) + +Microsoft Graph PowerShell のスクリプトと CSV を利用して、複数ユーザーに対して設定済みの MFA 用の認証方法を一括で削除する手順です。このスクリプトでは、GUI (Azure Portal および Microsoft Entra 管理センター) で [多要素認証の再登録を要求する] のボタンを押下したときに削除される「電話番号、Microsoft Authenticator アプリ、ソフトウェア OATH トークン」を削除します。「電話番号、Microsoft Authenticator アプリ、ソフトウェア OATH トークン」以外の認証方法 (例: FIDO2 セキュリティ キー) は、この手順では削除されません。 + +1. MFA 用の認証方法をすべて削除 (リセット) したいユーザーの UPN を記載した CSV を作成し、MFA_reset_users.csv という名前で任意の場所に保存します。(この例では C:\temp に保存したとします) + +2. CSV の中身は、項目名に "UserPrincipalName" を記載し、その後の行にユーザーの UPN を列挙します (下図参照)。 + + ![](./mfa-reset-2025/mfa-reset-2025-3.jpg) + +3. 以下の内容をコピーし、MFA_reset_script.ps1 の名前で任意の場所に保存します (この例では C:\temp に保存したとします)。もし手順 1 で CSV の保存先を C:\temp 以外にした場合は、1 行目の CSV のファイル パスを変更ください。 + + ```powershell + $users = Import-Csv -Path "C:\temp\MFA_reset_users.csv" + + foreach ($user in $users) { + $userId = $user.UserPrincipalName + function DeleteAuthMethod($uid, $method){ + switch ($method.AdditionalProperties['@odata.type']) { + '#microsoft.graph.microsoftAuthenticatorAuthenticationMethod' { + Write-Host 'Removing microsoftAuthenticatorAuthenticationMethod' + Remove-MgUserAuthenticationMicrosoftAuthenticatorMethod -UserId $uid -MicrosoftAuthenticatorAuthenticationMethodId $method.Id + } + '#microsoft.graph.phoneAuthenticationMethod' { + Write-Host 'Removing phoneAuthenticationMethod' + Remove-MgUserAuthenticationPhoneMethod -UserId $uid -PhoneAuthenticationMethodId $method.Id + } + '#microsoft.graph.softwareOathAuthenticationMethod' { + Write-Host 'Removing softwareOathAuthenticationMethod' + Remove-MgUserAuthenticationSoftwareOathMethod -UserId $uid -SoftwareOathAuthenticationMethodId $method.Id + } + Default { + Write-Host 'This script does not handle removing this auth method type: ' + $method.AdditionalProperties['@odata.type'] + } + } + return $? # Return true if no error and false if there is an error + } + + $methods = Get-MgUserAuthenticationMethod -UserId $userId + # -1 to account for passwordAuthenticationMethod + Write-Host "Found $($methods.Length - 1) auth method(s) for $userId" + + $defaultMethod = $null + foreach ($authMethod in $methods) { + $deleted = DeleteAuthMethod -uid $userId -method $authMethod + if(!$deleted){ + # We need to use the error to identify and delete the default method. + $defaultMethod = $authMethod + } + } + + # Graph API does not support reading default method of a user. + # Plus default method can only be deleted when it is the only (last) auth method for a user. + # We need to use the error to identify and delete the default method. + if($null -ne $defaultMethod){ + Write-Host "Removing default auth method" + $result = DeleteAuthMethod -uid $userId -method $defaultMethod + } + + Write-Host "Re-checking auth methods..." + $methods = Get-MgUserAuthenticationMethod -UserId $userId + + # -1 to account for passwordAuthenticationMethod + Write-Host "Found $($methods.Length - 1) auth method(s) for $userId" + } + ``` + +4. 作業端末で PowerShell を管理者権限で起動します。 + +5. 以下のコマンドを実行しその PowerShell ウインドウ上でスクリプトを実行できるようにします。 + + ```powershell + Set-ExecutionPolicy RemoteSigned -Scope Process + ``` + +6. 以下のコマンドを実行し、Microsoft Graph PowerShell モジュールをインストールします (既にモジュールがインストールされている場合はスキップください)。「今すぐ PowerShellGet で NuGet プロバイダーをインストールしてインポートしますか?」が表示されたら Y (はい) を選択します。 + + ```powershell + Install-Module Microsoft.Graph -Force + ``` + +7. 以下のコマンドを実行し、グローバル管理者でサインインします ([要求されているアクセス許可] という画面が表示された場合は、[承諾] を押下します)。もしグローバル管理者を利用しない場合は、実行するユーザーに二つのロール (クラウド アプリケーション管理者と (特権) 認証管理者) が付与されていれば実行可能です。管理者ユーザーの MFA の認証方法を削除する場合は特権認証管理者ロールが必要です。 + + ```powershell + Connect-MgGraph -Scopes "UserAuthenticationMethod.ReadWrite.All" + ``` + +8. スクリプトと CSV が保存されたフォルダに移動し、CSV と スクリプトが存在することを確認しておきます。 + + ```powershell + cd C:\temp + dir + ``` + + ![](./mfa-reset-2025/mfa-reset-2025-4.jpg) + +9. 以下のコマンドでスクリプトを実行し、CSV に書かれた対象ユーザーの MFA 用の認証方法をリセットします。 + + ```PowerShell + .\MFA_reset_script.ps1 + ``` + +10. 削除された認証方法が Removing ... のメッセージで表示されます。 + + ![](./mfa-reset-2025/mfa-reset-2025-5.jpg) + +11. 作業が終わりましたら、以下のコマンドを実行し、セッションを切断します。 + + ```powershell + Disconnect-MgGraph + ``` + +## 免責事項 + +本サンプル コードおよび手順は、あくまでも説明のためのサンプルとして提供されるものであり、製品の実運用環境で使用されることを前提に提供されるものではありません。本サンプル コードおよびそれに関連するあらゆる情報は、「現状のまま」で提供されるものであり、商品性や特定の目的への適合性に関する黙示の保証も含め、明示・黙示を問わずいかなる保証も付されるものではありません。マイクロソフトは、お客様に対し、本サンプル コードを使用および改変するための非排他的かつ無償の権利ならびに本サンプル コードをオブジェクト コードの形式で複製および頒布するための非排他的かつ無償の権利を許諾します。 + +但し、お客様は以下の 3 点に同意するものとします。 + +1. 本サンプル コードが組み込まれたお客様のソフトウェア製品のマーケティングのためにマイクロソフトの会社名、ロゴまたは商標を用いないこと +2. 本サンプル コードが組み込まれたお客様のソフトウェア製品に有効な著作権表示をすること +3. 本サンプル コードの使用または頒布から生じるあらゆる損害(弁護士費用を含む)に関する請求または訴訟について、マイクロソフトおよびマイクロソフトの取引業者に対し補償し、損害を与えないこと + +## おわりに + +新年のご挨拶の代わりに 2025 年版の MFA の認証方法のリセット方法を紹介しました。新しい年が皆様にとって幸多き一年となりますようにお祈り申し上げます。製品動作に関する正式な見解や回答については、お客様環境などを十分に把握したうえでサポート部門より提供しますので、ぜひ弊社サポート サービスをご利用ください。 diff --git a/articles/azure-active-directory/mfa-reset-2025/mfa-reset-2025-1.jpg b/articles/azure-active-directory/mfa-reset-2025/mfa-reset-2025-1.jpg new file mode 100644 index 00000000000..1b327176add Binary files /dev/null and b/articles/azure-active-directory/mfa-reset-2025/mfa-reset-2025-1.jpg differ diff --git a/articles/azure-active-directory/mfa-reset-2025/mfa-reset-2025-2.jpg b/articles/azure-active-directory/mfa-reset-2025/mfa-reset-2025-2.jpg new file mode 100644 index 00000000000..40b977bdb10 Binary files /dev/null and b/articles/azure-active-directory/mfa-reset-2025/mfa-reset-2025-2.jpg differ diff --git a/articles/azure-active-directory/mfa-reset-2025/mfa-reset-2025-3.jpg b/articles/azure-active-directory/mfa-reset-2025/mfa-reset-2025-3.jpg new file mode 100644 index 00000000000..7df4d1113cc Binary files /dev/null and b/articles/azure-active-directory/mfa-reset-2025/mfa-reset-2025-3.jpg differ diff --git a/articles/azure-active-directory/mfa-reset-2025/mfa-reset-2025-4.jpg b/articles/azure-active-directory/mfa-reset-2025/mfa-reset-2025-4.jpg new file mode 100644 index 00000000000..b52600dee63 Binary files /dev/null and b/articles/azure-active-directory/mfa-reset-2025/mfa-reset-2025-4.jpg differ diff --git a/articles/azure-active-directory/mfa-reset-2025/mfa-reset-2025-5.jpg b/articles/azure-active-directory/mfa-reset-2025/mfa-reset-2025-5.jpg new file mode 100644 index 00000000000..cafc6ffd9d7 Binary files /dev/null and b/articles/azure-active-directory/mfa-reset-2025/mfa-reset-2025-5.jpg differ diff --git a/articles/azure-active-directory/mfa-reset.md b/articles/azure-active-directory/mfa-reset.md index 39f58da3866..fa968f43759 100644 --- a/articles/azure-active-directory/mfa-reset.md +++ b/articles/azure-active-directory/mfa-reset.md @@ -1,16 +1,15 @@ --- -title: 多要素認証 (MFA) のリセット手順 -date: 2018-10-15 +title: 多要素認証 (MFA) のリセット手順 - 2018 年版 +date: 2018-10-15 09:00 tags: - Azure AD - MFA --- > [!NOTE] -> 本記事は Technet Blog の更新停止に伴い https://blogs.technet.microsoft.com/jpazureid/2018/10/15/mfa-reset/ の内容を移行したものです。 -> 元の記事の最新の更新情報については、本内容をご参照ください。 +> 本記事は Technet Blog の更新停止に伴い https://blogs.technet.microsoft.com/jpazureid/2018/10/15/mfa-reset/ の内容を移行したものです。元の記事の最新の更新情報については、本内容をご参照ください。現在では 2018 年版から GUI やコマンドなどが変更されているため、最新の記事は [多要素認証 (MFA) のリセット手順 - 2025 年版](../azure-active-directory/mfa-reset-2025.md) をご覧ください。 -# 多要素認証 (MFA) のリセット手順 +# 多要素認証 (MFA) のリセット手順 - 2018 年版 こんにちは、Azure & Identity サポート チームの小野です。 @@ -47,29 +46,27 @@ https://blogs.technet.microsoft.com/jpazureid/2017/12/04/aad-powershell/ 以下コマンドを実行し、ユーザーの MFA 設定をリセットできます。 -``` +```powershell Connect-MsolService#Azure AD へログイン Set-MsolUser -UserPrincipalName "<リセットしたいユーザーのUPN>" -StrongAuthenticationMethods @() ``` 例えば、以下のように CSV からユーザーを読み込んで、一括でリセットを行うことも可能です。 -``` -Connect-MsolService#Azure AD へログイン +```powershell +Connect-MsolService # Azure AD へログイン $users = Import-Csv "CSV のファイルパス" foreach ($user in $users) { Set-MsolUser -UserPrincipalName $user.UserPrincipalName -StrongAuthenticationMethods @() } ``` -![](./mfa-reset/csv.png) -図: 用意する CSV の例 +![用意する CSV の例](./mfa-reset/csv.png) 以下のコマンドで、MFA の設定がされていない(リセット済み)であるユーザーの一覧を確認することができます。 -``` +```powershell Get-MsolUser -all | ?{ !$_.StrongAuthenticationMethods } ``` ご不明な点がございましたら弊社サポートまでお気軽にお問い合わせください。上記内容が少しでも皆様の参考となりますと幸いです。 -