Настройка гибридного соединения Microsoft Entra вручную

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

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

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

  • Microsoft Entra Подключение
    • Чтобы синхронизировать синхронизацию устройств успешно, в рамках конфигурации регистрации устройства не исключите атрибуты устройства по умолчанию из конфигурации синхронизации Microsoft Entra Подключение Sync. Дополнительные сведения об атрибутах устройства по умолчанию, синхронизированных с идентификатором Microsoft Entra, см. в статье "Атрибуты, синхронизированные Microsoft Entra Подключение".
    • Если объекты компьютеров устройств, к которым вы хотите присоединиться к гибридным устройствам Microsoft Entra, относятся к определенным подразделениям ,настройте правильные подразделения для синхронизации в Microsoft Entra Подключение. Дополнительные сведения о синхронизации объектов компьютеров с помощью Microsoft Entra Подключение см. в разделе "Фильтрация на основе подразделений".
  • Учетные данные администратора предприятия для каждого локального леса в доменных службах Active Directory.
  • (Для федеративных доменов) Windows Server с установленным службы федерации Active Directory (AD FS).
  • Пользователи могут зарегистрировать свои устройства с помощью идентификатора Microsoft Entra. Дополнительные сведения об этом параметре можно найти в разделе Настройка параметров устройств статьи Управление удостоверениями устройств с помощью портала Azure.

Для гибридного присоединения к Microsoft Entra требуется, чтобы у устройств был доступ к следующим ресурсам Майкрософт из сети организации:

  • https://enterpriseregistration.windows.net
  • https://login.microsoftonline.com
  • https://device.login.microsoftonline.com
  • https://autologon.microsoftazuread-sso.com (если вы используете или планируете использовать простой единый вход).
  • Служба токенов безопасности вашей организации (STS) (для федеративных доменов).

Предупреждение

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

Если вашей организации требуется доступ к Интернету через исходящий прокси-сервер, можно использовать автоматическое обнаружение веб-прокси (WPAD) для включения Windows 10 или более новых компьютеров для регистрации устройств с помощью идентификатора Microsoft Entra. Если возникли проблемы при настройке и управлении WPAD, см. статью об устранении неполадок с автоматическим обнаружением здесь.

Если вы не используете WPAD, параметры прокси-сервера WinHTTP можно настроить на компьютере с Windows 10 версии не ниже 1709. Дополнительные сведения см. в статье Параметры Прокси-сервер WinHTTP, развернутый объектом групповой политики (GPO).

Примечание.

Если вы настроите параметры прокси-сервера на компьютере с помощью параметров WinHTTP, любые компьютеры, которым не удается подключиться к настроенному прокси-серверу, не смогут подключиться к Интернету.

Если вашей организации требуется доступ в Интернет через исходящий прокси-сервер с аутентификацией, необходимо убедиться, что ваши компьютеры с Windows 10 или более поздней версии могут успешно пройти проверку подлинности на этом прокси-сервере. Так как компьютеры с Windows 10 или более поздней версии выполняют регистрацию устройства с использованием контекста компьютера, необходимо настроить проверку подлинности для исходящего прокси-сервера с использованием контекста компьютера. Обратитесь к поставщику исходящего прокси-сервера, чтобы узнать требования к конфигурации.

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

Настройка

Вы можете настроить гибридные устройства Microsoft Entra для различных типов платформ устройств Windows.

После завершения этих конфигураций следуйте инструкциям по проверке регистрации.

настройка точки подключения службы;

Устройства используют объект точки подключения службы (SCP) во время регистрации для обнаружения сведений о клиенте Microsoft Entra. В экземпляре локальная служба Active Directory объект SCP для гибридных устройств Microsoft Entra должен существовать в разделе контекста именования конфигурации леса компьютера. В каждом лесу существует только один контекст именования конфигурации. В конфигурации Active Directory с несколькими лесами точка подключения службы должна существовать во всех лесах с присоединенными к домену компьютерами.

