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


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

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

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

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

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

Для гибридного присоединения к 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 имеет имя fabrikam.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 Connect объект 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.Keywords показывают сведения о клиенте Microsoft Entra. Приведем пример:

azureADName:microsoft.com
azureADId:a0a0a0a0-bbbb-cccc-dddd-e1e1e1e1e1e1

настройка выдачи заявок

В федеративной конфигурации Microsoft Entra устройства используют AD FS или локальную службу федерации от партнера Майкрософт для аутентификации в Microsoft Entra ID. Устройства проходят проверку подлинности, чтобы получить маркер доступа для регистрации в службе регистрации устройств 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 и что они опубликованы через файл Metadata Exchange (MEX).

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

  • 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. Кроме того, удалите все существующие утверждения issuerid, созданные Microsoft Entra Connect или другими средствами. Вот пример для этого правила:

    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, подключенных к домену, см.: