Настройка проверки подлинности между серверами для гибридной среды Skype для бизнеса Server.

Сводка: Настройка проверки подлинности между серверами для Skype для бизнеса Server гибридной среды.

В гибридной конфигурации некоторые пользователи размещаются в локальной установке Skype для бизнеса Server. Другие пользователи используют Microsoft 365 или Office 365 версию Skype для бизнеса Server. Чтобы настроить проверку подлинности между серверами в гибридной среде, необходимо сначала настроить локальную установку Skype для бизнеса Server, чтобы доверять серверу авторизации. Начальный шаг в этом процессе можно выполнить, выполнив следующий скрипт командной консоли Skype для бизнеса Server:

$TenantID = (Get-CsTenant -Filter {DisplayName -eq "Fabrikam.com"}).TenantId

$sts = Get-CsOAuthServer microsoft.sts -ErrorAction SilentlyContinue

   if ($sts -eq $null)
      {
         New-CsOAuthServer microsoft.sts -MetadataUrl "https://accounts.accesscontrol.windows.net/$TenantId/metadata/json/1"
      }
   else
      {
         if ($sts.MetadataUrl -ne  "https://accounts.accesscontrol.windows.net/$TenantId/metadata/json/1")
            {
               Remove-CsOAuthServer microsoft.sts
               New-CsOAuthServer microsoft.sts -MetadataUrl "https://accounts.accesscontrol.windows.net/$TenantId/metadata/json/1"
            }
        }

$exch = Get-CsPartnerApplication microsoft.exchange -ErrorAction SilentlyContinue

if ($exch -eq $null)
   {
      New-CsPartnerApplication -Identity microsoft.exchange -ApplicationIdentifier 00000002-0000-0ff1-ce00-000000000000 -ApplicationTrustLevel Full -UseOAuthServer
    }
else
    {
       if ($exch.ApplicationIdentifier -ne "00000002-0000-0ff1-ce00-000000000000")
          {
             Remove-CsPartnerApplication microsoft.exchange
             New-CsPartnerApplication -Identity microsoft.exchange -ApplicationIdentifier 00000002-0000-0ff1-ce00-000000000000 -ApplicationTrustLevel Full -UseOAuthServer 
          }
       else
          {
             Set-CsPartnerApplication -Identity microsoft.exchange -ApplicationTrustLevel Full -UseOAuthServer
          }
   }

Set-CsOAuthConfiguration -ServiceName 00000004-0000-0ff1-ce00-000000000000

Помните о том, что имя области для клиента обычно отличается от имени организации; на деле имя области почти всегда совпадает с идентификатором клиента. Поэтому первая строка скрипта используется для возврата значения свойства TenantId для указанного клиента (в данном случае fabrikam.com), а затем присваивает это имя переменной $TenantId:

$TenantID = (Get-CsTenant -Filter {DisplayName -eq "Fabrikam.com"}).TenantId

Для выполнения этого сценария необходимо установить Skype для бизнеса сетевого модуля PowerShell и подключиться к клиенту с помощью этого модуля. Если вы не установили эти командлеты, скрипт завершится ошибкой, так как командлет Get-CsTenant будет недоступен. После завершения сценария необходимо настроить отношение доверия между Skype для бизнеса Server и сервером авторизации, а также второе отношение доверия между Exchange 2013/2016 и сервером авторизации. Это возможно только с помощью командлетов Microsoft Online Services.

Примечание.

Если вы не установили командлеты Microsoft Online Services, необходимо установить их из репозитория PowerShell с помощью командлета install-module MSOnline. Подробные сведения об установке и использовании модуля Microsoft Online Services можно найти на веб-сайте Microsoft 365. В этих инструкциях также описано, как настроить единый вход, федерацию и синхронизацию между Microsoft 365 или Office 365 и Active Directory.

После настройки Microsoft 365 или Office 365 и создания субъектов-служб Microsoft 365 или Office 365 для Skype для бизнеса Server и Exchange 2013 необходимо зарегистрировать учетные данные в этих субъектах-службах. Чтобы зарегистрировать учетные данные, необходимо сначала получить сертификат X.509 Base64, сохраненный как . CER-файл. Затем этот сертификат будет применен к субъектам-службам Microsoft 365 или Office 365.

Примечание.

Azure AD PowerShell планируется устареть 30 марта 2024 г. Дополнительные сведения см. в статье Обновление для прекращения поддержки.

Мы рекомендуем выполнить миграцию в Microsoft Graph PowerShell для взаимодействия с Microsoft Entra ID (ранее Azure AD). Microsoft Graph PowerShell предоставляет доступ ко всем API Microsoft Graph и доступен в PowerShell 7. Ответы на распространенные запросы миграции см. в разделе Вопросы и ответы о миграции.

