Перейти к основному содержимому

Регистрация пользователей в системе

Способы регистрации второго фактора

Мультифактор предлагает несколько простых в настройке и использовании методов регистрации второго фактора.

При выборе ориентируйтесь на тип защищаемой системы, а также требования по поддержке определённых методов аутентификации и источников учётных записей.

#Способ регистрации 2FAПодходит для системМетоды аутентификацииИсточники учётных записей
1В режиме диалога с пользователемVPN и VDI клиенты- Multifactor Push
- Telegram Push
- OTP
- SMS
- ActiveDirectory
- RADIUS (NPS)
- Локальные учётные записи
2В веб-приложениях- Web и SAML приложения
- Outlook Web Access (OWA)
Все доступные- ActiveDirectory
- Внешние IdP
- RADIUS (NPS)
- Локальные учётные записи
3На портале самообслуживанияЛюбые- Все доступные
- Может работать как единая точка входа SSO
ActiveDirectory
4По конфигурационной ссылке, высылаемой на emailЛюбыеВсе доступные- ActiveDirectory
- Внешние IdP
- RADIUS (NPS)
- Локальные учётные записи
5Автоматическая регистрация SMSЛюбыеSMSActiveDirectory   

Автоматизация

В данном разделе приведены примеры PowerShell-автоматизации для регистрации пользователей и рассылки конфигурационных ссылок на email.

Экспорт пользователей из Active Directory

Экспорт всех пользователей, имеющих e-mail адрес в домене multifactor.local в CSV-файл C:\temp\ADusers.csv.

### start export

Get-ADUser -Filter {mail -like '*'} -SearchBase "CN=Users,DC=multifactor,DC=local" -Properties * | Select -Property samaccountname,EmailAddress,DisplayName | Export-CSV "C:\\temp\\ADusers.csv" -NoTypeInformation -Encoding UTF8

### end export

Импорт пользователей через API и отправка конфигурационных email

Импорт всех пользователей, имеющих e-mail адрес в домене multifactor.local в API Мультифактора с одновременной отправкой ссылки для настройки второго фактора сроком 3 часа.

### start import

[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12
$apiKey = "<API Key>"
$apiSecret = "<API Secret>"
$encodedCredentials = [Convert]::ToBase64String([Text.Encoding]::ASCII.GetBytes(("{0}:{1}" -f $apiKey, $apiSecret)))

$parameters = @{
Uri = 'https://api.multifactor.ru/users'
Headers = @{ 'Authorization' = "Basic $encodedCredentials" }
Method = 'POST'
ContentType = 'application/json; charset=utf-8'
}

$users = Get-ADUser -Filter {mail -like '*'} -SearchBase "CN=Users,DC=multifactor,DC=local" -Properties SamAccountName, Mail, DisplayName

$users | ForEach-Object {
$body = @{
Identity = $_.SamAccountName
Email = $_.Mail
Name = $_.DisplayName
EnrollmentLink = @{
To = "email"
Ttl = 180
}
} | ConvertTo-Json

Invoke-RestMethod @parameters -Body $body
}

### end import