Поделиться через


Настройка проверки подлинности на основе сертификата Microsoft Entra

Ваша организация может реализовать фишинговую проверку подлинности, современную и без пароля через сертификаты X.509 с помощью проверки подлинности на основе сертификата Microsoft Entra (CBA).

В этой статье вы узнаете, как настроить клиент Microsoft Entra, чтобы разрешить или требовать аутентификацию пользователей клиента с помощью сертификатов X.509. Пользователь создает сертификат X.509 с помощью инфраструктуры открытых ключей предприятия (PKI) для входа в приложение и браузер.

При настройке Microsoft Entra CBA во время входа пользователь видит возможность проверки подлинности с помощью сертификата вместо ввода пароля. Если на устройстве находятся несколько соответствующих сертификатов, пользователь выбирает соответствующий сертификат, а сертификат проверяется в учетной записи пользователя. Если проверка выполнена успешно, пользователь входит в систему.

Выполните действия, описанные в этой статье, чтобы настроить и использовать Microsoft Entra CBA для клиентов в планах Office 365 корпоративных и государственных организаций США. У вас уже должен быть настроен PKI .

Предварительные условия

Убедитесь, что выполнены следующие предварительные условия:

  • По крайней мере один центр сертификации (ЦС) и все промежуточные центры сертификации настраиваются в идентификаторе Microsoft Entra.
  • Пользователь имеет доступ к сертификату пользователя, выданному доверенным PKI, настроенным в клиенте, предназначенном для проверки подлинности клиента в идентификаторе Microsoft Entra.
  • Каждый ЦС имеет список отзыва сертификатов (CRL), на который можно ссылаться из URL-адресов, подключенных к Интернету. Если у доверенного Центра сертификации (ЦС) не настроен список отозванных сертификатов (CRL), Microsoft Entra ID не выполняет проверку этого списка, отзыв пользовательских сертификатов не работает, а аутентификация не блокируется.

Соображения

  • Убедитесь, что PKI является безопасным и не может быть легко скомпрометирован. При возникновении нарушения злоумышленник может создавать и подписывать сертификаты клиента и компрометацию любого пользователя в клиенте, включая пользователей, синхронизированных из локальной среды. Надежная стратегия защиты ключей и другие физические и логические элементы управления могут обеспечить глубину защиты, чтобы предотвратить внешних злоумышленников или внутренние угрозы от компрометации целостности PKI. Дополнительные сведения см. в разделе "Защита PKI".

  • Рекомендации по шифрованию Майкрософт, включая выбор алгоритма, длину ключа и защиту данных, см. в рекомендациях Майкрософт. Обязательно используйте один из рекомендуемых алгоритмов, рекомендуемую длину ключа и утвержденные NIST кривые.

  • В рамках текущих улучшений безопасности конечные точки Azure и Microsoft 365 добавили поддержку TLS 1.3. Ожидается, что процесс займет несколько месяцев, чтобы покрыть тысячи конечных точек службы в 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.

    Важно учитывать, как и когда ЦС могут выдавать сертификаты и как они реализуют повторно используемые идентификаторы. Администраторы должны гарантировать, что для проверки подлинности пользователя может использоваться только определенный сертификат, но они должны использовать исключительно привязки с высоким сходством, чтобы обеспечить более высокий уровень уверенности, что только определенный сертификат может пройти проверку подлинности пользователя. Дополнительные сведения см. в разделе с привязками высокой сходства.

Настройка и проверка Microsoft Entra CBA

Перед включением Microsoft Entra CBA необходимо выполнить некоторые действия по настройке.

Администратор должен настроить доверенные ЦС, которые выдают сертификаты пользователей. Как показано на следующей схеме, Azure использует управление доступом на основе ролей (RBAC), чтобы гарантировать, что для внесения изменений требуются только наименее привилегированные администраторы.

Внимание

Microsoft рекомендует использовать роли с наименьшим количеством разрешений. Эта практика помогает повысить безопасность вашей организации. Глобальный администратор — это высоко привилегированная роль, которая должна быть ограничена сценариями чрезвычайных ситуаций или если вы не можете использовать существующую роль.

