Categories: AzureMicrosoft 365

Как включить или отключить MFA для пользователей Azure/Microsoft 365?

Вы можете включить, отключить или получить статус мульти факторной аутентификации (MFA — Multi-Factor Authentication) для пользователей вашего тенната Azure/Microsoft 365 из Azure Portal, Microsoft 365 Admin Center или с помощью PowerShell. В этой статье мы покажем, как управлять MFA для аккаунтов пользователей в Azure и получать отчеты по второму фактору, использующемуся у пользователей.

В этой статье мы подразумеваем, что вы управляете MFA для каждого пользователя отдельно (per-user), а не на основе Azure Conditional Access.

Вы можете открыть веб-страницу со статусом MFA для всех пользователей, двумя способами:

  • Microsoft 365 Admin Center -> Active Users -> Multi-factor authentication.
  • Portal Azure -> Azure AD-> Users -> Per-user MFA

Перед вами появится список всех пользователей вашего тенанта и статус MFA для каждого из них. Для каждого пользователя статус MFA может быть:

  • Disabled – мульти факторная аутентификация отключена (по-умолчанию для новых пользователей);
  • Enabled – MFA включена, но пользователь все еще использует обычную аутентификацию, пока сам не настроит метод MFA;
  • Enforced – при следующем входе пользователю будет принудительно предложено зарегистрировать второй фактор MFA.

Включить, отключить, сбросить, или настроить MFA для каждого пользователя можно с помощью кнопок в правой панели Quick Step s.

В этом отчете не получится определить, завершил ли пользователь настройку MFA и какой второй фактор используется пользователь. Также нельзя выгрузить содержимое страницы в txt/csv файл. Гораздо удобнее использовать PowerShell для управления MFA пользователей в Micorosft 365 и простого построения отчетов.

На данный момент вы можете включить/отключить или настроить MFA для пользователей Azure (Microsoft 365) из PowerShell с помощью модуля MSOnline или с помощь Microsoft Graph API .

На данный момент нельзя управлять MFA через более новый модуль AzureAD .

Установите модуль MSOnline (если нужно) и подключитесь к своему тенанту:

Install-Module MSOnline
Connect-MsolService

Информация о статусе MFA для пользователя можно получить из атрибута StrongAuthenticationMethods:

Get-MsolUser –UserPrincipalName [email protected] | Select-Object UserPrincipalName,StrongAuthenticationMethods

Если атрибут StrongAuthenticationMethods не пустой, значит для пользователя включен MFA. Можно узнать какой тип MFA настроен для пользователя:

(Get-MsolUser –UserPrincipalName [email protected] ). StrongAuthenticationMethods

На данном скриншоте видно, что у пользователя настроен второй фактор через приложение Microsoft Authenticator (PhoneAppNotification — IsDefault=True ).

В качестве второго MFA фактора в современной проверке подлинности Microsoft для пользователей может использоваться один из четырёх вариантов проверки:

  • OneWaySMS – стандартное СМС сообщение
  • TwoWayVoiceMobile – одноразовый пароль передается сообщается звонком нателефону
  • PhoneAppOTP – одноразовый пароль (6 цифр) через аппаратный токен или приложение Microsoft Authenticator
  • PhoneAppNotification – аутентификация через приложение Microsoft Authenticator

Чтобы включить MFA для определённого пользователя:

$st = New-Object -TypeName Microsoft.Online.Administration.StrongAuthenticationRequirement
$st.RelyingParty = "*"
$st.State = "Enabled"
$sta = @($st)
Set-MsolUser -UserPrincipalName [email protected] -StrongAuthenticationRequirements $sta

Чтобы заставить пользователя принудительно перерегистрировать текущий метод MFA:

Set-MsolUser -UserPrincipalName [email protected] -StrongAuthenticationMethods @()

Отключить MFA для одного пользователя:

Get-MsolUser -UserPrincipalName [email protected] | Set-MsolUser -StrongAuthenticationRequirements @()

С помощью следующего скрипта PowerShell можно получить статус MFA для всех пользователей в тенанте Azure:

$Report = @()
$AzUsers = Get-MsolUser -All
ForEach ($AzUser in $AzUsers) {
$DefaultMFAMethod = ($AzUser.StrongAuthenticationMethods | ? { $_.IsDefault -eq "True" }).MethodType
$MFAState = $AzUser.StrongAuthenticationRequirements.State
if ($MFAState -eq $null) {$MFAState = "Disabled"}
$objReport = [PSCustomObject]@{
User = $AzUser.UserPrincipalName
MFAState = $MFAState
MFAPhone = $AzUser.StrongAuthenticationUserDetails.PhoneNumber
MFAMethod = $DefaultMFAMethod
}
$Report += $objReport
}
$Report

Вы можете выгрузить отчет по пользователям в CSV файл :

$Report| Export-CSV -NoTypeInformation -Encoding UTF8 c:PSAzureUsersMFA.csv

Или в таблицу Out-GridView :

$Report | Out-GridView

Скрипт доступен в моем GitHub репозитории https://github.com/winadm/posh/blob/master/Azure/GetMFAStateUsers.ps1

admin

Share
Published by
admin

Recent Posts

Консоль удаленного рабочего стола(rdp console)

Клиент удаленного рабочего стола (rdp) предоставляет нам возможность войти на сервер терминалов через консоль. Что…

2 недели ago

Настройка сети в VMware Workstation

В VMware Workstation есть несколько способов настройки сети гостевой машины: 1) Bridged networking 2) Network…

2 недели ago

Логи брандмауэра Windows

Встроенный брандмауэр Windows может не только остановить нежелательный трафик на вашем пороге, но и может…

2 недели ago

Правильный способ отключения IPv6

Вопреки распространенному мнению, отключить IPv6 в Windows Vista и Server 2008 это не просто снять…

2 недели ago

Ключи реестра Windows, отвечающие за параметры экранной заставки

Параметры экранной заставки для текущего пользователя можно править из системного реестра, для чего: Запустите редактор…

2 недели ago

Как управлять журналами событий из командной строки

В этой статье расскажу про возможность просмотра журналов событий из командной строки. Эти возможности можно…

2 недели ago