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


Продление сертификатов федерации для Microsoft 365 и Microsoft Entra ID

Обзор

Для успешной федерации между Microsoft Entra ID и службами федерации Active Directory (AD FS) сертификаты, которые используются AD FS для подписания токенов безопасности для Microsoft Entra ID, должны соответствовать тем, что настроены в Microsoft Entra ID. Любое несоответствие может привести к подорванному доверию. Идентификатор Microsoft Entra гарантирует синхронизацию этих сведений при развертывании AD FS и прокси веб-приложения (для доступа к экстрасети).

Заметка

Эта статья содержит информацию об управлении сертификатами федерации. Для получения информации о чрезвычайной ротации смотрите Ротация сертификатов AD FS

Эта статья предоставляет дополнительную информацию для управления сертификатами для подписи токенов и их синхронизации с Microsoft Entra ID в следующих случаях:

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

Важный

Корпорация Майкрософт настоятельно рекомендует использовать аппаратный модуль безопасности (HSM) для защиты и защиты сертификатов. Дополнительные сведения см. в аппаратном модуле безопасности в разделе лучших практик по защите AD FS.

Конфигурация AD FS по умолчанию для сертификатов подписи токена

Сертификаты для подписывания токенов и расшифровки токенов обычно являются самозаверяющимися и действуют в течение одного года. По умолчанию AD FS включает процесс автоматического продления с именем AutoCertificateRollover. Если вы используете AD FS 2.0 или более поздней версии, microsoft 365 и Идентификатор Microsoft Entra автоматически обновляют сертификат до истечения срока его действия.

Уведомление о продлении из Центра администрирования Microsoft 365 или электронной почты

Заметка

Если вы получили электронное письмо с просьбой продлить сертификат для Office, ознакомьтесь с разделом Управление изменениями сертификатов подписи маркеров, чтобы проверить, нужно ли предпринять какие-либо действия. Корпорация Майкрософт знает о возможной проблеме, которая может привести к отправке уведомлений о продлении сертификата, даже если никаких действий не требуется.

Идентификатор Microsoft Entra пытается отслеживать метаданные федерации и обновлять сертификаты подписи токенов, как это указано в этих метаданных. За тридцать пять (35) дней до истечения срока действия сертификатов подписи токенов, Microsoft Entra ID проверяет, доступны ли новые сертификаты, опрашивая метаданные федерации.

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

Важный

Если вы используете AD FS, для обеспечения непрерывности бизнес-процессов убедитесь, что на серверах установлены следующие обновления, чтобы не возникали ошибки аутентификации по известным проблемам. Это устраняет известные проблемы с прокси-сервером AD FS для этого продления и будущих периодов продления:

Server 2012 R2 — накопительный пакет обновления Windows Server за май 2014 г.

Server 2008 R2 и 2012 — аутентификация через прокси-сервер в Windows Server 2012 или Windows 2008 R2 SP1 завершается ошибкой

Проверьте, нужно ли обновлять сертификаты

Шаг 1: Проверьте состояние AutoCertificateRollover

На сервере AD FS откройте PowerShell. Убедитесь, что для параметра AutoCertificateRollover задано значение True.

Get-Adfsproperties

AutoCertificateRollover

Заметка

Если вы используете AD FS 2.0, сначала запустите Add-Pssnapin Microsoft.Adfs.Powershell.

Шаг 2. Убедитесь, что идентификатор AD FS и Microsoft Entra ID синхронизированы

На сервере AD FS откройте запрос PowerShell и подключитесь к идентификатору Microsoft Entra.

Заметка

Microsoft Entra входит в состав Microsoft Entra PowerShell. Модуль Microsoft Entra PowerShell можно скачать непосредственно из коллекции PowerShell.

Install-Module -Name Microsoft.Entra

Подключитесь к идентификатору Microsoft Entra.

Connect-Entra -Scopes 'Domain.Read.All'

Проверьте сертификаты, настроенные в AD FS и свойствах доверия идентификатора Microsoft Entra для указанного домена.

