Настройка проверки подлинности на основе сертификатов Microsoft Entra
Проверка подлинности на основе сертификатов (CBA) Microsoft Entra позволяет организациям настраивать свои клиенты Microsoft Entra, чтобы разрешить или требовать аутентификацию пользователей с помощью сертификатов X.509, созданных инфраструктурой открытых ключей предприятия (PKI) для входа в приложение и браузер. Эта функция позволяет организациям принимать фишингозащищенную современную проверку подлинности без пароля с помощью сертификата x.509.
Во время входа пользователи также видят возможность проверки подлинности с помощью сертификата вместо ввода пароля. Если на устройстве имеется несколько соответствующих сертификатов, пользователь может выбрать тот, который следует использовать. Сертификат проверяется в учетной записи пользователя, и в случае успешной проверки они входят в систему.
Следуйте этим инструкциям, чтобы настроить и использовать Microsoft Entra CBA для арендаторов в планах Office 365 корпоративных и государственных организаций США. У вас уже должна быть настроена инфраструктура открытых ключей (PKI).
Предварительные условия
Убедитесь, что выполнены следующие предварительные условия:
- Настройте по крайней мере один центр сертификации (ЦС) и все промежуточные ЦС в идентификаторе Microsoft Entra.
- Пользователь должен иметь доступ к пользовательскому сертификату (выданному надежной инфраструктурой открытого ключа, настроенной на арендаторе), предназначенному для клиентской аутентификации в системе Microsoft Entra ID.
- Каждый центр сертификации должен иметь список отзыва сертификатов (CRL), на который можно сослаться с помощью URL-адреса для Интернета. Если у доверенного Центра сертификации (ЦС) не настроен список отозванных сертификатов (CRL), Microsoft Entra ID не выполняет проверку этого списка, отзыв пользовательских сертификатов не работает, а аутентификация не блокируется.
Внимание
Убедитесь, что PKI является безопасным и не может быть легко скомпрометирован. В случае компрометации злоумышленник может создавать и подписывать клиентские сертификаты, тем самым ставя под угрозу любого пользователя в клиенте, включая как синхронизированных из локальной сети, так и только облачных пользователей. Однако надежная стратегия защиты ключей, а также другие физические и логические элементы управления, такие как карточки активации HSM или маркеры для безопасного хранения артефактов, могут обеспечить глубину защиты, чтобы предотвратить внешних злоумышленников или внутренние угрозы от ущерба целостности PKI. Дополнительные сведения см. в разделе Обеспечение безопасности PKI.
Внимание
Ознакомьтесь с рекомендациями Майкрософт по использованию шифрования Майкрософт, включая выбор алгоритма, длину ключа и защиту данных. Обязательно используйте один из рекомендуемых алгоритмов, длины ключей и утвержденных кривых NIST.
Внимание
В рамках текущих улучшений безопасности конечные точки Azure/M365 добавляют поддержку TLS1.3, и этот процесс, как ожидается, займет несколько месяцев, чтобы покрыть тысячи конечных точек службы в Azure/M365. Это включает конечную точку 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. По этой причине важно учитывать, как и когда ЦС могут выдавать сертификаты, а также как они реализуют повторно используемые идентификаторы. Если администраторам необходимо убедиться, что для проверки подлинности пользователя может использоваться только определенный сертификат, администраторы должны использовать исключительно привязки высокого соответствия для достижения более высокого уровня гарантии того, что только определенный сертификат может пройти проверку подлинности пользователя. Для получения дополнительной информации см. высокосродственные связи.
Действия по настройке и тестированию Microsoft Entra CBA
Перед включением Microsoft Entra CBA необходимо выполнить некоторые действия по настройке. Сначала администратор должен настроить доверенные ЦС, выдающие сертификаты пользователей. Как показано на следующей схеме, мы используем управление доступом на основе ролей, чтобы убедиться, что только администраторы с минимальными привилегиями необходимы для внесения изменений.
Внимание
Microsoft рекомендует использовать роли с наименьшим количеством разрешений. Эта практика помогает повысить безопасность вашей организации. Глобальный администратор — это высоко привилегированная роль, которая должна быть ограничена сценариями чрезвычайных ситуаций или если вы не можете использовать существующую роль.
При необходимости можно также настроить привязки проверки подлинности для сопоставления сертификатов с однофакторной или многофакторной проверкой подлинности и настроить привязки имени пользователя для сопоставления поля сертификата с атрибутом объекта пользователя. Администраторы политики проверки подлинности могут настраивать параметры, связанные с пользователем. После завершения всех конфигураций включите Microsoft Entra CBA в клиенте.
Шаг 1. Настройка центров сертификации с помощью хранилища доверия на основе PKI (предварительная версия)
Entra имеет новое хранилище сертификатов центров сертификации на основе инфраструктуры открытых ключей (PKI). Хранилище доверенных центров сертификации (ЦС) на основе PKI сохраняет ЦС в объекте-контейнере для каждой отдельной PKI. Администраторы могут управлять центрами сертификации в контейнере на основе PKI проще, чем один неструктурированный список ЦС.
Хранилище доверия на основе PKI имеет более высокие ограничения для количества удостоверяющих центров (ЦС) и размера каждого файла ЦС. Хранилище доверия на основе PKI поддерживает до 250 центров сертификации (ЦС) и 8 килобайт для каждого объекта ЦС. Мы настоятельно рекомендуем использовать новое хранилище доверия на основе PKI для хранения ЦС, которое является масштабируемым и поддерживает новые функции, такие как указания издателя.
Примечание.
Если вы используете старое хранилище доверия для настройки ЦС, мы рекомендуем настроить хранилище доверия на основе PKI.
Администратор должен настроить доверенные ЦС, которые выдают сертификаты пользователей. Для внесения изменений необходимы только наименее привилегированные администраторы. В хранилище доверия на основе PKI предусмотрена роль RBAC : Администратор аутентификации привилегий.
Функция загрузки PKI в хранилище доверия на основе PKI доступна только при наличии лицензии Microsoft Entra ID P1 или P2. Однако с бесплатной лицензией администраторы могут отправлять все ЦС отдельно вместо PKI-файла и настраивать хранилище доверия на основе PKI.
Настройка центров сертификации с помощью Центра администрирования Microsoft Entra
Создание объекта контейнера PKI
Создайте объект контейнера PKI.
Войдите в Центр администрирования Microsoft Entra в качестве администратора проверки подлинности привилегий.
Перейдите к разделу "Защита"
"Показать больше" "Центр безопасности" (или "Оценка безопасности личности" ) "Инфраструктура открытых ключей (Предварительная версия)" . Нажмите кнопку + Создать PKI.
Введите отображаемое имя.
Нажмите кнопку Создать.
Выберите столбцы для добавления или удаления столбцов.
Выберите "Обновить", чтобы обновить список PKIs.
Удаление объекта контейнера PKI
Чтобы удалить PKI, выберите PKI и нажмите кнопку "Удалить". Если В PKI есть ЦС, введите имя PKI, чтобы подтвердить удаление всех ЦС в нем и нажмите кнопку "Удалить".
Загрузите отдельные ЦС в объект контейнера инфраструктуры открытых ключей (PKI)
- Чтобы загрузить сертификат удостоверяющего центра в контейнер PKI:
Нажмите кнопку + Добавить центр сертификации.
Выберите файл Центра Сертификации.
Выберите Да, если ЦС является корневым сертификатом, в противном случае выберите Нет.
Для URL-адреса списка отзыва сертификатов укажите внешний URL-адрес для базового списка отзыва сертификатов ЦС, который содержит все отозванные сертификаты. Если URL-адрес не задан, проверка подлинности с отозванными сертификатами не приводит к ошибке.
Для URL-адреса списка отзыва дельта-сертификатов установите адрес, доступный в Интернете, для списка отзыва сертификатов, содержащего все отозванные сертификаты с момента публикации последнего базового списка отзыва.
Флаг подсказок эмитента включен по умолчанию. Отключите подсказки издателя, если ЦС не следует включать в подсказки издателя.
Выберите Сохранить.
Чтобы удалить сертификат ЦС, выберите сертификат и нажмите кнопку "Удалить".
Выберите столбцы для добавления или удаления столбцов.
Выберите "Обновить", чтобы обновить список центров сертификации.
Отправка всех ЦС с отправкой PKI в объект контейнера PKI
Чтобы отправить все ЦС одновременно в контейнер PKI, выполните следующие действия.
- Создайте объект контейнера PKI или откройте его.
- Выберите " Отправить PKI".
- Введите URL-адрес HTTP для доступа в интернет, где доступен файл .p7b.
- Введите контрольную сумму SHA256 файла.
- Выберите отправку.
- Отправка PKI — это асинхронный процесс. По мере того, как загружается каждый центр сертификации (ЦС), он становится доступен в PKI. Завершение отправки PKI может занять до 30 минут.
- Выберите Обновить, чтобы обновить центры сертификации.
Чтобы создать контрольную сумму SHA256 PKI P7b-файла, выполните следующую команду:
Get-FileHash .\CBARootPKI.p7b -Algorithm SHA256
Изменение PKI
- Чтобы изменить PKI, выберите ... , в строке PKI и нажмите кнопку "Изменить".
- Введите новое имя PKI и нажмите кнопку "Сохранить".
Редактирование Центра Сертификации
- Чтобы изменить ЦС, выберите ... в строке ЦС и нажмите кнопку "Изменить".
- Введите новые значения для типа центра сертификации (корневого или промежуточного), URL-адреса CRL и delta CRL, флаг включения подсказок издателя при необходимости, и нажмите Сохранить.
Восстановление PKI
- Выберите вкладку Удаленные PKIs.
- Выберите PKI и выберите "Восстановить PKI".
Восстановление удостоверяющего центра
- Выберите вкладку "Удаленные УЦ".
- Выберите файл Центра сертификации и нажмите Восстановить центр сертификации.
Понимание атрибута isIssuerHintEnabled в Центре сертификации
Указания издателя передают указание доверенного удостоверяющего центра в рамках обмена данными протокола транспортного уровня безопасности (TLS). Список доверенных удостоверяющих центров устанавливается на основе удостоверяющих центров, загруженных арендатором в хранилище доверия Entra. Дополнительные сведения о указаниях издателя см. в разделе "Общие сведения о подсказках издателя".
По умолчанию имена субъектов всех центров сертификации в хранилище доверия Microsoft Entra отправляются в качестве указаний.
Если вы хотите отправить обратную подсказку только с определенными центрами сертификации, задайте атрибуту isIssuerHintEnabled значение true
.
Существует ограничение в 16 КБ для подсказок удостоверяющего центра (имя субъекта удостоверяющего центра), которые сервер может отправить обратно клиенту TLS. Рекомендуется задать для атрибута isIssuerHintEnabled значение true только для ЦС, которые выдают сертификаты пользователей.
Если несколько промежуточных ЦС из одного корневого сертификата выдают сертификаты конечных пользователей, то по умолчанию все сертификаты отображаются в средство выбора сертификатов. Но если задано значение isIssuerHintEnabled как true
для определенных центров сертификации, в средство выбора сертификатов отображаются только соответствующие пользовательские сертификаты. Чтобы включить isIssuerHintEnabled, измените ЦС и обновите значение до true
.
Настройка центров сертификации с помощью API Microsoft Graph
API Microsoft Graph можно использовать для настройки центров сертификации. В следующих примерах показано, как использовать Microsoft Graph для выполнения операций создания, чтения, обновления или удаления (CRUD) для PKI или ЦС.
Создание объекта контейнера PKI
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/microsoftgraph/installation).
Запустите PowerShell с правами администратора.
Установите и импортируйте пакет SDK Microsoft Graph PowerShell.
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>
Журнал аудита
Все операции CRUD в отношении PKI или ЦС в хранилище доверия записываются в журналы аудита Microsoft Entra.
Вопросы и ответы
Вопрос. Почему отправка PKI завершается ошибкой?
Ответ. Проверьте, является ли PKI-файл допустимым и доступен без каких-либо проблем. Максимальный размер PKI-файла должен быть
Вопрос. Что такое соглашение об уровне обслуживания (SLA) для отправки PKI?
Ответ. Отправка PKI — это асинхронная операция и может занять до 30 минут для завершения.
Вопрос. Как создать контрольную сумму SHA256 для PKI-файла?
Ответ. Чтобы создать контрольную сумму SHA256 файла PKI.p7b, выполните следующую команду:
Get-FileHash .\CBARootPKI.p7b -Algorithm SHA256
Шаг 2. Включение CBA в клиенте
Внимание
Пользователь считается включённым в область действия для MFA, если он подпадает под действие аутентификации на основе сертификатов в политике методов аутентификации. Это требование политики означает, что пользователь не может использовать подтверждение учетных данных как часть своей аутентификации для регистрации других доступных методов. Если у пользователей нет доступа к сертификатам, они заблокируются и не могут зарегистрировать другие методы для MFA. Администраторы политики проверки подлинности должны включить CBA только для пользователей, имеющих допустимые сертификаты. Не добавляйте всех пользователей для CBA. Используйте только группы пользователей с допустимыми сертификатами. Дополнительные сведения см. в разделе Многофакторная проверка подлинности Microsoft Entra.
Чтобы включить CBA в Центре администрирования Microsoft Entra, выполните следующие действия.
Войдите в Центр администрирования Microsoft Entra в роли по крайней мере Администратора политики проверки подлинности.
Перейдите к Группы>Все группы>, выберите Новая группа и создайте группу для пользователей CBA.
Перейдите к Защита>Методы аутентификации>Аутентификация на основе сертификатов.
В разделе "Включение и цели" выберите "Включить" и нажмите "Подтверждаю".
Щелкните Выберите группы, щелкните Добавить группы.
Выберите определенные группы, например ту, которую вы создали, и щелкните Выбрать. Используйте определенные группы, а не все пользователи.
По завершении нажмите кнопку Сохранить.
После включения проверки подлинности на основе сертификатов в клиенте все пользователи в клиенте видят возможность входа с помощью сертификата. Только пользователи, которые включены для CBA, могут пройти проверку подлинности с помощью сертификата X.509.
Примечание.
Администратор сети должен разрешить доступ к конечной точке certauth для облачной среды клиента в дополнение к login.microsoftonline.com
. Отключите проверку TLS в конечной точке certauth, чтобы обеспечить успешное выполнение запроса клиентского сертификата в рамках обмена TLS.
Шаг 3. Настройка политики привязки аутентификации
Политика привязки проверки подлинности помогает определить силу проверки подлинности на один фактор или мультифактор. Уровень защиты по умолчанию для всех сертификатов тенанта однофакторная аутентификация. Привязка аффинности по умолчанию на уровне арендатора — низкая. Администратор политики проверки подлинности может изменить значение по умолчанию с однофакторной на многофакторную, и если изменения внесены, все сертификаты арендатора будут считаться принадлежащими к сильной многофакторной аутентификации. Аналогичным образом привязка сходства на уровне клиента может иметь значение high, что означает, что все сертификаты будут проверены с использованием только атрибутов сходства.
Внимание
Администратор должен задать значение по умолчанию для арендатора, применимое для большинства сертификатов, и создавать пользовательские правила только для определенных сертификатов, которым требуется другой уровень защиты и/или привязка по сродству, чем значение по умолчанию арендатора. Все конфигурации методов проверки подлинности попадают в один и тот же файл политики, поэтому создание нескольких избыточных правил может попасть в ограничение файла политики.
Правила привязки проверки подлинности сопоставляют атрибуты сертификата, такие как издатель, идентификатор объекта политики (OID) или идентификатор издателя и объекта политики, со значением, а также выбирают уровень защиты и привязку сходства по умолчанию для этого правила. Чтобы изменить параметры клиента по умолчанию и создать настраиваемые правила в Центре администрирования Microsoft Entra, выполните следующие действия.
Войдите в Центр администрирования Microsoft Entra в роли по крайней мере Администратора политики проверки подлинности.
Перейдите к Защита>Методы аутентификации>Политики.
В разделе Управление выберите Методы проверки подлинности>Проверка подлинности на основе сертификатов.
Выберите "Настроить", чтобы настроить привязку проверки подлинности и привязку имени пользователя.
Атрибут уровня защиты имеет значение по умолчанию Однофакторная проверка подлинности. Выберите многофакторную проверку подлинности , чтобы изменить значение по умолчанию на MFA.
Примечание.
Значение уровня защиты по умолчанию действует, если пользовательские правила не добавляются. Если добавляются пользовательские правила, вместо этого учитывается уровень защиты, определенный на уровне правила.
Вы также можете настроить пользовательские правила привязки аутентификации, чтобы определить уровень защиты для клиентских сертификатов, которым требуются различные значения уровня защиты или аффинити-привязки по сравнению с настройками по умолчанию арендатора. Правила можно настроить с помощью субъекта-издателя или идентификатора политики или обоих полей в сертификате.
Правила связывания аутентификации сопоставляют атрибуты сертификата (такого как издатель или OID политики) со значением и выбирают уровень защиты по умолчанию для этого правила. Можно создать несколько правил. Для конфигурации ниже предположим, что значением по умолчанию арендатора является Многофакторная проверка подлинности и Связывание с низкой аффинностью.
Чтобы добавить настраиваемые правила, нажмите кнопку "Добавить правило".
Чтобы создать правило издателем сертификатов, выберите издателя сертификатов.
Выберите Идентификатор издателя сертификата в списке.
Выберите многофакторную аутентификацию и связывание с высокой аффинностью, затем щелкните Добавить. Когда появится запрос, нажмите кнопку " Подтвердить ", чтобы завершить добавление правила.
Чтобы создать правило по Policy OID, выберите Policy OID.
Введите значение для OID политики.
Выберите однофакторную аутентификацию, связывание с низким сродством, а затем щелкните Добавить. Когда появится запрос, нажмите кнопку " Подтвердить ", чтобы завершить добавление правила.
Чтобы создать правило в соответствии с издателем и OID политики, выполните следующие действия.
Выберите издателя сертификатов и идентификатор политики.
Выберите издателя и введите идентификатор политики.
Для проверки уровня подлинности выберите Многофакторную проверку подлинности.
Для аффинити-привязки выберите High.
Выберите Добавить.
Аутентифицируйтесь с помощью сертификата с OID политики 3.4.5.6, выданного CN=CBATestRootProd. Проверка подлинности должна пройти успешно и получить многофакторное подтверждение.
Внимание
Известна проблема, при которой администратор политики аутентификации арендатора Microsoft Entra настраивает правило политики аутентификации CBA, используя как издателя, так и идентификатор политики (OID). Проблема влияет на некоторые сценарии регистрации устройств, в том числе:
- Регистрация Windows Hello for Business
- Регистрация ключа безопасности FIDO2
- Вход без пароля Windows через телефон
Регистрация устройств с Workplace Join, Microsoft Entra ID и в гибридных сценариях присоединения к Microsoft Entra не затрагиваются. Правила политики проверки подлинности CBA, использующие OID издателя или OID политики, не затрагиваются. Чтобы устранить проблему, администраторы должны:
- Измените правила политики проверки подлинности на основе сертификатов, использующие параметры OID издателя и политики. Удалите требование для идентификатора издателя или идентификатора политики OID и сохраните. -или-
- Удалите правило политики проверки подлинности, которое использует как идентификатор издателя, так и идентификатор объекта политики (OID). Создайте правила, использующие только издателя или идентификатор политики.
Мы работаем над устранением проблемы.
Чтобы создать правило по издателю и серийному номеру, выполните приведенные ниже действия.
Добавьте политику привязки аутентификации. Политика требует, чтобы любой сертификат, выданный CN=CBATestRootProd с policyOID 1.2.3.4.6, требовал только высокоаффинного связывания. Используются эмитент и серийный номер.
Выберите поле сертификата. В этом примере выберите издателя и серийный номер.
Единственным поддерживаемым атрибутом пользователя является CertificateUserIds. Выберите Добавить.
Выберите Сохранить.
В журнале входа показано, какая привязка использовалась для входа, а также сведения из сертификата.
Нажмите кнопку "ОК ", чтобы сохранить любое настраиваемое правило.
Внимание
Введите PolicyOID с помощью формата идентификатора объекта. Например, если политика сертификата говорит Все политики выпуска, введите OID как 2.5.29.32.0 при добавлении правила. Строка Все политики выдачи является недопустимой для редактора правил и не вступает в силу.
Шаг 4. Настройка политики привязки имени пользователя
Политика привязки имени пользователя помогает проверить сертификат пользователя. По умолчанию мы сопоставляем основное имя в сертификате с UserPrincipalName в объекте пользователя, чтобы определить пользователя.
Администратор политики проверки подлинности может переопределить значение по умолчанию и создать настраиваемое сопоставление. Сведения о настройке привязки имени пользователя см. в статье о том, как работает привязка имени пользователя.
В других сценариях, использующих атрибут certificateUserIds, смотрите Идентификаторы пользователей сертификата.
Внимание
Если политика привязки имени пользователя использует синхронизированные атрибуты, такие как certificateUserIds, onPremisesUserPrincipalName и userPrincipalName объекта пользователя, помните, что учетные записи с правами администратора в Active Directory (например, с делегированными правами на объекты пользователя или права администратора на сервере Microsoft Entra Connect) могут внести изменения, влияющие на эти атрибуты в идентификаторе Microsoft Entra ID.
Создайте привязку имени пользователя, выбрав одно из полей сертификата X.509 для привязки к одному из атрибутов пользователя. Порядок привязки имени пользователя представляет уровень приоритета привязки. Первый имеет самый высокий приоритет и т. д.
Если указанное поле сертификата X.509 найдено в сертификате, но идентификатор Microsoft Entra id не находит объект пользователя, используя это значение, проверка подлинности завершается ошибкой. Идентификатор Microsoft Entra пытается выполнить следующую привязку в списке.
Выберите Сохранить, чтобы сохранить изменения.
Последняя конфигурация выглядит следующим образом:
Шаг 5. Проверка конфигурации
В этом разделе рассматривается, как тестировать ваш сертификат и пользовательские правила привязки аутентификации.
Проверка сертификата
В качестве первой проверки конфигурации следует попытаться войти на портал MyApps с помощью браузера на устройстве.
Введите основное имя пользователя (UPN).
Выберите Далее.
Если вы включили другие методы проверки подлинности, такие как вход в Телефон или FIDO2, пользователи могут увидеть другой экран входа.
Выберите Войти с помощью сертификата.
Выберите правильный сертификат пользователя в пользовательском интерфейсе средства выбора сертификатов клиента и нажмите кнопку "ОК".
Пользователи должны войти на портал MyApps.
Успешный вход подтверждает, что:
- Сертификат пользователя установлен на тестовом устройстве.
- Идентификатор Microsoft Entra правильно сконфигурирован с доверенными центрами сертификации.
- привязка имени пользователя настроена правильно, и пользователь найден и прошел проверку подлинности.
Тестирование пользовательских правил привязки аутентификации
Давайте рассмотрим сценарий, в котором мы подтверждаем прочную проверку подлинности. Мы создадим два правила политики аутентификации: одно с использованием идентификатора издателя для удовлетворения условий однофакторной аутентификации, а другое — с помощью идентификатора политики (OID) для удовлетворения условий многофакторной аутентификации.
Создайте правило субъекта издателя с уровнем защиты, равным однофакторной аутентификации, и значением, установленным для значения субъекта ваших ЦС. Например:
CN = WoodgroveCA
Создайте правило OID политики с уровнем защиты многофакторной аутентификации, указав значение как один из OID политики в вашем сертификате. Например, 1.2.3.4.
Создайте политику условного доступа для пользователя, чтобы требовать многофакторную проверку подлинности, выполнив действия по условному доступу. Требуется многофакторная проверка подлинности.
Перейдите на портал MyApps. Введите UPN и нажмите Далее.
Выберите Войти с помощью сертификата.
Если вы включили другие методы проверки подлинности, такие как вход в Телефон или ключи безопасности, пользователи могут увидеть другой экран входа.
Выберите сертификат клиента и выберите сведения о сертификате.
Появится сертификат, и вы можете проверить значения OID выдавшего органа и политики.
Чтобы просмотреть значения OID политики, выберите "Сведения".
Выберите сертификат клиента и нажмите кнопку "ОК".
Идентификатор политики в сертификате соответствует настроенном значению 1.2.3.4 и удовлетворяет многофакторной проверке подлинности. Аналогичным образом издатель в сертификате соответствует настроенному значению CN=WoodgroveCA и соответствует требованиям однофакторной аутентификации.
Так как правило OID политики имеет приоритет над правилом издателя, сертификат удовлетворяет многофакторной проверке подлинности.
Политика условного доступа для пользователя требует многофакторной проверки подлинности и сертификат удовлетворяет многофакторной проверке подлинности, чтобы пользователь смог войти в приложение.
Проверка политики привязки имени пользователя
Политика привязки имени пользователя помогает проверить сертификат пользователя. Для политики привязки имени пользователя поддерживаются три привязки:
- ИздательИСерийныйНомер>ИдентификаторыПользователейСертификатов
- IssuerAndSubject>CertificateUserIds
- Тема>СертификатныеИдентификаторыПользователей
По умолчанию идентификатор Microsoft Entra сопоставляет имя субъекта в сертификате с UserPrincipalName в объекте пользователя, чтобы определить пользователя. Администратор политики аутентификации может переопределить значение по умолчанию и создать пользовательское сопоставление, как было объяснено ранее.
Администратор политики проверки подлинности должен включить новые привязки. Чтобы подготовиться, они должны убедиться, что правильные значения соответствующих привязок имени пользователя обновляются в атрибуте CertificateUserIds объекта пользователя:
- Для облачных пользователей используйте центр администрирования Microsoft Entra или API 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
Значение SerialNumber, которое будет добавлено в CertificateUserId:
b24134139f069b49997212a86ba0ef48
CertificateUserId:
X509:<I>C=US,O=U.SGovernment,OU=DoD,OU=PKI,OU=CONTRACTOR,CN=CRL.BALA.SelfSignedCertificate<SR> b24134139f069b49997212a86ba0ef48
Ручное сопоставление вопросов и тем
Вот пример ручного сопоставления вопросов и тем. Значение издателя следующее:
Значение темы следующее:
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
Ручное сопоставление тем
Вот пример ручного сопоставления субъектов. Значение темы:
CertificateUserId:
X509:<S>DC=com,DC=contoso,DC=corp,OU=UserAccounts,CN=FirstUserATCSession
Проверка аффинитетного связывания
Войдите в Центр администрирования Microsoft Entra в роли по крайней мере Администратора политики проверки подлинности.
Перейдите к Защита>Методы аутентификации>Политики.
В разделе Управление выберите Методы проверки подлинности>Проверка подлинности на основе сертификатов.
Выберите Настроить.
Задайте Required Affinity Binding на уровне арендатора.
Внимание
Будьте осторожны с параметром сходства для всех арендаторов. Вы можете заблокировать всю учетную запись арендатора, если измените обязательную привязку аффинити для арендатора, и в объекте пользователя отсутствуют правильные значения. Подобным образом, если вы создаете пользовательское правило, которое применяется ко всем пользователям и требует высокой степени привязки, пользователи в тенанте могут оказаться заблокированными.
Чтобы протестировать, установите Требуемую совместную привязку на Низкое.
Добавьте связывание с высокой аффинностью, например SKI. Выберите " Добавить правило " в разделе привязки имени пользователя.
Выберите SKI и нажмите кнопку "Добавить".
По завершении правило выглядит следующим образом:
Обновите атрибут CertificateUserIds всех пользовательских объектов, чтобы получить правильное значение SKI из сертификата пользователя. Дополнительные сведения см. в статье "Поддерживаемые шаблоны для сертификатовUserID".
Создайте пользовательское правило для привязки аутентификации.
Выберите Добавить.
По завершении правило выглядит следующим образом:
Обновите идентификаторы CertificateUserIds пользователя, используя корректное значение SKI из сертификата с политикой OID 9.8.7.5.
Тестирование с сертификатом с политикой OID 9.8.7.5: пользователь должен пройти аутентификацию через привязку SKI и получить многофакторную аутентификацию исключительно с помощью сертификата.
Включение CBA с использованием API Microsoft Graph
Чтобы включить CBA и настроить привязки пользователей с помощью API Graph, выполните следующие действия.
Перейдите на Microsoft Graph Explorer.
Выберите "Войти в Graph Explorer" и войдите в свою учетную запись арендатора.
Следуйте инструкциям, чтобы дать согласие на делегированное разрешение Policy.ReadWrite.AuthenticationMethod.
Получите все способы проверки подлинности:
GET https://graph.microsoft.com/v1.0/policies/authenticationmethodspolicy
ПОЛУЧЕНИЕ конфигурации для метода проверки подлинности сертификата x509:
GET https://graph.microsoft.com/v1.0/policies/authenticationmethodspolicy/authenticationMethodConfigurations/X509Certificate
По умолчанию метод проверки подлинности сертификата x509 отключен. Чтобы разрешить пользователям выполнять вход с использованием сертификата, необходимо включить этот способ проверки подлинности и настроить политики привязки проверки подлинности и имен пользователя с помощью операции обновления. Чтобы обновить политику, выполните запрос 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 с помощью Microsoft 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 5
- Выполните запрос PATCH:
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 SmartCard с помощью Microsoft Entra CBA
- Microsoft Entra CBA на мобильных устройствах (Android и iOS)
- Идентификаторы пользователей сертификата
- Как перенести федеративных пользователей
- Вопросы и ответы