При необходимости можно настроить привязки проверки подлинности для сопоставления сертификатов с однофакторной проверкой подлинности или многофакторной проверкой подлинности (MFA). Настройте привязки имени пользователя для сопоставления поля сертификата с атрибутом объекта пользователя. Администратор политики проверки подлинности может настроить параметры, связанные с пользователем.

По завершении всех конфигураций включите Microsoft Entra CBA в клиенте.

Схема, показывающая общие сведения о шагах, необходимых для включения проверки подлинности на основе сертификата Microsoft Entra.

Шаг 1. Настройка ЦС с помощью хранилища доверия на основе PKI

Microsoft Entra имеет новое хранилище доверия ЦС на основе PKI. Хранилище доверия хранит ЦС внутри объекта контейнера для каждого PKI. Администраторы могут управлять центрами сертификации в контейнере на основе PKI проще, чем управлять неструктурированным списком ЦС.

Хранилище доверия на основе PKI имеет более высокие ограничения, чем классическое хранилище доверия для количества ЦС и размера каждого файла ЦС. Хранилище доверия на основе PKI поддерживает до 250 ЦС и 8 КБ для каждого объекта ЦС.

Если вы используете классическое хранилище доверия для настройки ЦС, настоятельно рекомендуется настроить хранилище доверия на основе PKI. Хранилище доверия на основе PKI можно масштабировать и поддерживает новые функциональные возможности, такие как подсказки издателя.

Администратор должен настроить доверенные ЦС, которые выдают сертификаты пользователей. Для внесения изменений требуются только наименее привилегированные администраторы. Хранилище доверия на основе PKI назначается роли администратора привилегированной проверки подлинности .

Функция отправки PKI в хранилище доверия на основе PKI доступна только с лицензией Microsoft Entra ID P1 или P2. Однако с бесплатной лицензией Microsoft Entra администратор может отправлять все ЦС отдельно, а не отправлять PKI-файл. Затем они могут настроить хранилище доверия на основе PKI и добавить отправленные файлы ЦС.

Настройка центров сертификации с помощью Центра администрирования Microsoft Entra

Создание объекта контейнера PKI (Центр администрирования Microsoft Entra)

Чтобы создать объект контейнера PKI, выполните приведенные действия.

  1. Войдите в Центр администрирования Microsoft Entra с учетной записью, назначенной ролью администратора привилегированной проверки подлинности .

  2. Перейдите винфраструктуру открытых ключейидентификатора entra ID>Secure Score>.

  3. Выберите "Создать PKI".

  4. В поле Отображаемое имя введите имя.

  5. Нажмите кнопку "Создать".

    Схема, на которую показаны шаги, необходимые для создания PKI.

  6. Чтобы добавить или удалить столбцы, выберите "Изменить столбцы".

  7. Чтобы обновить список PKIs, нажмите кнопку "Обновить".

Удаление объекта контейнера PKI

Чтобы удалить PKI, выберите PKI и нажмите кнопку "Удалить". Если PKI содержит ЦС, введите имя PKI, чтобы подтвердить удаление всех ЦС в PKI. Затем нажмите кнопку "Удалить".

Схема, показывая шаги, необходимые для удаления PKI.

Отправка отдельных центров сертификации в объект контейнера PKI

Чтобы отправить ЦС в контейнер PKI, выполните приведенные действия.

  1. Выберите "Добавить центр сертификации".

  2. Выберите файл Центра Сертификации.

  3. Если ЦС является корневым сертификатом, нажмите кнопку "Да". В противном случае нажмите кнопку "Нет".

  4. Для URL-адреса списка отзыва сертификатов введите URL-адрес для ЦС базового списка отзыва сертификатов, содержащий все отозванные сертификаты. Если URL-адрес не задан, попытка пройти проверку подлинности с помощью отозванного сертификата не завершается ошибкой.

  5. Для URL-адреса списка отзыва разностных сертификатов введите URL-адрес списка отзыва сертификатов в Интернете, содержащий все отозванные сертификаты с момента публикации последнего базового списка отзыва сертификатов.

  6. Если ЦС не следует включать в подсказки издателя, отключите подсказки издателя. Флаг подсказки издателя по умолчанию отключен.

  7. Нажмите кнопку "Сохранить".

  8. Чтобы удалить ЦС, выберите ЦС и нажмите кнопку "Удалить".

    Схема, демонстрирующая удаление сертификата ЦС.

  9. Чтобы добавить или удалить столбцы, выберите "Изменить столбцы".

  10. Чтобы обновить список PKIs, нажмите кнопку "Обновить".

