サーバー間認証証明書を Skype for Business Server に割り当てる
概要:Skype for Business Serverのサーバー間認証証明書を割り当てます。
サーバー間認証証明書がSkype for Business Serverに割り当てられているかどうかを判断するには、Skype for Business Server管理シェルから次のコマンドを実行します。
Get-CsCertificate -Type OAuthTokenIssuer
証明書情報が返されない場合は、サーバー間認証を使用する前にトークン発行者証明書を割り当てる必要があります。 一般的な規則として、任意のSkype for Business Server証明書を OAuthTokenIssuer 証明書として使用できます。たとえば、Skype for Business Serverの既定の証明書を OAuthTokenIssuer 証明書として使用することもできます。 (OAUthTokenIssuer 証明書には、[サブジェクト] フィールドに SIP ドメインの名前を含む任意の Web サーバー証明書を指定することもできます)。サーバー間認証に使用される証明書の主な 2 つの要件は次のとおりです。1) すべてのフロント エンド サーバーで同じ証明書を OAuthTokenIssuer 証明書として構成する必要があります。2) 証明書は少なくとも 2048 ビットである必要があります。
サーバー対サーバーの認証に使用できる証明書がない場合は、新しい証明書をインポートして、その証明書をサーバー対サーバーの認証に使用します。 新しい証明書を要求して取得したら、いずれかのフロントエンド サーバーにサインインし、次のようなWindows PowerShell コマンドを使用して、その証明書をインポートして割り当てることができます。
Import-CsCertificate -Identity global -Type OAuthTokenIssuer -Path C:\Certificates\ServerToServerAuth.pfx -Password "P@ssw0rd"
前のコマンドでは、Path パラメーターは証明書ファイルへの完全なパスを表し、Password パラメーターは証明書に割り当てられたパスワードを表します。 この手順は 1 回だけ実行する必要があります。Skype for Business Server レプリケーション サービスは、すべてのフロントエンド サーバーに証明書の暗号化を解除して展開するスケジュールされた一連のタスクを自動的に作成します。
または、既存の証明書をサーバー間認証証明書として使用することもできます。 (説明したように、既定の証明書はサーバー間認証証明書として使用できます)。次のWindows PowerShell コマンドのペアは、既定の証明書の拇印プロパティの値を取得し、その値を使用して既定の証明書をサーバー間認証証明書にします。
$x = (Get-CsCertificate -Type Default).Thumbprint
Set-CsCertificate -Identity global -Type OAuthTokenIssuer -Thumbprint $x
前のコマンドでは、取得した証明書がグローバル サーバー間認証証明書として機能するように構成されています。つまり、証明書はすべてのフロントエンド サーバーにレプリケートされ、使用されます。 この場合も、このコマンドは 1 回だけ実行し、いずれかのフロントエンド サーバーでのみ実行する必要があります。 すべてのフロント エンド サーバーで同じ証明書を使用する必要がありますが、各フロント エンド サーバーで OAuthTokenIssuer 証明書を構成しないでください。 代わりに、証明書を 1 回構成してから、Skype for Business Serverレプリケーション サーバーがその証明書を各サーバーにコピーするようにします。
Set-CsCertificate コマンドレットは、問題の証明書を受け取り、その証明書を現在の OAuthTokenIssuer 証明書として機能するようにすぐに構成します。 (Skype for Business Serverは、現在の証明書と前の証明書の 2 つの証明書の種類のコピーを保持します)。新しい証明書をすぐに OAuthTokenIssuer 証明書として機能させる必要がある場合は、Set-CsCertificate コマンドレットを使用する必要があります。
Set-CsCertificate コマンドレットを使用して、新しい証明書を "ロール" することもできます。 証明書の "ロール" とは、指定した時点から新しい証明書を現在の OAuthTokenIssuer 証明書にするように構成することを意味します。 たとえば、次のコマンドを実行すると、既定の証明書を取得し、2015 年 7 月 1 日から、その証明書が現在の OAuthTokenIssuer 証明書になるように構成します。
$x = (Get-CsCertificate -Type Default).Thumbprint
Set-CsCertificate -Identity global -Type OAuthTokenIssuer -Thumbprint $x -EffectiveDate "7/1/2015" -Roll
2015 年 7 月 1 日に、新しい証明書が現在の OAuthTokenIssuer 証明書として構成され、"古い" OAuthTokenIssuer 証明書が以前の証明書として構成されます。
Windows PowerShellを使用しない場合は、証明書 MMC コンソールを使用して 1 つのフロントエンド サーバーから証明書をエクスポートし、その同じ証明書を他のすべてのフロントエンド サーバーにインポートすることもできます。 これを行う場合は、証明書とともに秘密キーを必ずエクスポートしてください。
注意
この場合、各フロントエンド サーバーで手順を実行する必要があります。 この方法で証明書をエクスポートおよびインポートする場合Skype for Business Serverは、その証明書を各フロントエンド サーバーにレプリケートしません。
証明書がすべてのフロントエンド サーバーにインポートされた後、その証明書は、Windows PowerShellの代わりにSkype for Business Server展開ウィザードを使用して割り当てることができます。 展開ウィザードを使用して証明書を割り当てるには、展開ウィザードがインストールされているコンピューターで次の手順を実行します。
[スタート] を選択し、[すべてのプログラム] を選択し、[Skype for Business Server] をクリックし、[展開ウィザードのSkype for Business Server] をクリックします。
展開ウィザードで、[インストール] または [システムSkype for Business Server更新] をクリックします。
[Skype for Business Server] ページで、[手順 3: 証明書の要求、インストール、または割り当て] という見出しの下にある [実行] ボタンをクリックします。 (注: このコンピューターに証明書を既にインストールしている場合は、[ 実行 ] ボタンに [ 再実行] というラベルが付きます)。
証明書ウィザードで、OAuthTokenIssuer 証明書を選択してから [割り当て] をクリックします。
証明書の割り当てウィザードの [証明書の割り当て] ページで、[次へ] をクリックします。
[証明書ストア] ページで、サーバー対サーバーの認証に使用する証明書を選択して [次へ] をクリックします。
[証明書の割り当ての概要] ページで、[次へ] をクリックします。
[コマンドを実行しています] ページで、[完了] をクリックします。
証明書ウィザードと展開ウィザードを閉じます。