Объект SCP содержит значения двух ключевых слов — azureADid:<TenantID> и azureADName:<verified domain>. Значение <verified domain> в ключевом слове azureADName определяет тип потока регистрации устройства (федеративного или управляемого), которому будет следовать устройство после считывания значения SCP из локального экземпляра службы Active Directory. Дополнительные сведения об управляемых и федеративных потоках см. в статье о том, как работает регистрация устройств Microsoft Entra.

Для получения контекста именования конфигурации для леса можно использовать командлет Get-ADRootDSE.

Для леса, в котором домен Active Directory имеет имя example.com, контекст именования конфигурации будет таким:

CN=Configuration,DC=fabrikam,DC=com

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

CN=62a0ff2e-97b9-4513-943f-0d221bd30080,CN=Device Registration Configuration,CN=Services,[Your Configuration Naming Context]

В зависимости от способа развертывания Microsoft Entra Подключение объект SCP может быть уже настроен. Вы можете проверить существование объекта и получить значения обнаружения с помощью следующего скрипта PowerShell:

$scp = New-Object System.DirectoryServices.DirectoryEntry;

$scp.Path = "LDAP://CN=62a0ff2e-97b9-4513-943f-0d221bd30080,CN=Device Registration Configuration,CN=Services,CN=Configuration,DC=fabrikam,DC=com";

$scp.Keywords;

$scp . Выходные данные ключевых слов показывают сведения о клиенте Microsoft Entra. Приведем пример:

azureADName:microsoft.com
azureADId:72f988bf-86f1-41af-91ab-2d7cd011db47

настройка выдачи утверждений;

В федеративной конфигурации Microsoft Entra устройства используют AD FS или локальную службу федерации от партнера Майкрософт для проверки подлинности в идентификаторе Microsoft Entra. Устройства проходят проверку подлинности, чтобы получить маркер доступа для регистрации в службе регистрации устройств Microsoft Entra (Azure DRS).

Аутентификация текущих устройств Windows выполняется с помощью встроенной проверки подлинности Windows в активной конечной точке WS-Trust (версии 1.3 или 2005), размещенной в локальной службе федерации.

При использовании AD FS необходимо включить следующие конечные точки WS-Trust:

  • /adfs/services/trust/2005/windowstransport
  • /adfs/services/trust/13/windowstransport
  • /adfs/services/trust/2005/usernamemixed
  • /adfs/services/trust/13/usernamemixed
  • /adfs/services/trust/2005/certificatemixed
  • /adfs/services/trust/13/certificatemixed

Предупреждение

Также нужно включить adfs/services/trust/2005/windowstransport и adfs/services/trust/13/windowstransport, но только в качестве конечных точек с подключением к интрасети. Их НЕЛЬЗЯ предоставлять как конечные точки с подключением к экстрасети через прокси-сервер веб-приложения. Дополнительные сведения см. в статье об отключении конечных точек WS-Trust в Windows на прокси-сервере. В разделе Служба>Конечные точки вы можете увидеть, какие конечные точки активированы в консоли управления AD FS.

Примечание.

Если у вас нет AD FS в качестве локальной службы федерации, следуйте инструкциям поставщика, чтобы убедиться, что они поддерживают конечные точки WS-Trust 1.3 или 2005 и которые публикуются через файл Exchange метаданных (MEX).

Чтобы регистрация устройства прошла успешно, в полученном с помощью DRS Azure маркере должны существовать следующие утверждения. Azure DRS создает объект устройства в идентификаторе Microsoft Entra с некоторыми из этих сведений. Microsoft Entra Подключение затем использует эти сведения для связывания созданного объекта устройства с локальной учетной записью компьютера.

  • http://schemas.microsoft.com/ws/2012/01/accounttype
  • http://schemas.microsoft.com/identity/claims/onpremobjectguid
  • http://schemas.microsoft.com/ws/2008/06/identity/claims/primarysid

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

  • http://schemas.microsoft.com/ws/2008/06/identity/claims/issuerid

Если вы уже выдаете утверждение ImmutableID (например, используя mS-DS-ConsistencyGuid или другой атрибут в качестве исходного значения для ImmutableID), предоставьте одно соответствующее утверждение для компьютеров.

  • http://schemas.microsoft.com/LiveID/Federation/2008/05/ImmutableID