Изначально отображаются 100 сертификатов ЦС. Больше отображается при прокрутке вниз области.

Отправка всех ЦС в объект контейнера PKI

Чтобы выполнить массовую отправку всех ЦС в контейнер PKI:

  1. Создайте объект контейнера PKI или откройте существующий контейнер.

  2. Выберите "Отправить PKI".

  3. Введите URL-адрес HTTP для доступа к Интернету .p7b файла.

  4. Введите контрольную сумму SHA-256 файла.

  5. Выберите отправку.

    Процесс отправки PKI является асинхронным. По мере того, как загружается каждый центр сертификации (ЦС), он становится доступен в PKI. Вся отправка PKI может занять до 30 минут.

  6. Выберите "Обновить", чтобы обновить список центров сертификации.

  7. Каждый загруженный атрибут конечной точки ЦС CRL обновляется с помощью первого доступного HTTP-URL-адреса сертификата ЦС, указанного в качестве атрибута точек распространения CRL . Необходимо вручную обновить все конечные сертификаты.

Чтобы создать контрольную сумму SHA-256 PKI-файла .p7b , выполните следующую команду:

Get-FileHash .\CBARootPKI.p7b -Algorithm SHA256

Изменение PKI

  1. В строке PKI выберите ... и нажмите кнопку "Изменить".
  2. Введите новое имя PKI.
  3. Нажмите кнопку "Сохранить".

Редактирование Центра Сертификации

  1. В строке ЦС выберите ... и нажмите кнопку "Изменить".
  2. Введите новые значения для типа ЦС (корневого или промежуточного), URL-адреса CRL, URL-адреса разностного списка отзыва сертификатов или флага с поддержкой издателя в соответствии с вашими требованиями.
  3. Нажмите кнопку "Сохранить".

Массовое редактирование атрибута указания издателя

  1. Чтобы изменить несколько центров сертификации и включить или отключить включенный атрибут подсказки издателя , выберите несколько центров сертификации.
  2. Выберите "Изменить", а затем выберите "Изменить подсказки издателя".
  3. Установите флажок " Подсказки издателя" для всех выбранных центров сертификации или снимите выбранный флажок, чтобы отключить флаг с включенными указаниями издателя для всех выбранных ЦС. Значение по умолчанию — indeterminate.
  4. Нажмите кнопку "Сохранить".

Восстановление PKI

  1. Выберите вкладку Удаленные PKIs
  2. Выберите PKI и выберите "Восстановить PKI".

Восстановление удостоверяющего центра

  1. Перейдите на вкладку Удаленные ЦС.
  2. Выберите ЦС-файл, а затем выберите "Восстановить центр сертификации".

Настройка атрибута isIssuerHintEnabled для ЦС

Указания издателя отправляют доверенный индикатор ЦС в рамках подтверждения tls. Список доверенных ЦС задан для субъекта центров сертификации, которые клиент отправляет в хранилище доверия Microsoft Entra. Дополнительные сведения см. в разделе "Общие сведения о подсказках издателя".

По умолчанию имена субъектов всех центров сертификации в хранилище доверия Microsoft Entra отправляются в качестве указаний. Если вы хотите отправить обратное указание только для определенных центров сертификации, задайте для атрибута isIssuerHintEnabled подсказки издателя значение true.

Сервер может отправить клиенту TLS не более 16 КБ ответа для подсказок издателя (имя субъекта ЦС). Рекомендуется задать isIssuerHintEnabled атрибут true только для ЦС, которые выдают сертификаты пользователей.