При получении сертификата X.509 откройте консоль PowerShell и импортируйте модуль Microsoft Online Windows PowerShell, содержащий командлеты, которые можно использовать для управления субъектами-службами:

Import-Module MSOnline

После импорта модуля введите следующую команду и нажмите клавишу ВВОД:

Connect-MsolService

При нажатии клавиши Enter отображается диалоговое окно учетных данных. Введите имя пользователя и пароль Microsoft 365 или Office 365 в диалоговом окне, а затем нажмите кнопку ОК.

После подключения к Microsoft 365 или Office 365 можно выполнить следующую команду, чтобы вернуть сведения о субъектах-службах:

Get-MsolServicePrincipal

Команда возвращает для всех субъектов-служб сведения, похожие на следующие:

ExtensionData        : System.Runtime.Serialization.ExtensionDataObject
AccountEnabled       : True
Addresses            : {}
AppPrincipalId       : 00000004-0000-0ff1-ce00-000000000000
DisplayName          : Skype for Business Server
ObjectId             : aada5fbd-c0ae-442a-8c0b-36fec40602e2
ServicePrincipalName : SkypeForBusinessServer/litwareinc.com
TrustedForDelegation : True

На следующем шаге выполняется импорт, кодирование и назначение сертификата X.509. Чтобы импортировать и закодировать сертификат, используйте следующие команды Windows PowerShell, обязательно укажите полный путь к файлу . CER-файл при вызове метода Import:

$certificate = New-Object System.Security.Cryptography.X509Certificates.X509Certificate
$certificate.Import("C:\Certificates\Office365.cer")
$binaryValue = $certificate.GetRawCertData()
$credentialsValue = [System.Convert]::ToBase64String($binaryValue) 

После импорта и кодирования сертификата можно назначить сертификат субъектам-службам Microsoft 365 или Office 365. Для этого сначала используйте Get-MsolServicePrincipal, чтобы получить значение свойства AppPrincipalId как для Skype для бизнеса Server, так и для субъектов-служб Microsoft Exchange. Значение свойства AppPrincipalId будет использоваться для идентификации субъекта-службы, которому назначается сертификат. Имея в руках значение свойства AppPrincipalId для Skype для бизнеса Server, используйте следующую команду, чтобы назначить сертификат версии Skype для бизнеса Online:

New-MsolServicePrincipalCredential -AppPrincipalId 00000004-0000-0ff1-ce00-000000000000 -Type Asymmetric -Usage Verify -Value $credentialsValue 

Затем повторите команду, на этот раз используя значение свойства AppPrincipalId для Exchange 2013.

Если позже потребуется удалить этот сертификат, например, если срок его действия истек, вы можете сделать это, сначала овладел KeyId для сертификата:

Get-MsolServicePrincipalCredential -AppPrincipalId 00000004-0000-0ff1-ce00-000000000000

Эта команда возвращает следующие данные:

Type      : Asymmetric
Value     : 
KeyId     : bc2795f3-2387-4543-a95d-f92c85c7a1b0
StartDate : 6/1/2012 8:00:00 AM
EndDate   : 5/31/2013 8:00:00 AM
Usage     : Verify

После этого вы можете удалить сертификат с помощью следующей команды:

Remove-MsolServicePrincipalCredential -AppPrincipalId 00000004-0000-0ff1-ce00-000000000000 -KeyId bc2795f3-2387-4543-a95d-f92c85c7a1b0

Помимо назначения сертификата необходимо также настроить субъект-службу Exchange Online и локальную версию Skype для бизнеса Server URL-адресов внешних веб-служб в качестве субъекта-службы Microsoft 365 или Office 365. Для этого можно выполнить две следующие команды:

В следующем примере Pool1ExternalWebFQDN.contoso.com — это URL-адрес внешних веб-служб для пула Skype для бизнеса Server. Эти действия следует повторить, чтобы добавить все URL-адреса внешних веб-служб в развертывание.

Set-MSOLServicePrincipal -AppPrincipalID 00000002-0000-0ff1-ce00-000000000000 -AccountEnabled $true
$lyncSP = Get-MSOLServicePrincipal -AppPrincipalID 00000004-0000-0ff1-ce00-000000000000
$lyncSP.ServicePrincipalNames.Add("00000004-0000-0ff1-ce00-000000000000/Pool1ExternalWebFQDN.contoso.com")
Set-MSOLServicePrincipal -AppPrincipalID 00000004-0000-0ff1-ce00-000000000000 -ServicePrincipalNames $lyncSP.ServicePrincipalNames