信頼証明書をファーム間で交換する (SharePoint Server)
適用対象:2016 2019 Subscription Edition SharePoint in Microsoft 365
SharePoint Server では、ファームは別の SharePoint Server ファームで発行されているサービス アプリケーションに接続して使用できます。 そのためには、ファームは信頼証明書を交換する必要があります。
サービス アプリケーションの共有が動作するためには、両方のファームがこの交換に参加する必要があります。
ファーム間でサービス アプリケーションを共有する方法の詳細については、「SharePoint Server のファーム間でサービス アプリケーションを共有する」を参照してください。
ファーム間で証明書をエクスポートしてコピーするには、Microsoft PowerShell のコマンドを使用する必要があります。 証明書をエクスポートしてコピーした後は、PowerShell のコマンドまたはサーバーの全体管理を使用して、ファーム内の信頼関係を管理できます。
ここの説明では、次の条件を想定しています。
- この手順で使用するサーバーは、PowerShell を実行しています。
- プロセスのすべての手順で、管理者は各ファーム内の同じサーバーを選択して使用します。
- ユーザー アカウント制御 (UAC) が有効になっている場合は、システム特権で PowerShell のコマンドを実行する必要があります。
この操作を開始する前に、前提条件に関する情報を「SharePoint Server のファーム間でサービス アプリケーションを共有する」で確認してください。
証明書をエクスポートしてコピーする
使用側ファームの管理者は、ルート証明書と Security Token Service (STS) 証明書という 2 つの信頼証明書を発行側ファームに提供する必要があります。 発行側ファームの管理者は、ルート証明書を使用側ファームに提供する必要があります。
証明書のエクスポートとコピーは、Windows PowerShell 3.0 以降を使用してのみ行うことができます。
使用側ファームからルート証明書をエクスポートするには
使用側ファームの SharePoint Server を実行するサーバーで、次のメンバーシップがあることを確認します。
- SQL Server インスタンスにおける securityadmin 固定サーバー ロール。
- 更新するすべてのデータベースに対する db_owner 固定データベース ロール。
- PowerShell コマンドレットを実行するサーバーでの Administrators グループ。
- 上に示した最小要件を満たすために必要なメンバーシップを追加します。
管理者は Add-SPShellAdmin コマンドレットを使用して、SharePoint Server コマンドレットを使用する権限を付与できます。
注:
アクセス許可がない場合は、セットアップ管理者または SQL Server 管理者に連絡してアクセス許可を要求してください。 PowerShell のアクセス許可に関する詳細については、「Add-SPShellAdmin」を参照してください。
SharePoint 管理シェルで、次のコマンドを実行します。
$CFrootCert = (Get-SPCertificateAuthority).RootCertificate [System.IO.File]::WriteAllBytes('C:\ConsumingFarmRoot.cer', $CFrootCert.Export("Cert"))
ここで、
C:\ConsumingFarmRoot.cer
はルート証明書のパスです。
使用側ファームから STS 証明書をエクスポートするには
次のメンバーシップがあることを確認します。
- SQL Server インスタンスにおける securityadmin 固定サーバー ロール。
- 更新するすべてのデータベースに対する db_owner 固定データベース ロール。
- PowerShell コマンドレットを実行するサーバーでの Administrators グループ。
- 上に示した最小要件を満たすために必要なメンバーシップを追加します。
管理者は Add-SPShellAdmin コマンドレットを使用して、SharePoint Server コマンドレットを使用する権限を付与できます。
注:
アクセス許可がない場合は、セットアップ管理者または SQL Server 管理者に連絡してアクセス許可を要求してください。 PowerShell のアクセス許可に関する詳細については、「Add-SPShellAdmin」を参照してください。
SharePoint 管理シェルで、次のコマンドを実行します。
$stsCert = (Get-SPSecurityTokenServiceConfig).LocalLoginProvider.SigningCertificate [System.IO.File]::WriteAllBytes('C:\ConsumingFarmSTS.cer', $stsCert.Export("Cert"))
ここで、
C:\ConsumingFarmSTS.cer
は STS 証明書のパスです。
発行側ファームからルート証明書をエクスポートするには
発行側ファームの SharePoint Server を実行するサーバーで、次のメンバーシップがあることを確認します。
- SQL Server インスタンスにおける securityadmin 固定サーバー ロール。
- 更新するすべてのデータベースに対する db_owner 固定データベース ロール。
- PowerShell コマンドレットを実行するサーバーでの Administrators グループ。
- 上に示した最小要件を満たすために必要なメンバーシップを追加します。
管理者は Add-SPShellAdmin コマンドレットを使用して、SharePoint Server コマンドレットを使用する権限を付与できます。
注:
アクセス許可がない場合は、セットアップ管理者または SQL Server 管理者に連絡してアクセス許可を要求してください。 PowerShell のアクセス許可に関する詳細については、「Add-SPShellAdmin」を参照してください。
SharePoint 管理シェルで、次のコマンドを実行します。
$PFrootCert = (Get-SPCertificateAuthority).RootCertificate [System.IO.File]::WriteAllBytes('C:\PublishingFarmRoot.cer', $PFrootCert.Export("Cert"))
ここで、
C:\PublishingFarmRoot.cer
はルート証明書のパスです。
証明書をコピーするには
- ルート証明書と STS 証明書を、使用側ファームのサーバーから発行側ファームのサーバーにコピーします。
- ルート証明書を発行側ファームのサーバーから使用側ファームのサーバーにコピーします。
PowerShell を使用して信頼証明書を管理する
ファーム内の信頼証明書を管理するには、信頼を確立する必要があります。 ここでは、PowerShell のコマンドを使用して、使用側ファームと発行側ファームの両方で信頼を確立する方法について説明します。
使用側のファームで信頼を確立する
使用側ファームで信頼を確立するには、発行側ファームからコピーしたルート証明書をインポートし、信頼できるルート証明機関を作成する必要があります。
使用側ファームで、ルート証明書をインポートし、信頼できるルート証明機関を作成するには
次のメンバーシップがあることを確認します。
- SQL Server インスタンスにおける securityadmin 固定サーバー ロール。
- 更新するすべてのデータベースに対する db_owner 固定データベース ロール。
- PowerShell コマンドレットを実行するサーバーでの Administrators グループ。
- 上に示した最小要件を満たすために必要なメンバーシップを追加します。
管理者は Add-SPShellAdmin コマンドレットを使用して、SharePoint Server コマンドレットを使用する権限を付与できます。
注:
アクセス許可がない場合は、セットアップ管理者または SQL Server 管理者に連絡してアクセス許可を要求してください。 PowerShell のアクセス許可に関する詳細については、「Add-SPShellAdmin」を参照してください。
SharePoint 管理シェルで、次のコマンドを実行します。
$trustCert = Get-PfxCertificate "<C:\PublishingFarmRoot.cer>" New-SPTrustedRootAuthority "<PublishingFarm>" -Certificate $trustCert
詳細は次のとおりです。
- <C:\PublishingFarmRoot.cer> は、発行側ファームから使用側ファームにコピーしたルート証明書のパスです。
- <PublishingFarm> is a unique name that identifies the publishing farm. 個々の信頼できるルート証明機関に一意の名前を付ける必要があります。
発行側のファームで信頼を確立する
発行側ファームで信頼を確立するには、使用側ファームからコピーしたルート証明書をインポートし、信頼できるルート証明機関を作成する必要があります。 その後、使用側ファームからコピーした STS 証明書をインポートし、信頼できるサービス トークン発行元を作成する必要があります。
発行側ファームで、ルート証明書をインポートし、信頼できるルート証明機関を作成するには
次のメンバーシップがあることを確認します。
- SQL Server インスタンスにおける securityadmin 固定サーバー ロール。
- 更新するすべてのデータベースに対する db_owner 固定データベース ロール。
- PowerShell コマンドレットを実行するサーバーでの Administrators グループ。
- 上に示した最小要件を満たすために必要なメンバーシップを追加します。
管理者は Add-SPShellAdmin コマンドレットを使用して、SharePoint Server コマンドレットを使用する権限を付与できます。
注:
アクセス許可がない場合は、セットアップ管理者または SQL Server 管理者に連絡してアクセス許可を要求してください。 PowerShell のアクセス許可に関する詳細については、「Add-SPShellAdmin」を参照してください。
SharePoint 管理シェルで、次のコマンドを実行します。
$trustCert = Get-PfxCertificate "<C:\ConsumingFarmRoot.cer>" New-SPTrustedRootAuthority "<ConsumingFarm>" -Certificate $trustCert
詳細は次のとおりです。
- <C:\ConsumingFarmRoot.cer> は、使用側ファームから発行側ファームにコピーしたルート証明書の名前と場所です、
- <ConsumingFarm> is a unique name that identifies the consuming farm. 個々の信頼できるルート証明機関に一意の名前を付ける必要があります。
発行側ファームで、STS 証明書をインポートし、信頼できるサービス トークン発行元を作成するには
次のメンバーシップがあることを確認します。
- SQL Server インスタンスにおける securityadmin 固定サーバー ロール。
- 更新するすべてのデータベースに対する db_owner 固定データベース ロール。
- PowerShell コマンドレットを実行するサーバーでの Administrators グループ。
- 上に示した最小要件を満たすために必要なメンバーシップを追加します。
管理者は Add-SPShellAdmin コマンドレットを使用して、SharePoint Server コマンドレットを使用する権限を付与できます。
注:
アクセス許可がない場合は、セットアップ管理者または SQL Server 管理者に連絡してアクセス許可を要求してください。 PowerShell のアクセス許可に関する詳細については、「Add-SPShellAdmin」を参照してください。
SharePoint 管理シェルで、次のコマンドを実行します。
$stsCert = Get-PfxCertificate "<c:\ConsumingFarmSTS.cer>" New-SPTrustedServiceTokenIssuer "<ConsumingFarm>" -Certificate $stsCert
詳細は次のとおりです。
- <C:\ConsumingFarmSTS.cer> は、使用側ファームから発行側ファームにコピーした STS 証明書のパスです。
- <ConsumingFarm> is a unique name that identifies the consuming farm. Each trusted service token issuer must have a unique name.
これらの PowerShell コマンドレットの詳細については、次の記事を参照してください。
- Get-SPCertificateAuthority
- Get-SPSecurityTokenServiceConfig
- New-SPTrustedRootAuthority
- New-SPTrustedServiceTokenIssuer
- Get-PfxCertificate
スクリプトを使用してこのプロセスの一部を自動化する方法については、「ファーム間で信頼証明書を交換する」を参照してください。
サーバーの全体管理を使用して信頼証明書を管理する
ファームの信頼関係を管理するには、関連する証明書が既にエクスポートされてファームにコピーされている必要があります。
サーバーの全体管理を使用して信頼を確立するには
この手順を実行しようとしているユーザー アカウントが、ファームの管理者 SharePoint グループのメンバーであることを確認します。
SharePoint サーバーの全体管理 Web サイトで、[ セキュリティ] をクリックします。
[セキュリティ] ページの [ 一般的なセキュリティ] セクションで、[ 信頼関係の管理] をクリックします。
[信頼関係] ページで、リボンの [ 新規] をクリックします。
[信頼関係の確立] ページで、次の操作を行います。
信頼関係の目的を表す名前を入力します。
信頼関係のルート証明機関の証明書を参照して選択します。 これは、「証明書をエクスポートしてコピーする」の説明に従って、Microsoft PowerShell を使用して他のファームからエクスポートされたルート証明機関の証明書である必要があります。
この作業を発行側ファームで実行している場合は、[ 信頼関係を提供する] チェック ボックスをオンにします。 トークン発行元を表す名前を入力し、「証明書をエクスポートしてコピーする」の説明に従って使用側ファームからコピーされた STS 証明書を参照して選択します。
[OK] をクリックします。
信頼関係が確立された後で、信頼をクリックして [編集] をクリックすると、トークン発行元の説明や使用する証明書を変更できます。 信頼を削除するには、削除する信頼をクリックし、[削除] をクリックします。
関連項目
概念
SharePoint Server でユーザー認証方法を計画する