次の方法で共有


Skype for Business Online と Exchange Server の間で統合と OAuth を構成する

Exchange サーバーと Skype for Business Online の統合を構成すると、「機能サポート」で説明されているSkype for Business機能と Exchange 統合機能が有効になります。

このトピックは、Exchange Server 2013 から 2019 への統合に適用されます。

事前に必要な知識

Exchange Serverと O365 の統合を構成する

手順 1: Exchange Serverと O365 の間で OAuth 認証を構成する

次の記事の手順を実行します。

Exchange とExchange Online組織の間で OAuth 認証を構成する

手順 2: Skype for Business オンライン パートナー アプリケーションの新しいメール ユーザー アカウントを作成する

この手順は、Exchange サーバーで行います。 これによって、メール ユーザーを作成し、適切な管理役割の権限を割り当てます。 このアカウントは、次の手順で使用します。

Exchange organizationの検証済みドメインを指定します。 このドメインは、オンプレミスの Exchange アカウントに使用されるプライマリ SMTP ドメインと同じドメインにする必要があります。 このドメインは、次の <手順で検証済みドメイン> と呼ばれます。 また、 <DomainControllerFQDN> はドメイン コントローラーの FQDN である必要があります。

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

このコマンドによって、アドレス一覧で新しいメール ユーザーが非表示になります。

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

次の 2 つのコマンドでは、この新しいアカウントに UserApplication および ArchiveApplication の管理役割を割り当てます。

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

手順 3: Skype for Business Online のパートナー アプリケーションを作成して有効にする

新しいパートナー アプリケーションを作成し、先に作成したアカウントを使用します。 オンプレミスの Exchange organizationの Exchange PowerShell で次のコマンドを実行します。

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

手順 4: オンプレミスの承認証明書をエクスポートする

PowerShell スクリプトを実行してオンプレミスの承認証明書をエクスポートします。この証明書は、次の手順でSkype for Business Online organizationにインポートします。

次のテキストを、たとえば ExportAuthCert.ps1 という名前の PowerShell スクリプト ファイルに保存します。

$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 organizationの Exchange PowerShell で、先ほど作成した PowerShell スクリプトを実行します。 例: .\ExportAuthCert.ps1

手順 5: オンプレミスの承認証明書を ACS Microsoft Entraにアップロードする

次に、Windows PowerShellを使用して、前の手順でエクスポートしたオンプレミスの承認証明書を Microsoft Entra Access Control Services (ACS) にアップロードします。 これを行うには、Windows PowerShell コマンドレット用の Azure Active Directory モジュールが既にインストールされている必要があります。 インストールされていない場合は、 に移動してhttps://aka.ms/aadposh、Windows PowerShell用の Azure Active Directory モジュールをインストールします。 Windows PowerShell用の Azure Active Directory モジュールがインストールされたら、次の手順を実行します。

  1. Microsoft Entra コマンドレットがインストールされているWindows PowerShell ワークスペースを開くには、Windows PowerShell ショートカットの Azure Active Directory モジュールをクリックします。 この手順のすべてのコマンドは、Microsoft Entra ID コンソールのWindows PowerShellを使用して実行されます。

  2. 次のテキストを という名前の PowerShell スクリプト ファイルに保存します (例: UploadAuthCert.ps1)。

    Connect-MgGraph
    Import-Module Microsoft.Graph
    $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 = "00000004-0000-0ff1-ce00-000000000000"
    $p = Get-MgServicePrincipal -ServicePrincipalId $ServicePrincipalNames
    Add-MgServicePrincipalKey -ServicePrincipalId $servicePrincipalId -Type asymmetric -Usage Verify -Value $credValue
    
  3. 先の手順で作成した PowerShell スクリプトを実行します。 例: .\UploadAuthCert.ps1

  4. スクリプトの開始後、[資格情報] ダイアログ ボックスが表示されます。 Microsoft Online Microsoft Entra organizationのテナント管理者アカウントの資格情報を入力します。 スクリプトを実行した後、セッションのWindows PowerShell Microsoft Entra開いたままにします。 次の手順では、これを使用して PowerShell スクリプトを実行します。

手順 6: 証明書が Skype for Business サービス プリンシパルにアップロードされていることを確認する

  1. Microsoft Entra ID に対して開いて認証された PowerShell で、次のコマンドを実行します。

    Get-MgServicePrincipal -ServicePrincipalId 00000004-0000-0ff1-ce00-000000000000
    
  2. ReturnKeyValues のプロンプトが表示されたら、Enter キーを押します

  3. Exchange Oauth 証明書の開始日と終了日に一致する開始日と終了日のデータが一覧表示されているキーが表示されることを確認します

成否を確認する

一部の機能が正常に動作していることを確認して、構成が正しいことを確認します。

  1. ハイブリッド Exchange Server 構成のorganizationで、クラウド ボイスメール サービスを持つユーザー Skype for Business、ボイスメールの案内応答を正常に変更できることを確認します。

  2. モバイル クライアントの会話履歴が Outlook の [会話の履歴] フォルダーに表示されていることを確認します。

  3. アーカイブされたチャット メッセージが EWSEditor を使用して Purges フォルダー内のユーザーのオンプレミス メールボックスに保存されていることを確認します。

または、トラフィックを確認します。 OAuth ハンドシェイクのトラフィックは、特に領域の周りで非常に特徴的です (基本的な認証のようには見えません)。この領域では、渡されるトークンで 0000004-00000-0ff1-ce00-0000000000@ (場合によっては、 / 前の @ 記号) の発行者トラフィックが表示されます。 OAuth のポイントであるユーザー名またはパスワードは表示されません。 ただし、"Office" 発行者 (この場合は '4' がSkype for Business) とサブスクリプションの領域が表示されます。

OAuth を正常に使用していることを確認する場合は、何を期待し、トラフィックの外観を把握するかを確認してください。 そこで、 期待する内容を次に示します。

設定 の例を次に示しますが、このプロセスを実行する任意のネットワーク トレース ツールを使用できます。

Exchange とExchange Online組織の間で OAuth 認証を構成する