Если несколько промежуточных ЦС из одного корневого сертификата выдают сертификаты пользователей, по умолчанию все сертификаты отображаются в средство выбора сертификатов. Если задано isIssuerHintEnabledtrue значение для определенных центров сертификации, в средство выбора сертификатов отображаются только соответствующие сертификаты пользователей.

Настройка центров сертификации с помощью 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.

  1. Запустите PowerShell с помощью параметра "Запуск от имени администратора ".

  2. Установите и импортируйте пакет SDK Для Microsoft Graph PowerShell:

    Install-Module Microsoft.Graph -Scope AllUsers
    Import-Module Microsoft.Graph.Authentication
    Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser
    
  3. Подключитесь к клиенту и примите все:

       Connect-MGGraph -Scopes "Directory.ReadWrite.All", "User.ReadWrite.All" -TenantId <tenantId>
    

Приоритет между хранилищем доверия на основе PKI и классическим хранилищем ЦС

Если ЦС существует как в хранилище ЦС на основе PKI, так и в классическом хранилище ЦС, то приоритетом является хранилище доверия на основе PKI.

Классическое хранилище ЦС имеет приоритет в следующих сценариях:

  • ЦС существует в обоих хранилищах, хранилище на основе PKI не имеет CRL, но классический ЦС хранилища имеет допустимый список отзыва сертификатов.
  • ЦС существует в обоих магазинах, а ЦС на основе PKI отличается от классического хранилища ЦС CRL.

Журнал входа

Запись, прерванная в журнале входа Microsoft Entra, содержит два атрибута в разделе "Дополнительные сведения", чтобы указать, использовалось ли классическое или устаревшее хранилище доверия во время проверки подлинности.

  • Используется устаревшее хранилище с значением 0 , чтобы указать, что используется PKI-хранилище. Значение 1 указывает, что используется классическое или устаревшее хранилище.
  • Устаревшие сведения об использовании хранилища отображают причину использования классического или устаревшего хранилища.

Снимок экрана: запись журнала входа для использования хранилища на основе PKI или классического хранилища ЦС

Журнал аудита

Все операции 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, выполните следующие действия.

  1. Войдите в Центр администрирования Microsoft Entra с учетной записью, назначенной по крайней мере роль администратора политики проверки подлинности .

  2. Перейдите в раздел "Группы>все группы".

  3. Выберите новую группу и создайте группу для пользователей CBA.

  4. Перейдите кметоду проверки подлинностина основе сертификата в методе > проверкиподлинности на основеидентификатора> записи.

  5. В разделе "Включить" и "Целевой" выберите "Включить", а затем установите флажок "Подтвердить".

  6. Выберите "Выбрать группы" "Добавить группы>".

  7. Выберите определенные группы, например созданные вами, и нажмите кнопку "Выбрать". Используйте определенные группы вместо всех пользователей.

  8. Нажмите кнопку "Сохранить".

    Снимок экрана: включение CBA.

После включения CBA для клиента все пользователи в клиенте видят возможность входа с помощью сертификата. Только пользователи, которые могут использовать CBA, могут пройти проверку подлинности с помощью сертификата X.509.

Примечание.

Администратор сети должен разрешить доступ к конечной точке проверки подлинности сертификата для облачной среды организации в дополнение к конечной точке login.microsoftonline.com . Отключите проверку TLS на конечной точке проверки подлинности сертификата, чтобы убедиться, что запрос сертификата клиента успешно выполнен в рамках подтверждения TLS.

Шаг 3. Настройка политики привязки проверки подлинности

Политика привязки проверки подлинности помогает задать для проверки подлинности один фактор или MFA. Уровень защиты по умолчанию для всех сертификатов клиента — это однофакторная проверка подлинности.

Привязка сходства по умолчанию на уровне клиента низка. Администратор политики проверки подлинности может изменить значение по умолчанию с однофакторной проверки подлинности на MFA. Если уровень защиты изменяется, для всех сертификатов клиента устанавливается MFA. Аналогичным образом привязка сходства на уровне клиента может иметь высокий уровень сходства. Затем все сертификаты проверяются с помощью только атрибутов высокой сходства.

