Настройка подключения по протоколу OAuth между Skype для бизнеса Online и локальной системой ExchangeConfigure OAuth between Skype for Business Online and Exchange on premises

Настройка OAuth проверки подлинности между Exchange при локальном и Скайп для бизнеса в Интернет позволяет Скайп для бизнеса и интеграция с Exchange, описанными в функции поддержки.Configuring OAuth authentication between Exchange on premises and Skype for Business Online enables the Skype for Business and Exchange Integration features described in Feature support.

Данный раздел относится к Exchange Server 2016 и Exchange Server 2013.This topic applies to Exchange Server 2016 and Exchange Server 2013.

Что нужно знать перед началом работы?What do you need to know before you begin?

Настройка проверки подлинности OAuth между локальным Exchange и организациями Skype для бизнесаConfigure OAuth authentication between your on-premises Exchange and Skype for Business organizations

Шаг 1. Создайте объект сервера авторизации для организации Skype для бизнеса OnlineStep 1: Create an authorization server object for your Skype for Business Online organization

Укажите подтвержденным доменом вашей Скайп для бизнеса сети организации.Specify a verified domain for your Skype for Business Online organization. Это должен быть тот же домен, который использовался в качестве основного домена SIP для облачных учетных записей.This domain should be the same domain used as the primary SIP domain used for the cloud-based accounts. В этом домене называется <домена проверены> в следующей процедуре.This domain is referred as <your Verified Domain> in the following procedure.

Выполните следующую команду в консоль управления Exchange (Exchange PowerShell) в своей локальной организации Exchange.Run the following command in the Exchange Management Shell (the Exchange PowerShell) in your on-premises Exchange organization.

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

Шаг 2. Включите партнерское приложение для организации Skype для бизнеса OnlineStep 2: Enable the partner application for your Skype for Business Online organization

Выполните следующую команду в Exchange PowerShell в своей локальной организации Exchange.Run the following command in the Exchange PowerShell in your on-premises Exchange organization.

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

Шаг 3. Создайте новую учетную запись пользователя почты для партнерского приложения Skype для бизнеса OnlineStep 3: Create a new Mail User account for the Skype for Business Online Partner Application

Этот шаг выполняется локально. На этом шаге создается пользователь почты, которому назначаются соответствующие права роли управления. Затем эта учетная запись используется на следующем шаге.This step is done on-premises. It will create a mail user and assign it the appropriate management role rights. This account will then be used in the next step.

Укажите подтвержденным доменом в организации Exchange.Specify a verified domain for your Exchange organization. Этот домен должен быть того же домена, используется в качестве основного домена SMTP, используемый для учетных записей Exchange в локальной.This domain should be the same domain used as the primary SMTP domain used for the on-premises Exchange accounts. В этом домене называется <домена проверены> в следующей процедуре.This domain is referred as <your Verified Domain> in the following procedure. Кроме того <DomainControllerFQDN> должно быть полное доменное имя контроллера домена.Also, the <DomainControllerFQDN> should be the FQDN of a domain controller.

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

Эта команда скрывает нового пользователя почты из списка адресов.This command will hide the new mail user from address lists.

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

Следующие две команды назначают новой учетной записи роль управления UserApplication и ArchiveApplication.These next two commands will assign the UserApplication and ArchiveApplication management role to this new account.

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

Шаг 4. Создайте и активируйте партнерское приложение для Skype для бизнеса OnlineStep 4: Create and enable a Partner Application for Skype for Business Online

Создайте новое партнерское приложение и начните использовать созданную учетную запись.Create a new partner application and will use the account you just created. Выполните следующую команду в Exchange PowerShell в своей локальной организации Exchange.Run the following command in the Exchange PowerShell in your on-premises Exchange organization.

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

Шаг 5. Экспортируйте локальный сертификат авторизацииStep 5: Export the on-premises authorization certificate

Выполнение скрипта PowerShell, чтобы экспортировать сертификат проверки подлинности в локальной, который импортируется на вашей Скайп для бизнеса в Интернет организации на следующем шаге.Run a PowerShell script to export the on-premises authorization certificate, which you will import to your Skype for Business Online organization in the next step.

Сохраните следующий тест в файл сценария PowerShell, который можно назвать ExportAuthCert.ps1.Save the following text to a PowerShell script file named, for example, 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, который вы только что создали.In Exchange PowerShell in your on-premises Exchange organization, run the PowerShell script that you just created. Например:.\ExportAuthCert.ps1For example: .\ExportAuthCert.ps1

Шаг 6. Отправьте локальный сертификат авторизации в Azure Active Directory ACSStep 6: Upload the on-premises authorization certificate to Azure Active Directory ACS