Get-EntraFederationProperty -DomainName <domain.name> | FL Source, SigningCertificate

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

Шаг 3. Проверка срока действия сертификата

В выходных данных команд Get-EntraFederationProperty или Get-AdfsCertificate проверьте дату в поле "Not After". Если до этой даты осталось менее 35 дней, необходимо принять меры.

Автоматическое обновление сертификата (AutoCertificateRollover) Сертификаты в синхронизации с идентификатором Microsoft Entra Метаданные федерации общедоступны Обоснованность Действие
Да Да Да - Никаких действий не требуется. См. автоматически обновить сертификат подписи токена.
Да Нет - Менее 15 дней Обновите немедленно. См. Вручную обновите сертификат подписи токена.
Нет - - Менее 35 дней Обновите немедленно. См. Вручную обновите сертификат подписи токена.

[-] Всё равно

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

  • Вы развернули веб-прокси, который позволяет получить доступ к федерационным метаданным из экстранета.
  • Вы используете конфигурацию по умолчанию AD FS (включена autoCertificateRollover).

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

1. Свойству AD FS AutoCertificateRollover должно быть присвоено значение True. Это означает, что AD FS автоматически создает новые сертификаты подписи токенов и расшифровки токенов до истечения срока действия старых.

2. Метаданные федерации AD FS общедоступны. Убедитесь, что метаданные федерации общедоступны, перейдя по следующему URL-адресу с компьютера в общедоступном Интернете (вне корпоративной сети):

https://(your_FS_name)/federationmetadata/2007-06/federationmetadata.xml

где (your_FS_name) заменяется именем узла службы федерации, используемым вашей организацией, например, fs.contoso.com. Если вы можете проверить оба этих параметра успешно, вам не нужно ничего другого.

Пример: https://fs.contoso.com/federationmetadata/2007-06/federationmetadata.xml

Обновить сертификат подписи токена вручную

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

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

Важный

Если вы переносите существующий федеративный домен в новую службу федерации, рекомендуется следовать процедуре экстренной ротации сертификатов AD FS.

В этих сценариях при каждом обновлении сертификатов подписи маркера необходимо также обновить домен Microsoft 365, применив команду PowerShell Update-MgDomainFederationConfiguration.

Шаг 1. Убедитесь, что AD FS имеет новые сертификаты подписи токенов

нестандартная конфигурация

Если вы используете конфигурацию AD FS, не используемую по умолчанию (где autoCertificateRollover имеет значение False), вы, вероятно, используете пользовательские сертификаты (не самозаверяющие). Дополнительные сведения об обновлении сертификатов подписи токенов AD FS см. в разделе Требования к сертификатам для федеративных серверов.

метаданные федерации не доступны публично

С другой стороны, если для AutoCertificateRollover установлено значение True, но метаданные федерации недоступны, сначала убедитесь, что новые сертификаты для подписи токенов создаются AD FS. Убедитесь, что у вас есть новые сертификаты подписи токенов, выполнив следующие шаги.

  1. Убедитесь, что вы вошли на основной сервер AD FS.

  2. Проверьте текущие сертификаты подписи в AD FS, открыв командное окно PowerShell и выполнив следующую команду:

    Get-ADFSCertificate -CertificateType Token-Signing

    Заметка

    Если вы используете AD FS 2.0, сначала следует запустить Add-Pssnapin Microsoft.Adfs.Powershell.

  3. Просмотрите выходные данные команды на всех сертификатах, перечисленных. Если AD FS сгенерировал новый сертификат, в выводе вы должны увидеть два сертификата: один, для которого значение IsPrimary равно True, а дата NotAfter наступит в течение следующих 5 дней, и другой, для которого IsPrimary равно False и дата NotAfter примерно через год.

  4. Если отображается только один сертификат, а дата NotAfter находится в пределах 5 дней, необходимо создать новый сертификат.

  5. Чтобы создать новый сертификат, выполните следующую команду в командной строке PowerShell: Update-ADFSCertificate -CertificateType Token-Signing.

  6. Проверьте обновление, выполнив следующую команду: Get-ADFSCertificate -CertificateType Token-Signing