В следующих разделах вы найдете следующую информацию:

  • какие значения должны входить в каждое утверждение;
  • как выглядит определение в AD FS.

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

Примечание.

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

Выдача утверждений для типа учетной записи

Утверждение http://schemas.microsoft.com/ws/2012/01/accounttype должно содержать значение DJ, которое идентифицирует устройство как присоединенный к домену компьютер. В AD FS вы можете добавить правила преобразования выдачи, например такие:

@RuleName = "Issue account type for domain-joined computers"
c:[
   Type == "http://schemas.microsoft.com/ws/2008/06/identity/claims/groupsid",
   Value =~ "-515$",
   Issuer =~ "^(AD AUTHORITY|SELF AUTHORITY|LOCAL AUTHORITY)$"
]
=> issue(
   Type = "http://schemas.microsoft.com/ws/2012/01/accounttype",
   Value = "DJ"
);

Выдача идентификатора objectGUID для локальной учетной записи компьютера

Утверждение http://schemas.microsoft.com/identity/claims/onpremobjectguid должно содержать значение objectGUID для учетной записи локального компьютера. В AD FS вы можете добавить правила преобразования выдачи, например такие:

@RuleName = "Issue object GUID for domain-joined computers"
c1:[
   Type == "http://schemas.microsoft.com/ws/2008/06/identity/claims/groupsid",
   Value =~ "-515$", 
   Issuer =~ "^(AD AUTHORITY|SELF AUTHORITY|LOCAL AUTHORITY)$"
]
&&
c2:[
   Type == "http://schemas.microsoft.com/ws/2008/06/identity/claims/windowsaccountname",
   Issuer =~ "^(AD AUTHORITY|SELF AUTHORITY|LOCAL AUTHORITY)$"
]
=> issue(
   store = "Active Directory",
   types = ("http://schemas.microsoft.com/identity/claims/onpremobjectguid"),
   query = ";objectguid;{0}",
   param = c2.Value
);

Проблема objectSid учетной записи компьютера в локальной среде

Утверждение http://schemas.microsoft.com/ws/2008/06/identity/claims/primarysid должно содержать значение objectSid для учетной записи локального компьютера. В AD FS вы можете добавить правила преобразования выдачи, например такие:

@RuleName = "Issue objectSID for domain-joined computers"
c1:[
   Type == "http://schemas.microsoft.com/ws/2008/06/identity/claims/groupsid",
   Value =~ "-515$",
   Issuer =~ "^(AD AUTHORITY|SELF AUTHORITY|LOCAL AUTHORITY)$"
]
&&
c2:[
   Type == "http://schemas.microsoft.com/ws/2008/06/identity/claims/primarysid",
   Issuer =~ "^(AD AUTHORITY|SELF AUTHORITY|LOCAL AUTHORITY)$"
]
=> issue(claim = c2);

Выдача идентификатора издателя для компьютера при наличии нескольких проверенных доменных имен в идентификаторе Microsoft Entra

Утверждение http://schemas.microsoft.com/ws/2008/06/identity/claims/issuerid должно содержать универсальный идентификатор ресурса (URI) для любого проверенного доменного имени, которое подключается с использованием локальной службы федерации (AD FS или стороннего поставщика), выдающей маркер. В AD FS вы можете добавить правила преобразования выдачи, похожие на представленные ниже, (именно в таком порядке) после указанных выше правил. Одно правило для явной выдачи правил пользователям является обязательным. В следующих правилах добавляется первое правило, определяющее аутентификацию пользователя, а не компьютера.

@RuleName = "Issue account type with the value User when its not a computer"
NOT EXISTS(
[
   Type == "http://schemas.microsoft.com/ws/2012/01/accounttype",
   Value == "DJ"
]
)
=> add(
   Type = "http://schemas.microsoft.com/ws/2012/01/accounttype",
   Value = "User"
);

@RuleName = "Capture UPN when AccountType is User and issue the IssuerID"
c1:[
   Type == "http://schemas.xmlsoap.org/claims/UPN"
]
&&
c2:[
   Type == "http://schemas.microsoft.com/ws/2012/01/accounttype",
   Value == "User"
]
=> issue(
   Type = "http://schemas.microsoft.com/ws/2008/06/identity/claims/issuerid",
   Value = regexreplace(
   c1.Value,
   ".+@(?<domain>.+)",
   "http://${domain}/adfs/services/trust/"
   )
);

