Регистрация пользователей в системе
Способы регистрации второго фактора
Мультифактор предлагает несколько простых в настройке и использовании методов регистрации второго фактора.
При выборе ориентируйтесь на тип защищаемой системы, а также требования по поддержке определённых методов аутентификации и источников учётных записей.
# | Способ регистрации 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 | Любые | SMS | ActiveDirectory |
Автоматизация
В данном разделе приведены примеры 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