Далее, используя Windows PowerShell, отправьте локальный сертификат авторизации, экспортированный на предыдущем шаге, в службу управления доступом Azure Active Directory (ACS).Next, use Windows PowerShell to upload the on-premises authorization certificate that you exported in the previous step to Azure Active Directory Access Control Services (ACS). Перед выполнением этого действия необходимо установить командлеты модуля Azure Active Directory Module для Windows PowerShell.To do this, the Azure Active Directory Module for Windows PowerShell cmdlets must already be installed. Если он не установлен, перейдите к разделу https://aka.ms/aadposh Установка Azure модуль Active Directory для Windows PowerShell.If it's not installed, go to https://aka.ms/aadposh to install the Azure Active Directory Module for Windows PowerShell. После установки модуля Azure Active Directory для Windows PowerShell выполните следующие действия.Complete the following steps after the Azure Active Directory Module for Windows PowerShell is installed.

  1. Нажмите на ярлык Модуль Azure Active Directory для Windows PowerShell, чтобы открыть рабочую область Windows PowerShell с установленными командлетами Azure AD. Все команды на этом шаге должны быть выполнены с помощью консоли Windows PowerShell для Azure Active Directory.Click the Azure Active Directory Module for Windows PowerShell shortcut to open a Windows PowerShell workspace that has the Azure AD cmdlets installed. All commands in this step will be run using the Windows PowerShell for Azure Active Directory console.

  2. Сохраните следующий текст в файл сценария PowerShell с именем, например, UploadAuthCert.ps1.Save the following text to a PowerShell script file named, for example, 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, созданный на предыдущем шаге.Run the PowerShell script that you created in the previous step. Например:.\UploadAuthCert.ps1For example: .\UploadAuthCert.ps1

  4. После запуска сценария появится диалоговое окно для ввода учетных данных. Введите данные учетной записи администратора клиента вашей организации Microsoft Online Azure AD. После выполнения сценария оставьте сеанс работы Windows PowerShell для Azure AD открытым. Он будет использоваться для запуска сценария PowerShell на следующем шаге.After you start the script, a credentials dialog box is displayed. Enter the credentials for the tenant administrator account of your Microsoft Online Azure AD organization. After running the script, leave the Windows PowerShell for Azure AD session open. You will use this to run a PowerShell script in the next step.

Шаг 7. Зарегистрируйте источник имени хоста для домена SMTPStep 7: Register the hostname authorities for the SMTP domain

Укажите подтвержденным доменом в организации Exchange.Specify a verified domain for your Exchange organization. Этот домен должен быть того же домена, используется в качестве основного домена SMTP, используемый для учетных записей Exchange в локальной.This domain should be the same domain used as the primary SMTP domain used for the on-premises Exchange accounts. В этом домене называется <домена проверены> в следующей процедуре.This domain is referred as <your Verified Domain> in the following procedure.

Примечание

Для успешного выполнения следующего сценария требуется подключить Windows PowerShell для Azure Active Directory к клиенту Microsoft Online Azure AD, как описано на шаге 4 предыдущего раздела.Successfully running the following script requires that the Windows PowerShell for Azure Active Directory is connected to your Microsoft Online Azure AD tenant, as explained in step 4 in the previous section.

  1. Сохраните следующий тест в файл сценария PowerShell, который можно назвать RegisterEndpoints.ps1.Save the following text to a PowerShell script file named, for example, RegisterEndpoints.ps1. В этом примере используется подстановочный знак для регистрации всех конечных точек для contoso.com. Замените contoso.com сертификации имя узла для своей локальной организации ExchangeThis example uses a wildcard to register all endpoints for contoso.com. Replace contoso.com with a hostname authority for your on-premises Exchange organization

    $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, созданный на предыдущем шаге.In Windows PowerShell for Azure Active Directory, run the Windows PowerShell script that you created in the previous step. Например: .\RegisterEndpoints.ps1For example: .\RegisterEndpoints.ps1

Проверка успешности выполненияVerify your success

Проверьте правильность конфигурации OAuth, проверив работу отдельных функций, например, отображение журнала бесед для мобильных клиентов в папке журнала бесед Outlook.Verify that the OAuth configuration is correct by verifying some of the features are working successfully, such as having conversation history for mobile clients visible in the Outlook Conversation History folder.

  1. Запустите Скайп для мобильных устройств бизнес-приложения на Windows Phone или устройства iOS и войдите в качестве Скайп для бизнеса в Интернет пользователя с помощью Exchange 2016 или локального почтового ящика Exchange 2013.Start the Skype for Business mobile app on your Windows Phone or iOS device and sign in as a Skype for Business Online user with an Exchange 2016 or Exchange 2013 on-premises mailbox.

  2. Иметь сеанс обмена мгновенными сообщениями с другой Скайп для бизнеса в Интернет пользователя.Have an instant messaging conversation with another Skype for Business Online user.

  3. Закройте окно беседы.Close the IM conversation window.

  4. Запустите Outlook от имени этого пользователя и убедитесь, что беседа отображается в папке журнала бесед Outlook.Start Outlook for this user and verify that the conversation is visible in the Outlook Conversation history folder.