@RuleName = "Issue issuerID for domain-joined computers"
c:[
   Type == "http://schemas.microsoft.com/ws/2008/06/identity/claims/groupsid",
   Value =~ "-515$",
   Issuer =~ "^(AD AUTHORITY|SELF AUTHORITY|LOCAL AUTHORITY)$"
]
=> issue(
   Type = "http://schemas.microsoft.com/ws/2008/06/identity/claims/issuerid",
   Value = "http://<verified-domain-name>/adfs/services/trust/"
);

В приведенном выше утверждении <verified-domain-name> является заполнителем, Замените его одним из проверенных доменных имен в идентификаторе Microsoft Entra. Например, укажите Value = "http://contoso.com/adfs/services/trust/".

Дополнительные сведения о проверенных доменных именах см. в разделе "Добавление имени личного домена" в идентификатор Microsoft Entra ID.

Чтобы получить список проверенных доменов компании, можно использовать командлет Get-MgDomain .

Список доменов компании

Выдача утверждения ImmutableID для компьютера, если оно существует (например, используя mS-DS-ConsistencyGuid в качестве источника для ImmutableID)

Утверждение http://schemas.microsoft.com/LiveID/Federation/2008/05/ImmutableID должно содержать допустимое значение для компьютеров. В AD FS можно создать такие правила преобразования выдачи:

@RuleName = "Issue ImmutableID for computers"
c1:[
   Type == "http://schemas.microsoft.com/ws/2008/06/identity/claims/groupsid",
   Value =~ "-515$",
   Issuer =~ "^(AD AUTHORITY|SELF AUTHORITY|LOCAL AUTHORITY)$"
]
&&
c2:[
   Type == "http://schemas.microsoft.com/ws/2008/06/identity/claims/windowsaccountname",
   Issuer =~ "^(AD AUTHORITY|SELF AUTHORITY|LOCAL AUTHORITY)$"
]
=> issue(
   store = "Active Directory",
   types = ("http://schemas.microsoft.com/LiveID/Federation/2008/05/ImmutableID"),
   query = ";objectguid;{0}",
   param = c2.Value
);

Вспомогательный скрипт для создания правила преобразования выдачи AD FS

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

$multipleVerifiedDomainNames = $false
$immutableIDAlreadyIssuedforUsers = $false
$oneOfVerifiedDomainNames = 'example.com'   # Replace example.com with one of your verified domains

$rule1 = '@RuleName = "Issue account type for domain-joined computers"
c:[
   Type == "http://schemas.microsoft.com/ws/2008/06/identity/claims/groupsid",
   Value =~ "-515$",
   Issuer =~ "^(AD AUTHORITY|SELF AUTHORITY|LOCAL AUTHORITY)$"
]
=> issue(
   Type = "http://schemas.microsoft.com/ws/2012/01/accounttype",
   Value = "DJ"
);'

$rule2 = '@RuleName = "Issue object GUID for domain-joined computers"
c1:[
   Type == "http://schemas.microsoft.com/ws/2008/06/identity/claims/groupsid",
   Value =~ "-515$",
   Issuer =~ "^(AD AUTHORITY|SELF AUTHORITY|LOCAL AUTHORITY)$"
]
&&
c2:[
   Type == "http://schemas.microsoft.com/ws/2008/06/identity/claims/windowsaccountname",
   Issuer =~ "^(AD AUTHORITY|SELF AUTHORITY|LOCAL AUTHORITY)$"
]
=> issue(
   store = "Active Directory",
   types = ("http://schemas.microsoft.com/identity/claims/onpremobjectguid"),
   query = ";objectguid;{0}",
   param = c2.Value
);'

