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


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

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

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

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

Необходимые компоненты

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

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

Внимание

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

Внимание

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

Внимание

В рамках текущих улучшений безопасности конечные точки Azure/M365 добавляют поддержку TLS1.3, и этот процесс, как ожидается, займет несколько месяцев, чтобы покрыть тысячи конечных точек службы в Azure/M365. Сюда входят конечная точка Microsoft Entra, используемая проверкой подлинности на основе сертификатов (CBA) *.certauth.login.microsoftonline.com Microsoft Entra и *.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 Entra CBA в клиенте.

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

Шаг 1. Настройка центров сертификации

Вы можете настроить центры сертификации (ЦС) с помощью Центра администрирования Microsoft Entra или REST API Microsoft Graph и поддерживаемых пакетов SDK, таких как Microsoft Graph PowerShell. Инфраструктура PKI или администратор PKI должны иметь возможность предоставить список выдаваемых ЦС. Чтобы убедиться, что все ЦС настроены, откройте сертификат пользователя и перейдите на вкладку "путь сертификации" и убедитесь, что каждый ЦС не будет отправлен в хранилище доверия Microsoft Entra ID. Проверка подлинности CBA завершится ошибкой, если отсутствуют ЦС.

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

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

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

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

  3. Чтобы отправить ЦС, нажмите кнопку "Отправить":

    1. Выберите файл ЦС.

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

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

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

    5. Выберите Добавить.

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

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

  5. Выберите столбцы для добавления или удаления столбцов.

Примечание.

Отправка нового ЦС завершается ошибкой, если истек срок действия существующего ЦС. Глобальный администратор должен удалить любой просроченный ЦС и повторить попытку отправки нового ЦС.

Настройка центров сертификации (ЦС) с помощью PowerShell

Поддерживается только одна точка распространения из списка отзыва сертификатов (CDP) для доверенного центра сертификации. CDP может быть представлена только URL-адресами с протоколом HTTP. URL-адреса протокола OCSP или протокола LDAP не поддерживаются.

Чтобы настроить центры сертификации в идентификаторе Microsoft Entra, для каждого центра сертификации отправьте следующее:

  • открытую часть сертификата в формате CER ;
  • URL-адреса для Интернета, по которым находятся списки отзыва сертификатов (CRL).

Схема для центра сертификации выглядит следующим образом:

    class TrustedCAsForPasswordlessAuth
    {
       CertificateAuthorityInformation[] certificateAuthorities;
    }

    class CertificateAuthorityInformation

    {
        CertAuthorityType authorityType;
        X509Certificate trustedCertificate;
        string crlDistributionPoint;
        string deltaCrlDistributionPoint;
        string trustedIssuer;
        string trustedIssuerSKI;
    }

    enum CertAuthorityType
    {
        RootAuthority = 0,
        IntermediateAuthority = 1
    }

Для настройки можно использовать Microsoft Graph PowerShell:

  1. Запустите Windows PowerShell с правами администратора.

  2. Установите Microsoft Graph PowerShell:

        Install-Module Microsoft.Graph
    

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

Связь

Чтобы установить подключение к клиенту, используйте Connect-MgGraph:

    Connect-MgGraph

Retrieve

Чтобы получить доверенные центры сертификации, определенные в каталоге, используйте Get-MgOrganizationCertificateBasedAuthConfiguration.

    Get-MgOrganizationCertificateBasedAuthConfiguration

Добавить

Примечание.

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

Выполните описанные выше действия, чтобы добавить ЦС в Центр администрирования Microsoft Entra.

AuthorityType

  • Использование 0 для указания корневого центра сертификации
  • Используйте 1, чтобы указать промежуточный или выдавающий центр сертификации

crlDistributionPoint

Вы можете скачать список отзыва сертификатов и сравнить сертификат ЦС и сведения о CRL, чтобы проверить значение crlDistributionPoint в предыдущем примере PowerShell, допустимо для ЦС, который требуется добавить.

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