Внимание

Администратор должен задать для клиента значение по умолчанию, применимое для большинства сертификатов. Создайте пользовательские правила только для определенных сертификатов, которым требуется другой уровень защиты или привязка сходства, чем для клиента по умолчанию. Все конфигурации методов проверки подлинности находятся в одном файле политики. Создание нескольких избыточных правил может превышать ограничение размера файла политики.

Правила привязки проверки подлинности сопоставляют атрибуты сертификатов, такие как издатель, идентификатор объекта политики (OID) и издатель и идентификатор политики с указанным значением. Правила задают уровень защиты по умолчанию и привязку сходства для этого правила.

Чтобы изменить параметры клиента по умолчанию и создать настраиваемые правила с помощью Центра администрирования Microsoft Entra:

  1. Войдите в Центр администрирования Microsoft Entra с учетной записью, назначенной по крайней мере роль администратора политики проверки подлинности .

  2. Перейдите кполитикам методов >проверки подлинностиидентификатора> записи.

  3. В разделе "Управление миграциями" выберите методы>проверки подлинности на основе сертификатов.

    Снимок экрана: настройка политики проверки подлинности.

  4. Чтобы настроить привязку проверки подлинности и привязку имени пользователя, выберите "Настроить".

  5. Чтобы изменить значение по умолчанию на MFA, выберите многофакторную проверку подлинности. Атрибут уровня защиты имеет значение по умолчанию для однофакторной проверки подлинности.

    Примечание.

    Уровень защиты по умолчанию действует, если пользовательские правила не добавляются. При добавлении настраиваемого правила уровень защиты, определенный на уровне правила, учитывается вместо уровня защиты по умолчанию.

    Снимок экрана: изменение политики проверки подлинности по умолчанию на MFA.

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

    Правила привязки проверки подлинности сопоставляют атрибуты сертификата (издателя или OID политики) со значением. Значение задает уровень защиты по умолчанию для этого правила. Можно создать несколько правил. В следующем примере предположим, что по умолчанию клиент имеет многофакторную проверку подлинности и низкую для привязки сходства.

    Чтобы добавить настраиваемые правила, нажмите кнопку "Добавить правило".

    Снимок экрана: добавление настраиваемого правила.

    Чтобы создать правило издателем сертификатов, выполните приведенные действия.

    1. Выберите издателя сертификатов.

    2. Для идентификатора издателя сертификатов выберите соответствующее значение.

    3. Для проверки подлинности выберите многофакторную проверку подлинности.

    4. Для привязки сходства выберите "Низкий".

    5. Нажмите кнопку "Добавить".

    6. При появлении запроса установите флажок "Подтвердить" , чтобы добавить правило.

      Снимок экрана, на котором показано, как сопоставить политику MFA с привязкой высокой сходства.

    Чтобы создать правило по OID политики, выполните следующие действия.

    1. Выберите OID политики.

    2. Для идентификатора политики введите значение.

    3. Для проверки подлинности выберите однофакторную проверку подлинности.

    4. Для привязки сходства выберите "Низкий " для привязки сходства.

    5. Нажмите кнопку "Добавить".

    6. При появлении запроса установите флажок "Подтвердить" , чтобы добавить правило.

      Снимок экрана: сопоставление с идентификатором политики с привязкой с низким сходством.

    Чтобы создать правило по издателю и OID политики, выполните следующие действия.

    1. Выберите издателя сертификатов и идентификатор политики.

    2. Выберите издателя и введите идентификатор политики.

    3. Для проверки подлинности выберите многофакторную проверку подлинности.

    4. Для привязки сходства выберите "Низкий".

    5. Нажмите кнопку "Добавить".

      Снимок экрана, на котором показано, как выбрать привязку с низким сходством.

      Снимок экрана, на котором показано, как добавить привязку с низкой сходством.

    6. Проверка подлинности с помощью сертификата с идентификатором 3.4.5.6 политики и выдана CN=CBATestRootProd. Убедитесь, что проверка подлинности проходит для многофакторного утверждения.

    Чтобы создать правило издателем и серийным номером, выполните приведенные ниже действия.

    1. Добавьте политику привязки аутентификации. Для политики требуется, чтобы любой сертификат, выданный CN=CBATestRootProd с помощью OID политики, требует только привязки 1.2.3.4.6 с высоким сходством. Используется издатель и серийный номер.

      Снимок экрана: издатель и серийный номер, добавленные в Центр администрирования Microsoft Entra.

    2. Выберите поле сертификата. В этом примере выберите издателя и серийный номер.

      Снимок экрана, на котором показано, как выбрать издателя и серийный номер.

    3. Поддерживается certificateUserIdsтолько атрибут пользователя. Выберите certificateUserIds и нажмите кнопку "Добавить".

      Снимок экрана: добавление издателя и серийного номера.

    4. Нажмите кнопку "Сохранить".

      В журнале входа показано, какая привязка использовалась для входа и сведения из сертификата.

      Снимок экрана: сведения о журнале входа.

  7. Нажмите кнопку "ОК" , чтобы сохранить все пользовательские правила.