Теперь должны быть указаны два сертификата, один из которых имеет дату NotAfter приблизительно через один год, и для которого значение IsPrimary равно False.

Шаг 2. Обновление сертификатов подписи токенов для доверия в Microsoft 365

Обновите Microsoft 365 новыми сертификатами подписи токенов, которые будут использоваться для доверия, как показано ниже.

  1. Откройте Azure PowerShell.

  2. Запустите Connect-Entra -Scopes 'Domain.Read.All'. Этот cmdlet подключает вас к облачной службе. Перед выполнением любого из дополнительных командлетов, установленных инструментом, необходимо создать контекст, подключающий к облачной службе.

    Заметка

    -InternalDomainFederationId Можно найти, выполнив команду Get-EntraFederationProperty -Domainname your_domain.com

    Снимок экрана показывает вывод командлета Get-EntraFederationProperty.

  3. Запустите Update-MgDomainFederationConfiguration -DomainId <your_domain.com> -InternalDomainFederationId <hex_domain ID>. Этот командлет обновляет параметры AD FS в облачной службе и настраивает доверительные отношения между ними.

    Заметка

    Если необходимо поддерживать несколько доменов верхнего уровня, таких как contoso.com и fabrikam.com, вы должны применять указанные выше параметры и переходить к каждому домену отдельно без использования параметра -SupportMultipleDomain, так как он больше недоступен для модулей Microsoft.Entra и Microsoft.Graph.

Дополнительные сведения см. в разделе Поддержка нескольких доменов верхнего уровня.

Если ваш клиент связан федерацией с несколькими доменами, необходимо запустить Update-MgDomainFederationConfiguration для всех доменов, указанных в выводе:

Get-EntraDomain | Where-Object {$ _. 'AuthenticationType' -eq 'Federated'} | Select-object Name, AuthenticationType.

Это гарантирует, что все федеративные домены обновляются до сертификата Token-Signing, и это можно сделать, выполнив следующие действия:

Update-MgDomainFederationConfiguration -DomainId <your_domain.com> -InternalDomainFederationId <hex_domain ID>

Восстановление доверия идентификатора Microsoft Entra с помощью Microsoft Entra Connect

Если вы настроили ферму AD FS и доверие Microsoft Entra ID с помощью Microsoft Entra Connect, вы можете использовать Microsoft Entra Connect, чтобы определить, нужно ли предпринять действия в отношении сертификатов подписи токенов. Если вам нужно обновить сертификаты, вы можете использовать Microsoft Entra Connect для этого.

Дополнительные сведения см. в статье Восстановление доверия.

Действия по обновлению сертификата AD FS и Microsoft Entra

Сертификаты подписывания токенов — это стандартные сертификаты X509, которые используются для безопасной подписи всех токенов, выдаваемых сервером федерации. Сертификаты расшифровки маркеров — это стандартные сертификаты X509, используемые для расшифровки всех входящих маркеров.

По умолчанию AD FS настраивается для автоматической генерации сертификатов подписания токенов и расшифровки токенов, как во время начальной настройки, так и когда сертификаты приближаются к сроку окончания.

Microsoft Entra ID пытается получить новый сертификат из метаданных службы федерации за 35 дней до окончания срока действия текущего сертификата. Если в то время новый сертификат недоступен, идентификатор Microsoft Entra продолжает отслеживать метаданные по регулярным ежедневным интервалам. Как только новый сертификат доступен в метаданных, параметры федерации для домена обновляются с новыми сведениями о сертификате. Вы можете использовать Get-MgDomainFederationConfiguration, чтобы проверить, отображается ли новый сертификат в NextSigningCertificate / SigningCertificate.

Дополнительные сведения о сертификатах подписи маркеров в AD FS см. раздел Получение и настройка сертификатов подписи и расшифровки маркеров для AD FS