$rule3 = '@RuleName = "Issue objectSID for domain-joined computers"
c1:[
   Type == "http://schemas.microsoft.com/ws/2008/06/identity/claims/groupsid",
   Value =~ "-515$",
   Issuer =~ "^(AD AUTHORITY|SELF AUTHORITY|LOCAL AUTHORITY)$"
]
&&
c2:[
   Type == "http://schemas.microsoft.com/ws/2008/06/identity/claims/primarysid",
   Issuer =~ "^(AD AUTHORITY|SELF AUTHORITY|LOCAL AUTHORITY)$"
]
=> issue(claim = c2);'

$rule4 = ''
if ($multipleVerifiedDomainNames -eq $true) {
$rule4 = '@RuleName = "Issue account type with the value User when it is not a computer"
NOT EXISTS(
[
   Type == "http://schemas.microsoft.com/ws/2012/01/accounttype",
   Value == "DJ"
]
)
=> add(
   Type = "http://schemas.microsoft.com/ws/2012/01/accounttype",
   Value = "User"
);

@RuleName = "Capture UPN when AccountType is User and issue the IssuerID"
c1:[
   Type == "http://schemas.xmlsoap.org/claims/UPN"
]
&&
c2:[
   Type == "http://schemas.microsoft.com/ws/2012/01/accounttype",
   Value == "User"
]
=> issue(
   Type = "http://schemas.microsoft.com/ws/2008/06/identity/claims/issuerid",
   Value = regexreplace(
   c1.Value,
   ".+@(?<domain>.+)",
   "http://${domain}/adfs/services/trust/"
   )
);

@RuleName = "Issue issuerID for domain-joined computers"
c:[
   Type == "http://schemas.microsoft.com/ws/2008/06/identity/claims/groupsid",
   Value =~ "-515$",
   Issuer =~ "^(AD AUTHORITY|SELF AUTHORITY|LOCAL AUTHORITY)$"
]
=> issue(
   Type = "http://schemas.microsoft.com/ws/2008/06/identity/claims/issuerid",
   Value = "http://' + $oneOfVerifiedDomainNames + '/adfs/services/trust/"
);'
}

$rule5 = ''
if ($immutableIDAlreadyIssuedforUsers -eq $true) {
$rule5 = '@RuleName = "Issue ImmutableID for computers"
c1:[
   Type == "http://schemas.microsoft.com/ws/2008/06/identity/claims/groupsid",
   Value =~ "-515$",
   Issuer =~ "^(AD AUTHORITY|SELF AUTHORITY|LOCAL AUTHORITY)$"
]
&&
c2:[
   Type == "http://schemas.microsoft.com/ws/2008/06/identity/claims/windowsaccountname",
   Issuer =~ "^(AD AUTHORITY|SELF AUTHORITY|LOCAL AUTHORITY)$"
]
=> issue(
   store = "Active Directory",
   types = ("http://schemas.microsoft.com/LiveID/Federation/2008/05/ImmutableID"),
   query = ";objectguid;{0}",
   param = c2.Value
);'
}

$existingRules = (Get-ADFSRelyingPartyTrust -Identifier urn:federation:MicrosoftOnline).IssuanceTransformRules

$updatedRules = $existingRules + $rule1 + $rule2 + $rule3 + $rule4 + $rule5

$crSet = New-ADFSClaimRuleSet -ClaimRule $updatedRules

Set-AdfsRelyingPartyTrust -TargetIdentifier urn:federation:MicrosoftOnline -IssuanceTransformRules $crSet.ClaimRulesString

Замечания

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

  • Если у вас несколько проверенных доменных имен, задайте значение $multipleVerifiedDomainNames в скрипте для $true. Кроме того, удалите все существующие утверждения, созданные microsoft Entra Подключение или другими средствами. Вот пример для этого правила:

    c:[Type == "http://schemas.xmlsoap.org/claims/UPN"]
    => issue(Type = "http://schemas.microsoft.com/ws/2008/06/identity/claims/issuerid", Value = regexreplace(c.Value, ".+@(?<domain>.+)",  "http://${domain}/adfs/services/trust/")); 
    

Если вы выпустили утверждение ImmutableID для учетных записей пользователей, задайте значение $immutableIDAlreadyIssuedforUsers в скрипте для $true.

Устранение неполадок реализации

Если возникают проблемы с гибридным присоединением Microsoft Entra для устройств Windows, присоединенных к домену, см. следующие сведения: