Настройка подключения по протоколу OAuth между Skype для бизнеса Online и локальной системой Exchange

Skype for Business Server 2015
 

Дата изменения раздела:2017-08-08

Настройка проверки подлинности OAuth между локальным Exchange и Skype для бизнеса Online позволяет использовать функции интеграции Skype для бизнеса и Exchange, описанные в разделе Feature support (поддержка компонентов).

Этот раздел относится к Exchange Server 2016 и Exchange Server 2013.

Укажите проверенный домен для организации Skype для бизнеса Online. Это должен быть тот же домен, который использовался в качестве основного домена SIP для облачных учетных записей. В следующей процедуре этот домен называется <your Verified Domain>.

Запустите следующую команду в командной консоли Exchange (Exchange PowerShell) в локальной организации Exchange.

New-AuthServer -Name "WindowsAzureACS" -AuthMetadataUrl "https://accounts.accesscontrol.windows.net/<your Verified Domain>/metadata/json/1" 

Запустите следующую команду в Exchange PowerShell в локальной организации Exchange.

Get-PartnerApplication | ?{$_.ApplicationIdentifier -eq "00000002-0000-0ff1-ce00-000000000000" -and $_.Realm -eq ""} | Set-PartnerApplication -Enabled $true

Этот шаг выполняется локально. На этом шаге создается пользователь почты, которому назначаются соответствующие права роли управления. Затем эта учетная запись используется на следующем шаге.

Укажите проверенный домен для организации Exchange. Это должен быть тот же домен, который использовался в качестве основного домена SMTP для локальных учетных записейExchange. В следующей процедуре этот домен называется <your Verified Domain>. Также для <DomainControllerFQDN> должно быть указано полное доменное имя контроллера домена.

$user = New-MailUser -Name SfBOnline-ApplicationAccount -ExternalEmailAddress SfBOnline-ApplicationAccount@<your Verified Domain> -DomainController <DomainControllerFQDN> 

Эта команда скрывает нового пользователя почты из списка адресов.

Set-MailUser -Identity $user.Identity -HiddenFromAddressListsEnabled $True -DomainController <DomainControllerFQDN> 

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

New-ManagementRoleAssignment -Role UserApplication -User $user.Identity -DomainController <DomainControllerFQDN> 

New-ManagementRoleAssignment -Role ArchiveApplication -User $user.Identity -DomainController <DomainControllerFQDN> 

Создайте новое партнерское приложение и начните использовать созданную учетную запись. Выполните следующую команду в Exchange PowerShell в локальной организации Exchange.

New-PartnerApplication -Name SfBOnline -ApplicationIdentifier 00000004-0000-0ff1-ce00-000000000000 -Enabled $True -LinkedAccount $user.Identity

Выполните сценарий PowerShell для экспорта локального сертификата авторизации, который будет импортирован в организацию Skype для бизнеса Online на следующем шаге.

Сохраните следующий тест в файл сценария PowerShell, который можно назвать ExportAuthCert.ps1.

$thumbprint = (Get-AuthConfig).CurrentCertificateThumbprint 
if((test-path $env:SYSTEMDRIVE\OAuthConfig) -eq $false) 
{ 
md $env:SYSTEMDRIVE\OAuthConfig 
} 
cd $env:SYSTEMDRIVE\OAuthConfig 
$oAuthCert = (dir Cert:\LocalMachine\My) | where {$_.Thumbprint -match $thumbprint} 
$certType = [System.Security.Cryptography.X509Certificates.X509ContentType]::Cert 
$certBytes = $oAuthCert.Export($certType) 
$CertFile = "$env:SYSTEMDRIVE\OAuthConfig\OAuthCert.cer" 
[System.IO.File]::WriteAllBytes($CertFile, $certBytes) 

В Exchange PowerShell в локальной организации Exchange выполните созданный сценарий PowerShell. Например: .\ExportAuthCert.ps1

Далее, используя Windows PowerShell, отправьте локальный сертификат авторизации, экспортированный на предыдущем шаге, в службу управления доступом Azure Active Directory (ACS). Перед выполнением этого действия необходимо установить командлеты модуля Azure Active Directory Module для Windows PowerShell. Если модуль не установлен, перейдите по адресу https://aka.ms/aadposh, чтобы установить его. После установки модуля Azure Active Directory для Windows PowerShell выполните следующие действия.

  1. Нажмите на ярлык Модуль Azure Active Directory для Windows PowerShell , чтобы открыть рабочую область Windows PowerShell с установленными командлетами Azure AD. Все команды на этом шаге должны быть выполнены с помощью консоли Windows PowerShell для Azure Active Directory.

  2. Сохраните следующий тест в файл сценария PowerShell, который можно назвать UploadAuthCert.ps1.

    Connect-MsolService; 
    Import-Module msonlineextended; 
    $CertFile = "$env:SYSTEMDRIVE\OAuthConfig\OAuthCert.cer" 
    $objFSO = New-Object -ComObject Scripting.FileSystemObject; 
    $CertFile = $objFSO.GetAbsolutePathName($CertFile); 
    $cer = New-Object System.Security.Cryptography.X509Certificates.X509Certificate 
    $cer.Import($CertFile); 
    $binCert = $cer.GetRawCertData(); 
    $credValue = [System.Convert]::ToBase64String($binCert); 
    $ServiceName = "00000002-0000-0ff1-ce00-000000000000"; 
    $p = Get-MsolServicePrincipal -ServicePrincipalName $ServiceName 
    New-MsolServicePrincipalCredential -AppPrincipalId $p.AppPrincipalId -Type asymmetric -Usage Verify -Value $credValue 
    
  3. Запустите сценарий PowerShell, созданный на предыдущем шаге. Например: .\UploadAuthCert.ps1

  4. После запуска сценария появится диалоговое окно для ввода учетных данных. Введите данные учетной записи администратора клиента вашей организации Microsoft Online Azure AD. После выполнения сценария оставьте сеанс работы Windows PowerShell для Azure AD открытым. Он будет использоваться для запуска сценария PowerShell на следующем шаге.

Укажите проверенный домен для организации Exchange. Это должен быть тот же домен, который использовался в качестве основного домена SMTP для локальных учетных записей Exchange. В следующей процедуре этот домен называется <your Verified Domain>.

noteПримечание.
Для успешного выполнения следующего сценария требуется подключить Windows PowerShell для Azure Active Directory к клиенту Microsoft Online Azure AD, как описано на шаге 4 предыдущего раздела.
  1. Сохраните следующий тест в файл сценария PowerShell, который можно назвать RegisterEndpoints.ps1. В этом примере используется подстановочный знак для регистрации всех конечных точек contoso.com. Замените contoso.com источником имени хоста для локальной организации Exchange

    $externalAuthority="*.<your Verified Domain>" 
    $ServiceName = "00000002-0000-0ff1-ce00-000000000000"; 
    $p = Get-MsolServicePrincipal -ServicePrincipalName $ServiceName; 
    $spn = [string]::Format("{0}/{1}", $ServiceName, $externalAuthority); 
    $p.ServicePrincipalNames.Add($spn); 
    Set-MsolServicePrincipal -ObjectID $p.ObjectId -ServicePrincipalNames $p.ServicePrincipalNames; 
    
  2. В Windows PowerShell для Azure Active Directory выполните сценарий Windows PowerShell, созданный на предыдущем шаге. Например:.\RegisterEndpoints.ps1

Проверьте правильность конфигурации OAuth, проверив работу отдельных функций, например, отображение журнала бесед для мобильных клиентов в папке журнала бесед Outlook.

  1. Запустите мобильное приложение Skype для бизнеса на устройстве с Windows Phone или iOS и войдите под именем пользователя Skype для бизнеса Online с Exchange 2016 или локальным почтовым ящиком Exchange 2013.

  2. Начните текстовую беседу с пользователем Skype для бизнеса Online.

  3. Закройте окно беседы.

  4. Запустите Outlook от имени этого пользователя и убедитесь, что беседа отображается в папке журнала бесед Outlook.

 
Показ: