Настройка и использование импортированных сертификатов PKCS в Intune

В Microsoft Intune можно использовать импортированные сертификаты с парой открытых ключей (PKCS), которые обычно используются для шифрования S/MIME с профилями электронной почты. Некоторые профили электронной почты в Intune позволяют включать S/MIME, чтобы определить сертификат для подписи S/MIME и сертификат шифрования S/MIME.

Важно!

Как было объявлено в этом Microsoft Tech Community блоге, поддержка библиотеки проверки подлинности Azure Active Directory (ADAL) заканчивается в декабре 2022 г. Чтобы скрипты PowerShell или пользовательский код продолжали работать для импорта пользовательских PFX-сертификатов в Intune, их необходимо обновить, чтобы использовать библиотеку проверки подлинности Майкрософт (MSAL). Кроме того, глобальный идентификатор приложения Intune должен быть обновлен уникальным идентификатором приложения (клиента), назначенным приложению после его регистрации в Microsoft Entra ID, чтобы предотвратить проблемы с проверкой подлинности в будущем.

В GitHub пример скрипта PowerShell для упрощения импорта сертификатов PFX был обновлен для ссылки на MSAL и идентификатор приложения (клиента) Microsoft Entra. Примеры скриптов, приведенные в этой статье, также обновляются, если это применимо.

Дополнительные сведения см. в файле сведений проекта PowerShell PFXImport на сайте GitHub и скачайте обновленный пример скрипта.

Шифрование S/MIME — это сложная задача, так как электронная почта шифруется с помощью определенного сертификата:

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

Так как один и тот же сертификат нужно использовать на разных устройствах, для этого нельзя использовать профили сертификатов SCEP или PKCS, так как соответствующие механизмы доставки сертификатов передают уникальный сертификат на каждое устройство.

См. сведения об использовании S/MIME с Intune в статье Использование S/MIME для шифрования электронной почты.

Поддерживаемые платформы

Intune поддерживает импорт сертификатов PFX для следующих платформ:

  • Администратор устройств Android
  • Android Enterprise:
    • Полностью управляемая платформа
    • Корпоративный рабочий профиль
    • Личный рабочий профиль
  • iOS/iPadOS
  • macOS
  • Windows 10/11

Важно!

Microsoft Intune прекращает поддержку управления администраторами устройств Android на устройствах с доступом к Google Mobile Services (GMS) 30 августа 2024 г. После этой даты регистрация устройств, техническая поддержка, исправления ошибок и исправления безопасности будут недоступны. Если в настоящее время вы используете управление администраторами устройств, мы рекомендуем перейти на другой вариант управления Android в Intune до окончания поддержки. Дополнительные сведения см. в статье Прекращение поддержки администратора устройств Android на устройствах GMS.

Требования

Чтобы использовать импортированные сертификаты PKCS с Intune, необходима следующая инфраструктура:

  • Соединитель сертификатов для Microsoft Intune

    Соединитель сертификатов обрабатывает запросы к PFX-файлам, импортированным в Intune для шифрования электронной почты S/MIME для конкретного пользователя. Убедитесь, что каждый устанавливаемый соединитель имеет доступ к закрытому ключу, используемому для шифрования паролей отправленных PFX-файлов.

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

  • Windows Server:

    Соединитель сертификатов устанавливается на сервере Windows Server, соответствующем предварительным требованиям к соединителям.

  • Visual Studio 2015 или последующие версии (необязательно):

    С помощью Visual Studio можно создать вспомогательный модуль PowerShell с командлетами для импорта сертификатов PFX в Microsoft Intune. Командлеты вспомогательного модуля PowerShell доступны в этом репозитории GitHub.

Как это работает

Когда вы используете Intune для развертывания импортированного сертификата PFX для пользователя, кроме самого устройства задействовано еще два компонента:

  • Служба Intune. В ней хранятся сертификаты PFX в зашифрованном состоянии и выполняется развертывание сертификата на устройстве пользователя. Пароли, защищающие закрытые ключи сертификатов, шифруются перед их передачей с помощью аппаратного модуля безопасности (HSM) или шифрования Windows. Это гарантирует, что Intune не сможет получить доступ к закрытому ключу в любое время.

  • Соединитель сертификатов для Microsoft Intune. Когда устройство запрашивает сертификат PFX, импортированный в Intune, зашифрованный пароль, сертификат и открытый ключ устройства передаются в соединитель. Соединитель расшифровывает пароль с помощью локального закрытого ключа, а затем повторно шифрует пароль (и все профили plist при использовании iOS) с помощью ключа устройства перед отправкой сертификата обратно в Intune. Затем Intune доставляет сертификат на устройство, после чего устройство расшифровывает его с помощью закрытого ключа устройства и устанавливает сертификат.