Сведения о сертификате ЦС = Скачанные сведения о списке отзыва сертификатов
Тема = Издатель
Идентификатор ключа субъекта = Идентификатор ключа центра (KeyID)

Сравните сертификат ЦС с сведениями о CRL.

Совет

Значение crlDistributionPoint в предыдущем примере — это http-расположение для списка отзыва сертификатов ЦС (CRL). Это значение можно найти в нескольких местах:

  • В атрибуте точки распространения CRL (CDP) сертификата, выданного цС.

Если выдающий ЦС запускает Windows Server:

  • В свойствах ЦС в консоли управления Майкрософт центра сертификации (MMC).
  • В ЦС выполните команду certutil -cainfo cdp. Дополнительные сведения см. в разделе certutil.

Дополнительные сведения см. в разделе "Общие сведения о процессе отзыва сертификата".

Настройка центров сертификации с помощью API Microsoft Graph

API MS Graph можно использовать для настройки центров сертификации. Выполните действия, описанные в командах MSGraph для сертификатаbasedauthconfiguration, чтобы обновить хранилище доверия Центра сертификации Майкрософт.

Проверка конфигурации центра сертификации

Важно убедиться, что приведенные выше шаги конфигурации — это возможность Microsoft Entra проверить цепочку доверия центра сертификации и проверить список отзыва сертификатов (CRL) из настроенной точки распространения центра сертификации (CDP). Чтобы помочь с этой задачей, рекомендуется установить модуль PowerShell средств MSIdentity и запустить Test-MsIdCBATrustStoreConfiguration. Этот командлет PowerShell просмотрит конфигурацию центра сертификации клиента Microsoft Entra и ошибки или предупреждения для распространенных проблем с неправильной настройкой.

Шаг 2. Включение CBA в клиенте

Внимание

Пользователь считается способным использовать MFA , если пользователь находится в области проверки подлинности на основе сертификатов в политике методов проверки подлинности . Это требование политики означает, что пользователь не может использовать проверку подлинности в рамках проверки подлинности для регистрации других доступных методов. Если у пользователей нет доступа к сертификатам, они будут заблокированы и не смогут зарегистрировать другие методы для MFA. Поэтому администратору необходимо включить пользователей, имеющих действительный сертификат в области CBA. Не используйте всех пользователей для целевого объекта CBA и групп пользователей, имеющих допустимые сертификаты. Дополнительные сведения см. в разделе Многофакторная проверка подлинности Microsoft Entra.

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

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

  2. Перейдите к >группе "Все группы>" выберите "Создать группу" и создайте группу для пользователей CBA

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

  4. В разделе "Включить" и "Целевой" выберите "Включить".

  5. Выберите "Все пользователи" или выберите "Добавить группы", чтобы выбрать определенные группы, например созданные выше. Рекомендуется использовать определенные группы, а не всех пользователей.

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

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

Примечание.

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

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

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

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

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

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

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

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

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

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

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

    Примечание.

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

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

  6. Можно также задать настраиваемые правила привязки проверки подлинности, чтобы определить уровень защиты для сертификатов клиента. Для настройки можно использовать поля субъекта издателя или идентификатора OID политики в сертификате.

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

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

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

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

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

    2. Выберите многофакторную проверку подлинности, привязку с низким сходством и нажмите кнопку "Добавить". Когда появится запрос, нажмите кнопку " Подтвердить ", чтобы завершить добавление правила.

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

    Чтобы создать правило по OID политики, выберите OID политики.

    1. Введите значение для OID политики.

    2. Выберите многофакторную проверку подлинности, привязку с низким сходством и нажмите кнопку "Добавить". Когда появится запрос, нажмите кнопку " Подтвердить ", чтобы завершить добавление правила. .

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

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

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

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

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

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

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

    5. Выберите Добавить.

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

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

Внимание