Внимание

Введите идентификатор политики с помощью формата идентификатора объекта. Например, если политика сертификата говорит все политики выдачи, введите идентификатор политики, как 2.5.29.32.0 при добавлении правила. Строка «Все политики выдачи» является недопустимой для редактора правил и не вступает в силу.

Шаг 4. Настройка политики привязки имени пользователя

Политика привязки имени пользователя помогает проверить сертификат пользователя. По умолчанию для определения пользователя вы сопоставляете имя субъекта в сертификате с userPrincipalName объектом пользователя.

Администратор политики проверки подлинности может переопределить значение по умолчанию и создать настраиваемое сопоставление. Дополнительные сведения см. в статье о работе привязки имени пользователя.

Для других сценариев, использующих certificateUserIds атрибут, см. идентификаторы пользователей сертификата.

Внимание

Если политика привязки имени пользователя использует синхронизированные атрибуты, такие как certificateUserIdsonPremisesUserPrincipalName, и userPrincipalName атрибут пользовательского объекта, учетные записи с правами администратора в локальной среде Windows Server Active Directory могут вносить изменения, влияющие на эти атрибуты в идентификаторе Microsoft Entra. Например, учетные записи с делегированными правами на объекты пользователя или роль администратора на сервере Microsoft Entra Connect могут вносить эти изменения.

  1. Создайте привязку имени пользователя, выбрав одно из полей сертификата X.509 для привязки к одному из атрибутов пользователя. Порядок привязки имени пользователя представляет уровень приоритета привязки. Первая привязка имени пользователя имеет наивысший приоритет и т. д.

    Снимок экрана: политика привязки имени пользователя.

    Если указанное поле сертификата X.509 найдено в сертификате, но идентификатор Microsoft Entra не находит объект пользователя с соответствующим значением, проверка подлинности завершается ошибкой. Затем идентификатор Microsoft Entra пытается выполнить следующую привязку в списке.

  2. Нажмите кнопку "Сохранить".

Последняя конфигурация выглядит примерно так:

Снимок экрана: окончательная конфигурация.

Шаг 5. Проверка конфигурации

В этом разделе описывается, как протестировать правила привязки сертификата и пользовательской проверки подлинности.

Проверка сертификата

В первом тесте конфигурации попытайтесь войти на портал MyApps с помощью браузера устройств.

  1. Введите имя участника-пользователя (UPN).

    Снимок экрана: имя участника-пользователя.

  2. Нажмите кнопку "Далее".

    Снимок экрана: вход с помощью сертификата.

    Если вы сделали другие методы проверки подлинности доступными, например вход телефона или FIDO2, пользователи могут увидеть другое диалоговое окно входа.

    Снимок экрана: диалоговое окно альтернативного входа.

  3. Выберите "Войти с помощью сертификата".

  4. Выберите правильный сертификат пользователя в пользовательском интерфейсе средства выбора сертификатов клиента и нажмите кнопку "ОК".

    Снимок экрана: пользовательский интерфейс средства выбора сертификатов.

  5. Убедитесь, что вы вошли на портал MyApps.

Успешный вход подтверждает, что:

  • Сертификат пользователя подготавливается на тестовом устройстве.
  • Идентификатор Microsoft Entra настроен правильно для использования доверенных ЦС.
  • Привязка имени пользователя настроена правильно. Пользователь найден и прошел проверку подлинности.

Тестирование пользовательских правил привязки аутентификации

Затем выполните сценарий, в котором проверяется надежная проверка подлинности. Вы создаете два правила политики проверки подлинности: один с помощью издателя, подвергающегося однофакторной проверке подлинности, и другой с помощью OID политики для удовлетворения многофакторной проверки подлинности.

  1. Создайте правило субъекта издателя с уровнем защиты однофакторной проверки подлинности. Задайте значение субъекта ЦС.

    Например:

    CN=WoodgroveCA

  2. Создайте правило OID политики, которое имеет уровень защиты многофакторной проверки подлинности. Задайте значение для одного из OID политики в сертификате. Примером является 1.2.3.4.

    Снимок экрана: правило OID политики.

  3. Создайте политику условного доступа Microsoft Entra для пользователя, чтобы требовать многофакторную проверку подлинности. Выполните действия, описанные в разделе "Условный доступ" — требовать многофакторную проверку подлинности.

  4. Перейдите на портал MyApps. Введите имя пользователя и выберите Далее.

    Снимок экрана: имя участника-пользователя.

  5. Выберите "Использовать сертификат" или "Смарт-карта".

    Снимок экрана: вход с помощью сертификата.

    Если вы сделали другие методы проверки подлинности доступными, например вход в телефон или ключи безопасности, пользователи могут видеть другое диалоговое окно входа.

    Снимок экрана: альтернативный вход.

  6. Выберите сертификат клиента и выберите сведения о сертификате.

    Снимок экрана: средство выбора клиента.

    Появится сертификат, и вы можете проверить значения OID выдавшего органа и политики.

    Снимок экрана: издатель.

  7. Чтобы просмотреть значения OID политики, выберите "Сведения".

    Снимок экрана: сведения о проверке подлинности.

  8. Выберите сертификат клиента и нажмите кнопку "ОК".

Идентификатор политики в сертификате соответствует настроенном значению 1.2.3.4 и удовлетворяет MFA. Издатель в сертификате соответствует настроенное значение CN=WoodgroveCA и удовлетворяет однофакторной проверке подлинности.

Так как правило OID политики имеет приоритет над правилом издателя, сертификат удовлетворяет MFA.

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

Проверка политики привязки имени пользователя

Политика привязки имени пользователя помогает проверить сертификат пользователя. Для политики привязки имени пользователя поддерживаются три привязки:

  • IssuerAndSerialNumber > certificateUserIds
  • IssuerAndSubject > certificateUserIds
  • Subject > certificateUserIds

По умолчанию идентификатор Microsoft Entra сопоставляет имя субъекта в сертификате с userPrincipalName объектом пользователя для определения пользователя. Администратор политики проверки подлинности может переопределить значение по умолчанию и создать пользовательское сопоставление, как описано ранее.

Администратор политики проверки подлинности должен настроить новые привязки. Чтобы подготовиться, они должны убедиться, что правильные значения соответствующих привязок имени пользователя обновляются в certificateUserIds атрибуте объекта пользователя:

Внимание

Формат значений издателя, субъекта и серийного номера должен быть в обратном порядке их формата в сертификате. Не добавляйте пробелы в значения издателя или субъекта .

Сопоставление издателя и серийного номера вручную

В следующем примере демонстрируется сопоставление издателя и серийного номера вручную.

Добавляемое значение издателя :

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

Сопоставление издателя и субъекта вручную

В следующем примере показано сопоставление издателя и субъекта вручную.

Значение издателя :

Снимок экрана: значение издателя при использовании с несколькими привязками.

Значение темы :

Снимок экрана: значение темы.

Значение 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

Проверка привязки сходства

  1. Войдите в Центр администрирования Microsoft Entra с учетной записью, назначенной по крайней мере роль администратора политики проверки подлинности .

  2. Перейдите кполитикам методов >проверки подлинностиидентификатора> записи.

  3. В разделе "Управление" выберите методы>проверки подлинности на основе сертификатов.

  4. Выберите "Настроить".

  5. Установите обязательное связывание аффинности на уровне арендатора.

    Внимание

    Будьте осторожны с параметром сходства для всех арендаторов. Вы можете заблокировать весь клиент, если изменить значение обязательной привязки affinity для клиента, и у вас нет правильных значений в объекте пользователя. Аналогичным образом, если вы создаете пользовательское правило, которое применяется ко всем пользователям и требует привязки с высоким сходством, пользователи в клиенте могут быть заблокированы.

    Снимок экрана, на котором показано, как задать требуемую привязку сходства.

  6. Чтобы проверить, для обязательной привязки сходства нажмите кнопку "Низкий".

  7. Добавьте привязку с высоким сходством, например идентификатор ключа субъекта (SKI). В разделе привязки имени пользователя выберите "Добавить правило".

  8. Выберите SKI и нажмите кнопку "Добавить".

    Снимок экрана: добавление привязки сходства.

    По завершении правило выглядит примерно так:

    Снимок экрана: завершенная привязка сходства.

  9. Для всех пользовательских объектов обновите certificateUserIds атрибут с правильным значением SKI из сертификата пользователя.

    Дополнительные сведения см. в статье "Поддерживаемые шаблоны для сертификатовUserID".

  10. Создайте настраиваемое правило для привязки проверки подлинности.

  11. Нажмите кнопку "Добавить".

    Снимок экрана: настраиваемая привязка проверки подлинности.

    Убедитесь, что завершенное правило выглядит примерно так:

    Снимок экрана: пользовательское правило.

  12. Обновите значение пользователя certificateUserIds с правильным значением SKI из сертификата и идентификатора 9.8.7.5политики.

  13. Тестирование с помощью сертификата с идентификатором 9.8.7.5политики. Убедитесь, что пользователь прошел проверку подлинности с помощью привязки SKI и что им будет предложено войти с помощью MFA и только сертификата.

Настройка CBA с помощью API Microsoft Graph

Чтобы настроить CBA и настроить привязки пользователей с помощью API Microsoft Graph:

  1. Перейдите в Обозреватель Microsoft Graph.

  2. Выберите вход в Graph Explorer и войдите в клиент.

  3. Выполните действия, чтобы предоставить согласие на Policy.ReadWrite.AuthenticationMethod делегированное разрешение.

  4. Получение всех методов проверки подлинности:

    GET  https://graph.microsoft.com/v1.0/policies/authenticationmethodspolicy
    
  5. Получите конфигурацию для метода проверки подлинности сертификата X.509:

    GET https://graph.microsoft.com/v1.0/policies/authenticationmethodspolicy/authenticationMethodConfigurations/X509Certificate
    
  6. По умолчанию метод проверки подлинности сертификата 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
            }
        ]
    }
    
  7. Убедитесь, что 204 No content код ответа возвращается. Повторно выполните GET запрос, чтобы убедиться, что политики обновлены правильно.

  8. Проверьте конфигурацию, войдя в систему с помощью сертификата, удовлетворяющего политике.

Настройка CBA с помощью Microsoft PowerShell

  1. Откройте средство PowerShell.

  2. Подключение к Microsoft Graph:

    Connect-MgGraph -Scopes "Policy.ReadWrite.AuthenticationMethod"
    
  3. Создайте переменную для определения группы для пользователей CBA:

    $group = Get-MgGroup -Filter "displayName eq 'CBATestGroup'"
    
  4. Определите текст запроса:

    $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
    
  5. PATCH Выполните запрос:

    Invoke-MgGraphRequest -Method PATCH -Uri "https://graph.microsoft.com/v1.0/policies/authenticationMethodsPolicy/authenticationMethodConfigurations/x509Certificate" -Body $body -ContentType "application/json"