Импорт сертификатов PFX в Intune

Для импорта в Intune пользовательских сертификатов PFX используется Microsoft Graph. Вспомогательный модуль, доступный для скачивания в этом репозитории GitHub, предоставляет командлеты, упрощающие эту задачу.

Если вы предпочитаете использовать c Graph собственное пользовательское решение, используйте тип ресурса userPFXCertificate.

Сборка командлетов PFXImport PowerShell Project

Чтобы использовать командлеты PowerShell, вам нужно самостоятельно выполнить сборку проекта с помощью Visual Studio. Этот простой процесс можно запустить на сервере, но мы рекомендуем выполнять его на локальном компьютере.

  1. Перейдите в корневой каталог репозитория Intune-Resource-Access на сайте GitHub, а затем скачайте или клонируйте репозиторий с помощью Git на свой компьютер.

    Кнопка скачивания на сайте GitHub

  2. Перейдите в .\Intune-Resource-Access-develop\src\PFXImportPowershell\ и откройте проект с помощью Visual Studio, используя файл PFXImportPS.sln.

  3. Вверху перейдите из режима Отладка в режим Выпуск.

  4. Перейдите в меню Сборка и выберите Собрать PFXImportPS. Через несколько секунд вы увидите подтверждение Успешно сборки в нижней левой части Visual Studio.

    Параметры сборки в Visual Studio

  5. В ходе сборки в .\Intune-Resource-Access-develop\src\PFXImportPowershell\PFXImportPS\bin\Release создается папка с модулем PowerShell.

    Эта папка Release будет использоваться на следующих шагах.

Создание открытого ключа шифрования

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

Модуль PowerShell предоставляет методы для создания ключа с помощью шифрования Windows. Для создания ключа также можно использовать другие средства.

Создание ключа шифрования с помощью шифрования Windows

  1. Скопируйте созданную в Visual Studio папку Release на сервер, на котором установлен соединитель сертификатов для Microsoft Intune. В этой папке находится модуль PowerShell.

  2. На сервере откройте PowerShell с правами администратора и перейдите в папку Release, содержащую модуль PowerShell.

  3. Чтобы импортировать модуль, выполните команду Import-Module .\IntunePfxImport.psd1.

  4. Затем выполните команду Add-IntuneKspKey -ProviderName "Microsoft Software Key Storage Provider" -KeyName "PFXEncryptionKey".

    Совет

    Используемый поставщик необходимо выбрать еще раз при импорте сертификатов PFX. Вы можете использовать поставщик хранилища ключей Microsoft Software Key Storage Provider или другой поставщик. Ключу можно задать произвольное имя.

    Если вы планируете импортировать сертификат с рабочей станции, вы можете экспортировать этот ключ в файл с помощью следующей команды: Export-IntunePublicKey -ProviderName "<ProviderName>" -KeyName "<KeyName>" -FilePath "<File path\Filename.PFX>"

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

Использование аппаратного модуля безопасности (HSM)

Для создания и хранения пары открытого и закрытого ключей можно использовать аппаратный модуль безопасности (HSM). Дополнительные сведения см. в документации поставщика HSM.

Импорт сертификатов PFX

В следующем примере сертификаты PFX импортируются с помощью командлетов PowerShell. Выбор параметров определяется вашими задачами.

Варианты:

  • Предполагаемое назначение (группирование сертификатов по тегам):

    • unassigned
    • smimeEncryption
    • smimeSigning
  • Схема заполнения:

    • oaepSha256
    • oaepSha384
    • oaepSha512

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

Импорт сертификата PFX

  1. Экспортируйте сертификаты из любого центра сертификации (ЦС), следуя инструкциям из документации поставщика. Для служб сертификатов Microsoft Active Directory можно использовать этот пример скрипта.

  2. На сервере откройте PowerShell с правами администратора и перейдите к папке Release, содержащей модуль PowerShell IntunePfxImport.psd1.

    Примечание.

    Для клиентов GCC High и DoD перед запуском модуля IntunePfxImport.psd1 необходимо внести изменения, описанные ниже.

    С помощью текстового редактора или интегрированной среды сценариев PowerShell измените файл, чтобы обновить конечные точки службы для среды GCC High. Обратите внимание, что эти обновления изменяют коды URI с суффикса .com на .us. В общем в IntunePfxImport.psd1 есть два обновления: одно для AuthURI, а другое — для GraphURI.

    PrivateData = @{
        AuthURI = "login.microsoftonline.us"
        GraphURI = "https://graph.microsoft.us"
        SchemaVersion = "beta"
    
        ClientId = "00000000-0000-0000-0000-000000000000" # Client Id from Azure app registration
    
        ClientSecret = ""  # client secret from app registration when using application permissions to authenticate
    
        TenantId = "00000000-0000-0000-0000-000000000000" # TenantId is required when using client secret
        }
    

    Сохранив изменения, перезапустите PowerShell.

  3. Чтобы импортировать модуль, выполните команду Import-Module .\IntunePfxImport.psd1

  4. Чтобы выполнить аутентификацию для входа в Intune Graph, выполните команду Set-IntuneAuthenticationToken -AdminUserName "<Admin-UPN>".

    Примечание.

    При выполнении аутентификации для входа в Graph необходимо предоставить разрешения для AppID. Если вы впервые используете эту служебную программу, вам понадобятся права глобального администратора. Командлеты PowerShell используют тот же идентификатор AppID, что и в примерах PowerShell для Intune.

  5. Преобразуйте пароль для каждого импортируемого файла PFX в защищенную строку, выполнив команду $SecureFilePassword = ConvertTo-SecureString -String "<PFXPassword>" -AsPlainText -Force.

  6. Чтобы создать объект UserPFXCertificate, выполните команду $userPFXObject = New-IntuneUserPfxCertificate -PathToPfxFile "<FullPathPFXToCert>" $SecureFilePassword "<UserUPN>" "<ProviderName>" "<KeyName>" "<IntendedPurpose>"

    Пример: $userPFXObject = New-IntuneUserPfxCertificate -PathToPfxFile "C:\temp\userA.pfx" $SecureFilePassword "userA@contoso.com" "Microsoft Software Key Storage Provider" "PFXEncryptionKey" "smimeEncryption"

    Примечание.

    При импорте сертификата из другой системы (не сервера, на котором установлен соединитель), выполните следующую команду, которая добавляет путь к файлу ключа: $userPFXObject = New-IntuneUserPfxCertificate -PathToPfxFile "<FullPathToPFX>" $SecureFilePassword "<UserUPN>" "<ProviderName>" "<KeyName>" "<IntendedPurpose>" "<PaddingScheme>" "<File path to public key file>"

    VPN не поддерживается в качестве IntendedPurpose.

  7. Импортируйте объект UserPFXCertificate в Intune, выполнив команду Import-IntuneUserPfxCertificate -CertificateList $userPFXObject

  8. Чтобы проверить, был ли сертификат импортирован, выполните команду Get-IntuneUserPfxCertificate -UserList "<UserUPN>"

  9. Чтобы очистить кэш маркеров Microsoft Entra, не дожидаясь истечения срока его действия, выполните команду.Remove-IntuneAuthenticationToken

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

Создание профиля импортированного сертификата PKCS

После импорта сертификатов в Intune создайте профиль импортированного сертификата PKCS и назначьте его Microsoft Entra группам.

Примечание.

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

  1. Войдите в Центр администрирования Microsoft Intune.

  2. Выберите и перейдите в разделСоздание конфигурации>устройств>.

  3. Укажите следующие свойства:

    • Платформа: выберите платформу устройств.
    • Профиль: выберите элемент Импортированный сертификат PKCS. Либо выберите элементы Шаблоны>Импортированный сертификат PKCS.
  4. Нажмите Создать.

  5. В разделе Основные укажите следующие свойства.

    • Имя. Введите описательное имя для профиля. Назначьте имена профилям, чтобы позже их можно было легко найти. Например, хорошее имя профиля — Профиль импортированного сертификата PKCS для компании.
    • Описание: введите описание профиля. Этот необязательный параметр, но мы рекомендуем его использовать.
  6. Нажмите кнопку Далее.

  7. В разделе Параметры конфигурации укажите следующие свойства:

    • Предполагаемое назначение: указывает предполагаемое назначение сертификатов, импортированных для этого профиля. Администраторы могут импортировать сертификаты с разными назначениями (например, для подписывания или шифрования S/MIME). Предполагаемое назначение, выбранное в профиле сертификата, соответствует профилю сертификата с соответствующими импортированными сертификатами. Предполагаемое назначение обозначается тегом для группирования импортированных сертификатов. При этом нет гарантии, что импортированные сертификаты с определенным тегом будут соответствовать предполагаемому назначению.

    • Поставщик хранилища ключей (KSP) — для Windows выберите место для хранения ключей на устройстве.

  8. Этот шаг применяется только к профилям устройств Android Enterprise для полностью управляемого, выделенного и Corporate-Owned рабочего профиля.

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

    • Требовать утверждения пользователем для приложений(по умолчанию) — пользователи должны утвердить использование сертификата всеми приложениями.
    • Предоставление автоматического предоставления для определенных приложений (требуется утверждение пользователем для других приложений) — с помощью этого параметра выберите Добавить приложения, а затем выберите одно или несколько приложений, которые будут автоматически использовать сертификат без вмешательства пользователя.
  9. Нажмите кнопку Далее.

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

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

  11. (Применимо только к Windows 10/11.) В разделе Правила применимости укажите правила применимости, чтобы уточнить назначение этого профиля. Вы можете как назначить, так и не назначать профиль на основе выпуска ОС или версии устройства.

    Сведения о правилах применимости см. в руководстве по созданию профиля устройства в Microsoft Intune.

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

  12. В окне Проверка и создание проверьте параметры. При выборе "Создать" внесенные изменения сохраняются и назначается профиль. Политика также отображается в списке профилей.

Поддержка сторонних партнеров

Следующие партнеры предоставляют поддерживаемые методы или средства, которые можно использовать для импорта сертификатов PFX в Intune.

DigiCert

При использовании службы платформы PKI DigiCert можно использовать средство импорта сертификатов Intune/MIME DigiCert для импорта сертификатов PFX в Intune. Если используется это средство, следовать инструкциям, указанным в разделе Импорт сертификатов PFX в Intune этой статьи, не требуется.

Дополнительные сведения о средстве импорта DigiCert и о том, как получить это средство, см. в статье https://knowledge.digicert.com/tutorials/microsoft-intune.html базы знаний DigiCert.

EverTrust

Если вы используете EverTrust в качестве решения PKI, автономного или объединенного с существующей инфраструктурой PKI, вы можете настроить EverTrust Horizon для импорта сертификатов PFX в Intune. По завершении интеграции вам не нужно будет выполнять инструкции из раздела Импорт сертификатов PFX в Intune этой статьи.

Дополнительные сведения об интеграции EverTrust с Intune см. на странице https://evertrust.fr/horizon-and-intune-integration/.

KeyTalk

Если вы используете службу KeyTalk, то можете настроить ее для импорта сертификатов PFX в Intune. По завершении интеграции вам не нужно будет выполнять инструкции из раздела Импорт сертификатов PFX в Intune этой статьи.

Дополнительные сведения об интеграции KeyTalk с Intune см. на странице https://keytalk.com/support.

Дальнейшие действия

Использование SCEP для сертификатов

В пользовательском интерфейсе Intune устройства Windows Server отображаются в отличие от клиентов Windows для сценария управления безопасностью для Microsoft Defender для конечной точки

Для поддержки сценария управления безопасностью для Microsoft Defender для конечной точки (конфигурация безопасности MDE) Intune скоро будет дифференцировать устройства Windows в Microsoft Entra ID как Windows Server для устройств под управлением Windows Server или Как Windows для устройств под управлением Windows Server. Windows 10 или Windows 11.

Благодаря этому изменению вы сможете улучшить таргетинг политик для Microsoft Defender для конечной точки конфигурации безопасности. Например, вы сможете использовать динамические группы, состоящие только из устройств Windows Server или только клиентских устройств Windows (Windows 10/11).