Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Ваша организация может внедрить устойчивую к фишингу, современную и беспарольную аутентификацию с помощью пользовательских сертификатов X.509, используя аутентификацию на основе сертификатов Microsoft Entra (CBA).
В этой статье вы узнаете, как настроить клиент Microsoft Entra, чтобы разрешить или требовать аутентификацию пользователей клиента с помощью сертификатов X.509. Пользователь создает сертификат X.509 с помощью инфраструктуры открытых ключей предприятия (PKI) для входа в приложение и браузер.
При настройке Microsoft Entra CBA во время входа пользователь видит возможность проверки подлинности с помощью сертификата вместо ввода пароля. Если на устройстве находятся несколько соответствующих сертификатов, пользователь выбирает соответствующий сертификат, а сертификат проверяется в учетной записи пользователя. Если проверка выполнена успешно, пользователь входит в систему.
Выполните действия, описанные в этой статье, чтобы настроить и использовать Microsoft Entra CBA для клиентов в Office 365 корпоративный и планах правительства США. У вас уже должен быть настроен PKI .
Предварительные условия
Убедитесь, что выполнены следующие предварительные условия:
- По крайней мере один центр сертификации (ЦС) и все промежуточные ЦС настраиваются в Microsoft Entra ID.
- Пользователь имеет доступ к сертификату пользователя, выданному доверенным PKI, настроенным в клиенте, предназначенном для проверки подлинности клиента в Microsoft Entra ID.
- Каждый ЦС имеет список отзыва сертификатов (CRL), на который можно ссылаться из URL-адресов, подключенных к Интернету. Если у доверенного ЦС не настроен CRL, Microsoft Entra ID не выполняет никаких проверок CRL, отзыв пользовательских сертификатов не осуществляется, и аутентификация не блокируется.
Соображения
Убедитесь, что PKI является безопасным и не может быть легко скомпрометирован. При нарушении безопасности злоумышленник может создавать и подписывать клиентские сертификаты и скомпрометировать любого пользователя в арендной записи, включая пользователей, синхронизированных из локальной среды. Надежная стратегия защиты ключей и другие физические и логические элементы управления могут обеспечить глубину защиты, чтобы предотвратить внешних злоумышленников или внутренние угрозы от компрометации целостности PKI. Дополнительные сведения см. в разделе "Защита PKI".
Рекомендации по наилучшим практикам шифрования Майкрософт, включая выбор алгоритма, длину ключа и защиту данных, см. рекомендации Майкрософт. Обязательно используйте один из рекомендуемых алгоритмов, рекомендуемую длину ключа и утвержденные NIST кривые.
В рамках текущих улучшений безопасности добавлена поддержка TLS 1.3 для конечных точек Azure и Microsoft 365. Ожидается, что процесс займет несколько месяцев, чтобы покрыть тысячи конечных точек службы в Azure и Microsoft 365. Узлы Microsoft Entra, которые использует Microsoft Entra CBA, включены в обновление:
*.certauth.login.microsoftonline.comи*.certauth.login.microsoftonline.us.TLS 1.3 — это самая последняя версия наиболее распространенного протокола безопасности в Интернете. TLS 1.3 шифрует данные для обеспечения безопасного канала связи между двумя конечными точками. Он устраняет устаревшие алгоритмы шифрования, повышает безопасность по сравнению с более ранними версиями и шифрует как можно больше рукопожатия. Мы настоятельно рекомендуем начать тестирование TLS 1.3 в приложениях и службах.
При оценке PKI важно проверить политики выдачи сертификатов и принудительное применение. Как описано ранее, добавление ЦС в конфигурацию Microsoft Entra позволяет сертификатам, выданным этими центрами сертификации, проходить проверку подлинности любого пользователя в Microsoft Entra ID.
Важно учитывать, как и когда ЦС могут выдавать сертификаты и как они реализуют повторно используемые идентификаторы. Администраторы должны гарантировать, что для проверки подлинности пользователя может использоваться только определенный сертификат, но они должны использовать исключительно привязки с высоким сходством, чтобы обеспечить более высокий уровень уверенности, что только определенный сертификат может пройти проверку подлинности пользователя. Дополнительные сведения см. в разделе высокой степени сродства.
Настройка и проверка Microsoft Entra CBA
Перед включением Microsoft Entra CBA необходимо выполнить некоторые действия по настройке.
Администратор должен настроить доверенные ЦС, которые выдают сертификаты пользователей. Как показано на следующей схеме, Azure использует управление доступом на основе ролей (RBAC), чтобы гарантировать, что для внесения изменений требуются только администраторы с минимальными привилегиями.
Внимание
Майкрософт рекомендует использовать роли с наименьшими разрешениями. Эта практика помогает повысить безопасность вашей организации. Глобальный администратор — это высоко привилегированная роль, которая должна быть ограничена сценариями чрезвычайных ситуаций или если вы не можете использовать существующую роль.
При необходимости можно настроить привязки проверки подлинности для сопоставления сертификатов с однофакторной проверкой подлинности или многофакторной проверкой подлинности (MFA). Настройте привязки имени пользователя для сопоставления поля сертификата с атрибутом объекта пользователя. Администратор политики проверки подлинности может настроить параметры, связанные с пользователем.
По завершении всех конфигураций включите Microsoft Entra CBA в клиенте.
Шаг 1. Настройка ЦС с использованием хранилища сертификатов доверия на основе PKI
Microsoft Entra имеет новое хранилище доверенных центров сертификации на основе PKI. Хранилище доверия сохраняет ЦС в контейнере для каждой PKI. Администраторы могут управлять центрами сертификации в контейнере на основе PKI проще, чем управлять неструктурированным списком ЦС.
Хранилище доверия на основе PKI имеет более высокие ограничения, чем классическое хранилище доверия для количества ЦС и размера каждого файла ЦС. Хранилище доверия на основе PKI поддерживает до 250 ЦС и 8 КБ для каждого объекта ЦС.
Если вы используете классическое хранилище доверия для настройки ЦС, настоятельно рекомендуется настроить хранилище доверия на основе PKI. Хранилище доверия на основе PKI можно масштабировать и поддерживает новые функциональные возможности, такие как подсказки издателя.
Администратор должен настроить доверенные ЦС, которые выдают сертификаты пользователей. Для внесения изменений требуются только наименее привилегированные администраторы. PKI-хранилище доверия назначено на роль администратора привилегированной проверки подлинности.
Функция загрузки в хранилище доверия, основанном на PKI, доступна только с лицензией Microsoft Entra ID P1 или P2. Однако с помощью бесплатной лицензии Microsoft Entra администратор может отправлять все ЦС отдельно, а не отправлять PKI-файл. Затем они могут настроить хранилище доверительных сертификатов PKI и добавить загруженные файлы ЦС.
Настройка сертификационных служб с помощью центра администрирования Microsoft Entra
Создание объекта контейнера PKI (Центр администрирования Microsoft Entra)
Чтобы создать объект контейнера PKI, выполните приведенные действия.
Войдите в Центр администрирования Microsoft Entra с учетной записью, назначенной ролью Привилегированного администратора проверки подлинности.
Перейдите к Entra ID>Identity Secure Score>Public key infrastructure.
Выберите "Создать PKI".
В поле Отображаемое имя введите имя.
Нажмите кнопку "Создать".
Чтобы добавить или удалить столбцы, выберите "Изменить столбцы".
Чтобы обновить список PKIs, нажмите кнопку "Обновить".
Удаление объекта контейнера PKI
Чтобы удалить PKI, выберите PKI и нажмите кнопку "Удалить". Если PKI содержит ЦС, введите имя PKI, чтобы подтвердить удаление всех ЦС в PKI. Затем нажмите кнопку "Удалить".
Загрузка отдельных удостоверяющих центров в объект контейнера PKI
Чтобы загрузить ЦС в контейнер PKI, следуйте приведенным инструкциям.
Выберите "Добавить центр сертификации".
Выберите файл Центра Сертификации.
Если ЦС является корневым сертификатом, нажмите кнопку "Да". В противном случае нажмите кнопку "Нет".
Для URL-адреса списка отзыва сертификатов введите URL-адрес, доступный в интернете, для основной ЦС, содержащей все отозванные сертификаты. Если URL-адрес не задан, попытка пройти проверку подлинности с помощью отозванного сертификата не приводит к ошибке.
Для URL-адреса разностного списка отзыва сертификатов введите интернет-адрес для CRL, который содержит все отозванные сертификаты с момента публикации последнего базового CRL.
Если центр сертификации не следует включать в подсказки от издателя, отключите подсказки от издателя. Флаг подсказки издателя по умолчанию отключен.
Нажмите кнопку "Сохранить".
Чтобы удалить ЦС, выберите ЦС и нажмите кнопку "Удалить".
Чтобы добавить или удалить столбцы, выберите "Изменить столбцы".
Чтобы обновить список PKIs, нажмите кнопку "Обновить".
Изначально отображаются 100 сертификатов Центра сертификации. Больше элементов отображается при прокрутке вниз панели.
Загрузите все центры сертификации в объект контейнера PKI
Чтобы массово загрузить все сертификаты ЦС в контейнер PKI:
Создайте объект контейнера PKI или откройте существующий контейнер.
Выберите "Отправить PKI".
Введите URL-адрес HTTP для доступа к Интернету
.p7bфайла.Введите контрольную сумму SHA-256 файла.
Выберите отправку.
Процесс отправки PKI является асинхронным. По мере того, как загружается каждый центр сертификации (ЦС), он становится доступен в PKI. Вся отправка PKI может занять до 30 минут.
Выберите "Обновить", чтобы обновить список центров сертификации.
Каждый загруженный атрибут конечной точки ЦС CRL обновляется с помощью первого доступного HTTP-URL-адреса сертификата ЦС, указанного в качестве атрибута точек распространения CRL . Необходимо вручную обновить все конечные сертификаты.
Чтобы создать контрольную сумму SHA-256 PKI-файла .p7b , выполните следующую команду:
Get-FileHash .\CBARootPKI.p7b -Algorithm SHA256
Изменение PKI
- В строке PKI выберите ... и нажмите кнопку "Изменить".
- Введите новое имя PKI.
- Нажмите кнопку "Сохранить".
Редактирование Центра Сертификации
- В строке CA выберите ... и Изменить.
- Введите новые значения для типа ЦС (корневого или промежуточного), URL-адреса CRL, URL-адреса разностного списка отзыва сертификатов или флага включения подсказок издателя в соответствии с вашими требованиями.
- Нажмите кнопку "Сохранить".
Пакетное редактирование атрибута подсказок эмитента
- Чтобы изменить несколько центров сертификации и включить или отключить атрибут Подсказки издателя включены, выберите несколько центров сертификации.
- Выберите "Изменить", а затем выберите "Изменить подсказки издателя".
- Установите флажок "Подсказки издателя включены" для всех выбранных центров сертификации или снимите выбранный флажок, чтобы отключить флаг включения подсказок издателя для всех выбранных ЦС. Значение по умолчанию — indeterminate.
- Нажмите кнопку "Сохранить".
Восстановление PKI
- Выберите вкладку Удаленные PKIs
- Выберите PKI и выберите "Восстановить PKI".
Восстановление удостоверяющего центра
- Перейдите на вкладку Удаленные ЦС.
- Выберите ЦС-файл, а затем выберите "Восстановить центр сертификации".
Настройте атрибут isIssuerHintEnabled для ЦС
Подсказки эмитента отправляют индикатор доверенного ЦС как часть рукопожатия TLS. Для списка доверенных ЦС задана тема ЦС, которую клиент отправляет в хранилище доверия Microsoft Entra. Дополнительные сведения см. в разделе Общие сведения о подсказках эмитента.
По умолчанию имена субъектов всех ЦС в хранилище доверия Microsoft Entra отправляются в виде подсказок. Если вы хотите отправить подсказку только для определенных центров сертификации, задайте для атрибута isIssuerHintEnabled подсказки эмитента значение true.
Сервер может отправить клиенту TLS не более 16 КБ ответа для подсказок издателя (имя субъекта ЦС). Мы рекомендуем установить isIssuerHintEnabled атрибут true только для УЦ, которые выдают сертификаты пользователей.
Если несколько промежуточных ЦС из одного корневого сертификата выдают сертификаты пользователей, по умолчанию все сертификаты отображаются в средство выбора сертификатов. Если задать значение isIssuerHintEnabled для true для определенных центров сертификации, в средство выбора сертификатов будут отображаться только сертификаты пользователей.
Настройка центров сертификации с помощью API Microsoft Graph
В следующих примерах показано, как использовать Microsoft Graph для выполнения операций создания, чтения, обновления и удаления (CRUD) с помощью методов HTTP для PKI или ЦС.
Создание объекта контейнера PKI (Microsoft Graph)
PATCH https://graph.microsoft.com/beta/directory/publicKeyInfrastructure/certificateBasedAuthConfigurations/
Content-Type: application/json
{
"displayName": "ContosoPKI"
}
Получение всех объектов PKI
GET https://graph.microsoft.com/beta/directory/publicKeyInfrastructure/certificateBasedAuthConfigurations
ConsistencyLevel: eventual
Получение объекта PKI по идентификатору PKI
GET https://graph.microsoft.com/beta/directory/publicKeyInfrastructure/certificateBasedAuthConfigurations/<PKI-ID>/
ConsistencyLevel: eventual
Отправка ЦС с помощью P7B-файла
PATCH https://graph.microsoft.com/beta/directory/publicKeyInfrastructure/certificateBasedAuthConfigurations/<PKI-id>/certificateAuthorities/<CA-ID>
Content-Type: application/json
{
"uploadUrl":"https://CBA/demo/CBARootPKI.p7b,
"sha256FileHash": "AAAAAAD7F909EC2688567DE4B4B0C404443140D128FE14C577C5E0873F68C0FE861E6F"
}
Получить все ЦС в PKI
GET https://graph.microsoft.com/beta/directory/publicKeyInfrastructure/certificateBasedAuthConfigurations/<PKI-ID>/certificateAuthorities
ConsistencyLevel: eventual
Получение определенного ЦС в PKI по идентификатору ЦС
GET https://graph.microsoft.com/beta/directory/publicKeyInfrastructure/certificateBasedAuthConfigurations/<PKI-ID>/certificateAuthorities/<CA-ID>
ConsistencyLevel: eventual
Обновление определенного флага указания издателя ЦС
PATCH https://graph.microsoft.com/beta/directory/publicKeyInfrastructure/certificateBasedAuthConfigurations/<PKI-ID>/certificateAuthorities/<CA-ID>
Content-Type: application/json
{
"isIssuerHintEnabled": true
}
Настройка центров сертификации с помощью PowerShell
Для выполнения этих действий используйте Microsoft Graph PowerShell.
Запустите PowerShell с помощью параметра "Запуск от имени администратора ".
Установите и импортируйте Microsoft Graph PowerShell SDK:
Install-Module Microsoft.Graph -Scope AllUsers Import-Module Microsoft.Graph.Authentication Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUserПодключитесь к арендатору и примите все:
Connect-MGGraph -Scopes "Directory.ReadWrite.All", "User.ReadWrite.All" -TenantId <tenantId>
Приоритезация между хранилищем доверия на основе PKI и классическим хранилищем ЦС
Если ЦС существует как в хранилище ЦС на основе PKI, так и в классическом хранилище ЦС, то приоритетом является хранилище доверия на основе PKI.
Приоритет отдается классическому хранилищу Центра Сертификации в следующих сценариях:
- Центр сертификации существует в обоих хранилищах: хранилище на основе инфраструктуры открытых ключей (PKI) не имеет списка отзыва (CRL), но классический центр сертификации хранилища имеет действительный список отзыва.
- Центр сертификации (ЦС) существует в обоих хранилищах, при этом CRL ЦС хранилища на основе PKI отличается от CRL ЦС классического хранилища.
Журнал входа
Прерванная запись в журнале входа Microsoft Entra имеет два атрибута в разделе Additional Details, чтобы указать, использовалось ли классическое или устаревшее хранилище доверия в процессе аутентификации.
- Используется устаревшее хранилище с значением 0 , чтобы указать, что используется PKI-хранилище. Значение 1 указывает, что используется классическое или устаревшее хранилище.
- Информация об использовании устаревшего хранилища объясняет причину, по которой используется классическое или устаревшее хранилище.
Журнал аудита
Все выполняемые операции CRUD с использованием PKI или ЦС, находящихся в хранилище доверия, отображаются в журналах аудита Microsoft Entra.
Миграция из классического хранилища Центра сертификации (ЦС) в хранилище на основе PKI
Администратор арендатора может загрузить все ЦС в PKI-хранилище. Затем хранилище удостоверяющего центра PKI имеет приоритет над классическим хранилищем, и вся аутентификация CBA осуществляется через PKI-хранилище. Администратор клиента может удалить ЦС из классического или устаревшего хранилища, если в журналах входа нет указаний на использование классического или устаревшего хранилища.
Вопросы и ответы
Почему отправка PKI завершается ошибкой?
Убедитесь, что PKI-файл действителен и к нему можно получить доступ без каких-либо проблем. Максимальный размер PKI-файла составляет 2 МБ (250 ЦС и 8 КБ для каждого объекта ЦС).
Что такое соглашение об уровне обслуживания для отправки PKI?
Отправка PKI — это асинхронная операция и может занять до 30 минут.
Как создать контрольную сумму SHA-256 для PKI-файла?
Чтобы создать контрольную сумму SHA-256 PKI-файла .p7b , выполните следующую команду:
Get-FileHash .\CBARootPKI.p7b -Algorithm SHA256
Шаг 2. Включение CBA для клиента
Внимание
Пользователь считается способным завершить многофакторную аутентификацию, если он назначен для охвата CBA в политике методов проверки подлинности. Это требование политики означает, что пользователь не может использовать подтверждение личности в качестве части своей аутентификации для регистрации других доступных методов. Если у пользователя нет доступа к сертификатам, они заблокированы и не могут зарегистрировать другие методы для MFA. Администраторы, которым назначена роль администратора политики проверки подлинности, должны включить CBA только для пользователей, имеющих действительные сертификаты. Не включать всех пользователей для CBA. Используйте только группы пользователей, имеющих допустимые сертификаты. Дополнительные сведения см. в разделе Microsoft Entra многофакторная аутентификация.
Чтобы включить CBA через Центр администрирования Microsoft Entra, выполните следующие действия.
Войдите в Центр администрирования Microsoft Entra с учетной записью, которому назначена, как минимум, роль Администратор политики проверки подлинности.
Перейдите в раздел "Группы>все группы".
Выберите новую группу и создайте группу для пользователей CBA.
Перейдите к методам аутентификации Entra ID>>Аутентификация на основе сертификата.
В разделе "Включение" и "Цель" выберите "Включить", а затем установите флажок "Я подтверждаю".
Выберите Выбрать группы>Добавить группы.
Выберите определенные группы, например созданные вами, и нажмите кнопку "Выбрать". Используйте определенные группы вместо всех пользователей.
Нажмите кнопку "Сохранить".
После включения CBA для клиента все пользователи в клиенте видят возможность входа с помощью сертификата. Только пользователи, которые могут использовать CBA, могут пройти проверку подлинности с помощью сертификата X.509.
Примечание.
Администратор сети должен разрешить доступ к конечной точке проверки подлинности сертификата для облачной среды организации в дополнение к конечной точке login.microsoftonline.com . Отключите проверку TLS на конечной точке проверки подлинности сертификата, чтобы убедиться, что запрос сертификата клиента был успешно выполнен в рамках TLS рукопожатия.
Шаг 3: Настройка политики привязки аутентификации
Политика привязки проверки подлинности помогает установить уровень надежности аутентификации, используя либо один фактор, либо многофакторную аутентификацию (МФА). Уровень защиты по умолчанию для всех сертификатов клиента — это однофакторная проверка подлинности.
Привязка сходства по умолчанию на уровне клиента низка. Администратор политики проверки подлинности может изменить значение по умолчанию с однофакторной проверки подлинности на MFA. Если уровень защиты изменяется, для всех сертификатов клиента устанавливается MFA. Аналогичным образом привязка аффинности на уровне арендатора может быть установлена на высокую аффинность. Затем все сертификаты проверяются с помощью только атрибутов высокой сходства.
Внимание
Администратор должен задать для клиента значение по умолчанию, применимое для большинства сертификатов. Создайте пользовательские правила только для определенных сертификатов, которым требуется другой уровень защиты или привязка сходства, чем для клиента по умолчанию. Все конфигурации методов проверки подлинности находятся в одном файле политики. Создание нескольких избыточных правил может превышать ограничение размера файла политики.
Правила привязки проверки подлинности сопоставляют атрибуты сертификатов, такие как издатель, идентификатор объекта политики (OID) и издатель и идентификатор политики с указанным значением. Правила задают уровень защиты по умолчанию и привязку сходства для этого правила.
Чтобы изменить параметры клиента по умолчанию и создать настраиваемые правила с помощью Центр администрирования Microsoft Entra:
Войдите в Центр администрирования Microsoft Entra с учетной записью, которой назначена хотя бы роль Authentication Policy Administrator.
Перейдите к Entra ID>Методы аутентификации>Политики.
В разделе "Управление миграциями" выберите методы>проверки подлинности на основе сертификатов.
Чтобы настроить привязку проверки подлинности и привязку имени пользователя, выберите "Настроить".
Чтобы изменить значение по умолчанию на MFA, выберите многофакторную проверку подлинности. Атрибут уровня защиты имеет значение по умолчанию для однофакторной проверки подлинности.
Примечание.
Уровень защиты по умолчанию действует, если пользовательские правила не добавляются. При добавлении настраиваемого правила уровень защиты, определенный на уровне правила, учитывается вместо уровня защиты по умолчанию.
Вы также можете настроить пользовательские правила привязки аутентификации, чтобы определить уровень защиты для клиентских сертификатов, которым требуются различные значения уровня защиты или аффинити-привязки по сравнению с настройками по умолчанию арендатора. Правила можно настроить с помощью субъекта-издателя или идентификатора политики или обоих полей в сертификате.
Правила привязки аутентификации сопоставляют атрибуты сертификата, такие как издатель или OID политики, со значением. Значение задает уровень защиты по умолчанию для этого правила. Можно создать несколько правил. В следующем примере предположим, что по умолчанию клиент имеет многофакторную проверку подлинности и низкую для привязки сходства.
Чтобы добавить настраиваемые правила, нажмите кнопку "Добавить правило".
Чтобы создать правило издателем сертификатов, выполните приведенные действия.
Выберите издателя сертификатов.
Для идентификатора издателя сертификатов выберите соответствующее значение.
Для проверки подлинности выберите многофакторную проверку подлинности.
Для привязки аффинности выберите низкий.
Нажмите кнопку "Добавить".
При появлении запроса установите флажок "Подтвердить" , чтобы добавить правило.
Чтобы создать правило по OID политики, выполните следующие действия.
Выберите OID политики.
Для идентификатора политики введите значение.
Для проверки подлинности выберите однофакторную проверку подлинности.
Для привязки сходства выберите "Низкий " для привязки сходства.
Нажмите кнопку "Добавить".
При появлении запроса установите флажок "Подтвердить" , чтобы добавить правило.
Чтобы создать правило по издателю и OID политики, выполните следующие действия.
Выберите издателя сертификатов и идентификатор политики.
Выберите издателя и введите идентификатор политики.
Для проверки подлинности выберите многофакторную проверку подлинности.
Для привязки по аффинности выберите „Низкий“.
Нажмите кнопку "Добавить".
Аутентификация с сертификатом, имеющим идентификатор политики
3.4.5.6и выданнымCN=CBATestRootProd. Убедитесь, что проверка подлинности проходит для многофакторной аутентификации.
Чтобы создать правило по издателю и серийному номеру, выполните приведенные ниже действия.
Добавьте политику привязки аутентификации. Для политики необходимо, чтобы любой сертификат, выданный
CN=CBATestRootProdс идентификатором OID политики1.2.3.4.6, требовал только высокой аффинности привязки. Используются эмитент и серийный номер.
Выберите поле сертификата. В этом примере выберите издателя и серийный номер.
Поддерживается только атрибут пользователя
certificateUserIds. ВыберитеcertificateUserIdsи нажмите кнопку "Добавить".
Нажмите кнопку "Сохранить".
В журнале входа показано, какая привязка использовалась для входа и сведения из сертификата.
Нажмите кнопку "ОК" , чтобы сохранить все пользовательские правила.
Внимание
Введите идентификатор политики с помощью формата идентификатора объекта. Например, если политика сертификата говорит Все политики выдачи, введите идентификатор политики 2.5.29.32.0 при добавлении правила. Строка «Все политики выдачи» является недопустимой для редактора правил и не вступает в силу.
Шаг 4. Настройка политики привязки имени пользователя
Политика привязки имени пользователя помогает проверить сертификат пользователя. По умолчанию для определения пользователя вы сопоставляете имя субъекта в сертификате с userPrincipalName объектом пользователя.
Администратор политики проверки подлинности может переопределить значение по умолчанию и создать настраиваемое сопоставление. Дополнительные сведения см. в статье о работе привязки имени пользователя.
Для других сценариев, использующих certificateUserIds атрибут, см. идентификаторы пользователей сертификата.
Внимание
Если политика привязки имени пользователя использует синхронизированные атрибуты, такие как certificateUserIds, onPremisesUserPrincipalName и атрибут userPrincipalName объекта пользователя, учетные записи с правами администратора в локальной Windows Server Active Directory могут вносить изменения, влияющие на эти атрибуты в Microsoft Entra ID. Например, учетные записи с делегированными правами на объекты пользователя или роль администратора на сервере Microsoft Entra Connect Server могут вносить эти изменения.
Создайте привязку имени пользователя, выбрав одно из полей сертификата X.509 для привязки к одному из атрибутов пользователя. Порядок привязки имени пользователя представляет уровень приоритета привязки. Первая привязка имени пользователя имеет наивысший приоритет и т. д.
Если указанное поле сертификата X.509 найдено в сертификате, но Microsoft Entra ID не находит объект пользователя с соответствующим значением, проверка подлинности завершается ошибкой. Затем Microsoft Entra ID пытается выполнить следующую привязку в списке.
Нажмите кнопку "Сохранить".
Последняя конфигурация выглядит примерно так:
Шаг 5. Проверка конфигурации
В этом разделе описывается, как протестировать правила привязки сертификата и пользовательской проверки подлинности.
Проверка сертификата
В первом тесте конфигурации попытайтесь войти на портал MyApps с помощью браузера устройств.
Введите имя пользователя (UPN).
Нажмите кнопку "Далее".
Если вы сделали другие методы проверки подлинности доступными, например вход телефона или FIDO2, пользователи могут увидеть другое диалоговое окно входа.
Выберите "Войти с помощью сертификата".
Выберите правильный сертификат пользователя в пользовательском интерфейсе средства выбора сертификатов клиента и нажмите кнопку "ОК".
Убедитесь, что вы вошли на портал MyApps.
Успешный вход подтверждает, что:
- Сертификат пользователя установлен на тестовом устройстве.
- Microsoft Entra ID настроен правильно для использования доверенных УЦ.
- Привязка имени пользователя настроена правильно. Пользователь найден и прошел проверку подлинности.
Тестирование пользовательских правил привязки аутентификации
Затем выполните сценарий, в котором вы проверяете надежную аутентификацию. Вы создаете два правила политики проверки подлинности: один с помощью издателя, подвергающегося однофакторной проверке подлинности, и другой с помощью OID политики для удовлетворения многофакторной проверки подлинности.
Создайте правило субъекта издателя с уровнем защиты однофакторной проверки подлинности. Установите значение для субъекта вашего Центра сертификации.
Например:
CN=WoodgroveCAСоздайте правило политики OID, которое имеет уровень защиты многофакторной аутентификации. Задайте значение для одного из идентификаторов политики в вашем сертификате. Примером является
1.2.3.4.
Создайте политику Условный доступ Microsoft Entra для пользователя, требующей многофакторную проверку подлинности. Выполните действия, описанные в разделе "Условный доступ" — требовать многофакторную проверку подлинности.
Перейдите на портал MyApps. Введите имя пользователя и выберите Далее.
Выберите "Использовать сертификат" или "Смарт-карта".
Если вы сделали другие методы проверки подлинности доступными, например вход в телефон или ключи безопасности, пользователи могут видеть другое диалоговое окно входа.
Выберите сертификат клиента и выберите сведения о сертификате.
Появится сертификат, и вы можете проверить значения OID выдавшего органа и политики.
Чтобы просмотреть значения OID политики, выберите "Сведения".
Выберите сертификат клиента и нажмите кнопку "ОК".
Идентификатор политики в сертификате соответствует настроенному значению 1.2.3.4 и соответствует требованиям MFA. Издатель в сертификате соответствует настроенному значению CN=WoodgroveCA и удовлетворяет однофакторной аутентификации.
Так как правило OID политики имеет приоритет над правилом издателя, сертификат удовлетворяет MFA.
Политика условного доступа для пользователя требует MFA и сертификат удовлетворяет MFA, чтобы пользователь смог войти в приложение.
Проверка политики привязки имени пользователя
Политика привязки имени пользователя помогает проверить сертификат пользователя. Для политики привязки имени пользователя поддерживаются три привязки:
IssuerAndSerialNumber>certificateUserIdsIssuerAndSubject>certificateUserIdsSubject>certificateUserIds
По умолчанию Microsoft Entra ID сопоставляет Principal Name в сертификате с userPrincipalName в объекте пользователя для определения пользователя. Администратор политики проверки подлинности может переопределить значение по умолчанию и создать пользовательское сопоставление, как описано ранее.
Администратор политики проверки подлинности должен настроить новые привязки. Чтобы подготовиться, они должны убедиться, что правильные значения соответствующих привязок имени пользователя обновляются в certificateUserIds атрибуте объекта пользователя:
- Для облачных пользователей используйте API Центр администрирования Microsoft Entra или Microsoft Graph для обновления значения в
certificateUserIds. - Для локальных синхронизированных пользователей используйте Microsoft Entra Connect для синхронизации значений из локальной сети, следуя Правилам подключения Microsoft Entra Connect или синхронизируя значение
AltSecId.
Внимание
Формат значений издателя, субъекта и серийного номера должен быть в обратном порядке их формата в сертификате. Не добавляйте пробелы в значения издателя или субъекта .
Сопоставление издателя и серийного номера вручную
В следующем примере демонстрируется сопоставление издателя и серийного номера вручную.
Добавляемое значение издателя :
C=US,O=U.SGovernment,OU=DoD,OU=PKI,OU=CONTRACTOR,CN=CRL.BALA.SelfSignedCertificate
Чтобы получить правильное значение для серийного номера, выполните следующую команду. Сохраните значение, показанное в certificateUserIds.
Синтаксис команды:
certutil –dump –v [~certificate path~] >> [~dumpFile path~]
Например:
certutil -dump -v firstusercert.cer >> firstCertDump.txt
Вот пример команды для certutil.
certutil -dump -v C:\save\CBA\certs\CBATestRootProd\mfausercer.cer
X509 Certificate:
Version: 3
Serial Number: 48efa06ba8127299499b069f133441b2
b2 41 34 13 9f 06 9b 49 99 72 12 a8 6b a0 ef 48
Значение серийного номера для добавления в certificateUserId.
b24134139f069b49997212a86ba0ef48
Значение certificateUserIds :
X509:<I>C=US,O=U.SGovernment,OU=DoD,OU=PKI,OU=CONTRACTOR,CN=CRL.BALA.SelfSignedCertificate<SR> b24134139f069b49997212a86ba0ef48
Сопоставление издателя и субъекта вручную
В следующем примере показывается ручное сопоставление издателя и субъекта.
Значение Издателя :
Значение темы :
<с1><с0>
Значение certificateUserId :
X509:<I>C=US,O=U.SGovernment,OU=DoD,OU=PKI,OU=CONTRACTOR,CN=CRL.BALA.SelfSignedCertificate<S> DC=com,DC=contoso,DC=corp,OU=UserAccounts,CN=FirstUserATCSession
Ручное сопоставление тем
В следующем примере показано ручное сопоставление тем.
Значение темы :
Значение certificateUserIds :
X509:<S>DC=com,DC=contoso,DC=corp,OU=UserAccounts,CN=FirstUserATCSession
Проверка привязки сходства
Войдите в Центр администрирования Microsoft Entra с учетной записью, которой назначена как минимум роль Authentication Policy Administrator.
Перейдите к Entra ID>Методы аутентификации>Политики.
В разделе "Управление" выберите методы>проверки подлинности на основе сертификатов.
Выберите "Настроить".
Установите обязательное связывание аффинности на уровне арендатора.
Внимание
Будьте осторожны с параметром сходства для всех арендаторов. Вы можете заблокировать весь клиент, если изменить значение обязательной привязки affinity для клиента, и у вас нет правильных значений в объекте пользователя. Аналогичным образом, если вы создаете пользовательское правило, которое применяется ко всем пользователям и требует высокоафинной привязки, это может заблокировать пользователей арендатора.
Чтобы проверить, для обязательной привязки по сходству выберите Низкий.
Добавьте привязку с высоким сходством, например идентификатор ключа субъекта (SKI). В разделе привязки имени пользователя выберите "Добавить правило".
Выберите SKI и нажмите кнопку "Добавить".
По завершении правило выглядит примерно так:
Для всех пользовательских объектов обновите
certificateUserIdsатрибут с правильным значением SKI из сертификата пользователя.Дополнительные сведения см. в статье "Поддерживаемые шаблоны для сертификатовUserID".
Создайте настраиваемое правило для привязки аутентификации.
Нажмите кнопку "Добавить".
Убедитесь, что завершенное правило выглядит примерно так:
Обновите значение пользователя
certificateUserIdsс правильным значением SKI из сертификата и идентификатора политики9.8.7.5.Проверьте с помощью сертификата с идентификатором политики
9.8.7.5. Убедитесь, что пользователь прошел проверку подлинности с помощью привязки SKI и что им будет предложено войти с помощью MFA и только сертификата.
Настройка CBA с помощью API Microsoft Graph
Чтобы настроить CBA и конфигурировать привязки имен пользователей с помощью API Microsoft Graph:
Перейдите к Microsoft Graph Explorer.
Выберите Войти в Graph Explorer и выполните вход в свою учетную запись арендатора.
Выполните действия, чтобы предоставить согласие на
Policy.ReadWrite.AuthenticationMethodделегированное разрешение.Получение всех методов проверки подлинности:
GET https://graph.microsoft.com/v1.0/policies/authenticationmethodspolicyПолучите конфигурацию для метода проверки подлинности сертификата X.509:
GET https://graph.microsoft.com/v1.0/policies/authenticationmethodspolicy/authenticationMethodConfigurations/X509CertificateПо умолчанию метод проверки подлинности сертификата X.509 отключен. Чтобы разрешить пользователям входить с помощью сертификата, необходимо включить метод проверки подлинности и настроить политики проверки подлинности и привязки имени пользователя с помощью операции обновления. Чтобы обновить политику, выполните
PATCHзапрос.Основное содержание запроса
PATCH https://graph.microsoft.com/v1.0/policies/authenticationMethodsPolicy/authenticationMethodConfigurations/x509Certificate Content-Type: application/json { "@odata.type": "#microsoft.graph.x509CertificateAuthenticationMethodConfiguration", "id": "X509Certificate", "state": "enabled", "certificateUserBindings": [ { "x509CertificateField": "PrincipalName", "userProperty": "onPremisesUserPrincipalName", "priority": 1 }, { "x509CertificateField": "RFC822Name", "userProperty": "userPrincipalName", "priority": 2 }, { "x509CertificateField": "PrincipalName", "userProperty": "certificateUserIds", "priority": 3 } ], "authenticationModeConfiguration": { "x509CertificateAuthenticationDefaultMode": "x509CertificateSingleFactor", "rules": [ { "x509CertificateRuleType": "issuerSubject", "identifier": "CN=WoodgroveCA ", "x509CertificateAuthenticationMode": "x509CertificateMultiFactor" }, { "x509CertificateRuleType": "policyOID", "identifier": "1.2.3.4", "x509CertificateAuthenticationMode": "x509CertificateMultiFactor" } ] }, "includeTargets": [ { "targetType": "group", "id": "all_users", "isRegistrationRequired": false } ] }Убедитесь, что код ответа
204 No contentвозвращается. Повторно выполнитеGETзапрос, чтобы убедиться, что политики обновлены правильно.Проверьте конфигурацию, войдя в систему с помощью сертификата, удовлетворяющего политике.
Настройка CBA с помощью Майкрософт PowerShell
Откройте средство PowerShell.
Подключение к Microsoft Graph:
Connect-MgGraph -Scopes "Policy.ReadWrite.AuthenticationMethod"Создайте переменную для определения группы для пользователей CBA:
$group = Get-MgGroup -Filter "displayName eq 'CBATestGroup'"Определите текст запроса:
$body = @{ "@odata.type" = "#microsoft.graph.x509CertificateAuthenticationMethodConfiguration" "id" = "X509Certificate" "state" = "enabled" "certificateUserBindings" = @( @{ "@odata.type" = "#microsoft.graph.x509CertificateUserBinding" "x509CertificateField" = "SubjectKeyIdentifier" "userProperty" = "certificateUserIds" "priority" = 1 }, @{ "@odata.type" = "#microsoft.graph.x509CertificateUserBinding" "x509CertificateField" = "PrincipalName" "userProperty" = "UserPrincipalName" "priority" = 2 }, @{ "@odata.type" = "#microsoft.graph.x509CertificateUserBinding" "x509CertificateField" = "RFC822Name" "userProperty" = "userPrincipalName" "priority" = 3 } ) "authenticationModeConfiguration" = @{ "@odata.type" = "#microsoft.graph.x509CertificateAuthenticationModeConfiguration" "x509CertificateAuthenticationDefaultMode" = "x509CertificateMultiFactor" "rules" = @( @{ "@odata.type" = "#microsoft.graph.x509CertificateRule" "x509CertificateRuleType" = "policyOID" "identifier" = "1.3.6.1.4.1.311.21.1" "x509CertificateAuthenticationMode" = "x509CertificateMultiFactor" } ) } "includeTargets" = @( @{ "targetType" = "group" "id" = $group.Id "isRegistrationRequired" = $false } ) } | ConvertTo-Json -Depth 5PATCHВыполните запрос:Invoke-MgGraphRequest -Method PATCH -Uri "https://graph.microsoft.com/v1.0/policies/authenticationMethodsPolicy/authenticationMethodConfigurations/x509Certificate" -Body $body -ContentType "application/json"
Связанный контент
- Обзор Microsoft Entra CBA
- Технические концепции Microsoft Entra CBA
- Ограничения использования Microsoft Entra CBA
- Вход в Windows с помощью смарт-карты через Microsoft Entra CBA
- Microsoft Entra CBA на мобильных устройствах (Android и iOS)
- Идентификаторы пользователей для сертификата
- Перенос федеративных пользователей
- Вопросы и ответы