Существует известная проблема, из-за которой администратор клиента Microsoft Entra настраивает правило политики проверки подлинности CBA с помощью издателя и OID политики влияет на некоторые сценарии регистрации устройств, в том числе:

  • Регистрация Windows Hello for Business
  • Регистрация ключа безопасности Fido2
  • Вход без пароля Windows Phone

Регистрация устройств с помощью присоединения к рабочему месту, идентификатор Microsoft Entra и гибридные сценарии присоединения устройств Microsoft Entra не влияют. Правила политики проверки подлинности CBA, использующие OID издателя ИЛИ политики, не влияют. Чтобы устранить проблему, администраторы должны:

  • Измените правила политики проверки подлинности на основе сертификатов в настоящее время с помощью параметров издателя и политики OID, а также удалите требование издателя или OID и сохраните его. ИЛИ
  • Удалите правило политики проверки подлинности в настоящее время с помощью издателя и OID политики и создайте правила с помощью только издателя или OID политики

Мы работаем над устранением проблемы.

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

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

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

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

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

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

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

  4. Выберите Сохранить.

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

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

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

Внимание

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

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

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

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

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

Внимание

Если политика привязки имени пользователя использует синхронизированные атрибуты, такие как certificateUserIds, onPremisesUserPrincipalName и userPrincipalName объекта пользователя, помните, что учетные записи с правами администратора в Active Directory (например, с делегированными правами на объекты пользователя или права администратора на сервере Microsoft Entra Connect) могут внести изменения, влияющие на эти атрибуты в идентификаторе Microsoft Entra ID.

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

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

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

  2. Выберите Сохранить, чтобы сохранить изменения.

Окончательная конфигурация будет выглядеть следующим образом:

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

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

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

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

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

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

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

  2. Выберите Далее.

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

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

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

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

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

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

  5. Пользователи должны войти на портал MyApps.

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

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

Проверка правил пользовательской привязки проверки подлинности

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

  1. Создайте правило субъекта-издателя с уровнем защиты в качестве однофакторной проверки подлинности и значения, заданные для значения субъекта CAs. Например:

    CN = WoodgroveCA

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

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

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

  4. Перейдите на портал MyApps. Введите имя участника-участника-участника и нажмите кнопку "Далее".

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  • IssuerAndSerialNumber > CertificateUserIds
  • IssuerAndSubject > CertificateUserIds
  • Subject > CertificateUserIds

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

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

  • Для облачных пользователей используйте центр администрирования Microsoft Entra или API Microsoft Graph для обновления значения в CertificateUserIds.
  • Для локальных синхронизированных пользователей используйте Microsoft Entra Connect для синхронизации значений из локальной среды, следуя правилам Microsoft Entra Connect или синхронизируя значение AltSecId.

Внимание

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

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

Ниже приведен пример сопоставления издателя и серийного номера вручную. Добавленное значение издателя:

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

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

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

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

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

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

  5. Задайте требуемую привязку сопоставления на уровне клиента.

    Внимание

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

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

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

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

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

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

    По завершении правило выглядит следующим образом:

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

  9. Обновите атрибут CertificateUserIds всех пользовательских объектов, чтобы получить правильное значение SKI из сертификата пользователя. Дополнительные сведения см. в статье "Поддерживаемые шаблоны для сертификатовUserID".

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

  11. Выберите Добавить.

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

    По завершении правило выглядит следующим образом:

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

  12. Обновите user CertificateUserIds правильным значением SKI из сертификата с помощью политики OID 9.8.7.5.

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

Включение CBA с помощью API Microsoft Graph

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

Примечание.

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

  1. Запустите песочницу Microsoft Graph.

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

  3. Следуйте инструкциям, чтобы дать согласие на делегированное разрешение Policy.ReadWrite.AuthenticationMethod.

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

    GET  https://graph.microsoft.com/v1.0/policies/authenticationmethodspolicy
    
  5. ПОЛУЧЕНИЕ конфигурации для метода проверки подлинности сертификата x509:

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

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

Включение CBA с помощью Microsoft Power Shell

  1. Открытие командного окна Power Shell
  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"
    

Следующие шаги