SharePoint オンプレミスでのサーバーベース認証の構成
サーバーベースSharePoint ドキュメント管理の統合により、顧客エンゲージメント アプリ (Dynamics 365 Sales、Dynamics 365 Customer Service、Dynamics 365 Field Service、Dynamics 365 Marketing、およびDynamics 365 Project Service Automation)、と設置型のSharePoint に接続できるようになりました。 サーバー ベース認証を使用すると、Microsoft Entra ドメイン サービスがトラスト ブローカーとして使用されて、ユーザーが SharePoint にサインインする必要がなくなります。
必要なアクセス許可
SharePoint ドキュメント管理を有効にするには、次のメンバーシップと特権が必要です。
Microsoft 365 グローバル管理メンバーシップ - これは次の場合に必要です。
- Microsoft 365 サブスクリプションへの管理レベルのアクセス。
- サーバー ベース認証の有効化ウィザードの実行。
- AzurePowerShell コマンドレットを実行します。
Power Apps SharePoint 統合ウィザードの実行の特権。 これは、サーバー ベース認証の有効化ウィザードを実行するときに必要です。
既定では、システム管理者セキュリティ ロールにはこの特権が含まれています。
SharePoint オンプレミスの統合、SharePoint ファーム管理者グループのメンバーシップ。 これは、SharePoint サーバー上で PowerShell のほとんどのコマンドを実行するときに必要となります。
SharePoint オンプレミスでのサーバー間認証の設定
指定された順序で手順を実行して、SharePoint 2013 設置型を使用して顧客エンゲージメント アプリを設定します。
重要
ここで説明する手順は、指定されている順序で実行する必要があります。 エラー メッセージを返す PowerShell コマンドなどで作業が完了しない場合は、次のコマンド、作業、またはステップに進む前に、問題を解決しておく必要があります。
前提条件の確認
サーバーベース認証用に顧客エンゲージメント アプリと SharePoint 設置型を構成する前に、次の前提条件が満たされている必要があります。
SharePoint の前提条件
SharePoint 2013 Service Pack 1 (SP1) またはそれ以降のバージョン (設置型)
重要
SharePoint Foundation 2013 のバージョンは、顧客エンゲージメント アプリドキュメント管理での使用はサポートされていません。
SharePoint 2013 製品ファミリの 2019 年 4 月の累積的な更新プログラム (CU) をインストールする。 この 2019 年 4 月の CU には、SP1 以降にリリースされた SharePoint 2013 更新 (すべての SharePoint 2013 セキュリティ機能の更新を含む) が含まれます。 2019 年 4 月の CU には SP1 は含まれていません。 2019 年 4 月の CU をインストールする前に、SP1 をインストールする必要があります。 詳細: KB4464514 SharePoint Server 2013 2019 年 4 月 CU
SharePoint の構成
SharePoint 2013 を使用する場合、SharePoint の各ファームで 1 つのみの顧客エンゲージメント アプリをサーバーベース統合用に構成できます。
SharePoint の Web サイトにはインターネット経由でアクセスできるようにする必要があります。 SharePoint の認証に、リバース プロキシが必要な場合もあります。 詳細: SharePoint Server 2013 ハイブリッドのリバース プロキシの構成
SharePoint Web サイトは TCP ポート 443 (カスタム ポートはサポートされていません) で SSL (HTTPS) を使用するように構成する必要があり、証明書がパブリック ルート証明機関によって発行される必要があります。 詳細: SharePoint: セキュリティで保護されたチャネル SSL 証明書について
SharePoint と顧客エンゲージメント アプリ間のクレームベース認証のマッピングに使用される信頼できるユーザー プロパティです。 詳細: クレームマッピングの種類を選択する
ドキュメント共有については、 SharePoint 検索サービスを有効にする必要があります。 詳細: SharePoint Server での検索サービス アプリケーションの作成と構成
Dynamics 365 アプリを使用したドキュメント管理機能に関連して、オンプレミスの SharePoint サーバーがインターネット経由で使用できる必要があります。
その他の前提条件
SharePoint オンライン ライセンス。 顧客エンゲージメント アプリからオンプレミスの SharePoint サーバー ベースの認証には、Microsoft Entra ID に登録された SharePoint サービス プリンシパル名 (SPN) が必要です。 これを達成するには、少なくとも一つの SharePoint Online のユーザー ライセンスが必要です。 SharePoint Online のライセンスは、単一ユーザー ライセンスを使用でき、通常は次のいずれかを使用します。
SharePoint Online のサブスクリプション。 ライセンスがユーザーに割り当てられていない場合でも、任意の SharePoint Online のプランを使用できます。
SharePoint Online を含む Microsoft 365 サブスクリプション。 例えば Microsoft 365 のE3 を所有している場合、ユーザーにライセンスが割り当てられていなくても、適切なライセンスを持っていることになります。
これらのプランの詳細については、適切なソリューションを検索 およびSharePoint オプションを比較 を参照してください
次のソフトウェア機能は、このトピックで説明する PowerShell のコマンドレットの実行に必要となります。
Microsoft ITプロフェッショナル向けオンライン サービス サインイン アシスタント ベータ版
MSOnlineExt モジュールをインストールするには、管理者 PowerShell セッションから次のコマンドを入力します。
PS> Install-Module -Name "MSOnlineExt"
重要
この記事の執筆時点では、ITプロフェッショナル向けの Microsoft オンライン サービス サインイン アシスタント のRTWバージョンに問題があります。 この問題が解決するまでは、ベータ版の使用をお勧めします。 詳細: Microsoft Azure フォーラム: Windows PowerShell 用 Microsoft Entra モジュールをインストールすることができません。MOSSIA がインストールされません。
顧客エンゲージメント アプリと SharePoint 設置型間の ID のマッピングに使用する、最適なクレームベース認証のマッピングの種類。 既定では、電子メール アドレスが使用されます。 詳細情報: 顧客エンゲージメント アプリに SharePoint へのアクセス許可を与え、クレームベースの認証マッピングを設定する
Microsoft Entra ドメイン サービスの SharePoint サーバー SPN を更新
SharePoint 設置型サーバー上の SharePoint 2013 管理シェル内で、これらの PowerShell コマンドを指定された順序で実行します。
PowerShell セッションを準備します。
次のコマンドレットにより、コンピューターがリモート コマンドを受け取り、 Microsoft 365 モジュールを PowerShell セッションに追加できます。 これらコマンドレットの詳細については、「Windows PowerShell Core コマンドレット」を参照してください。
Enable-PSRemoting -force New-PSSession Import-Module MSOnline -force Import-Module MSOnlineExtended -force
Microsoft 365 に接続。
Connect-MsolServiceコマンドを実行するときは、必要なオンライン ライセンスのグローバル管理者メンバーシップを持つ有効なアカウントを指定する必要があります。 Microsoft SharePoint
ここにリストされている Microsoft Entra IDPowerShell の各コマンドの詳細については、Windows PowerShell を使用した Microsoft Entra の管理 を参照してください
$msolcred = get-credential connect-msolservice -credential $msolcred
SharePoint のホスト名を設定します。
変数 ホスト名 に設定する値は、SharePoint のサイト コレクションの完全なホスト名である必要があります。 ホスト名は、サイト コレクションの URL から取得する必要があり、大文字と小文字が区別されます。 この例では、サイト コレクション URL は
<https://SharePoint.constoso.com/sites/salesteam>
であるため、ホスト名は SharePoint.contoso.com です。$HostName = "SharePoint.contoso.com"
Microsoft 365 の (テナント) の ID と SharePointの サーバーのサービス プリンシパル名 (SPN) を取得します。
$SPOAppId = "00000003-0000-0ff1-ce00-000000000000" $SPOContextId = (Get-MsolCompanyInformation).ObjectID $SharePoint = Get-MsolServicePrincipal -AppPrincipalId $SPOAppId $ServicePrincipalName = $SharePoint.ServicePrincipalNames
SharePoint Server サービス プリンシパル名 (SPN) を Microsoft Entra ID で設定します。
$ServicePrincipalName.Add("$SPOAppId/$HostName") Set-MsolServicePrincipal -AppPrincipalId $SPOAppId -ServicePrincipalNames $ServicePrincipalName
これらのコマンドの実行後、SharePoint 2013 管理シェルを閉じずに、次の手順に進んでください。
SharePoint Online のレルムと一致するように SharePoint レルムを更新
SharePoint オンプレミス サーバーで、SharePoint 2013管理シェルで、次の Windows PowerShell コマンドを実行します。
次のコマンドは、SharePoint のファーム管理者メンバーシップを必要とし、SharePoint (設置型) ファームの認証レルムを設定します。
注意
このコマンドを実行すると、SharePoint (設置型) ファームの認証レルムが変更されます。 既存の Security Token Service (STS) を使用するアプリケーションの場合、これにより、トークン アクセスを使用する他のアプリケーションに、予期しない動作が生じることがあります。 詳細: Set-SPAuthenticationRealm。
Set-SPAuthenticationRealm -Realm $SPOContextId
SharePoint 上での Microsoft Entra ID に対して信頼されたセキュリティ トークンの発行者を作成
SharePoint 設置型サーバー上の SharePoint 2013 管理シェル内で、これらの PowerShell コマンドを指定された順序で実行します。
次のコマンドは、SharePoint ファーム管理者メンバーシップを必要とします。
これらの PowerShell コマンドの詳細な情報については、Windows PowerShell コマンドレットを使用して SharePoint 2013 のセキュリティを管理するを参照してください。
SharePoint ファームのセキュリティ トークン サービスを変更する PowerShell セッションを有効にします。
$c = Get-SPSecurityTokenServiceConfig $c.AllowMetadataOverHttp = $true $c.AllowOAuthOverHttp= $true $c.Update()
メタデータのエンドポイントを設定します。
$metadataEndpoint = "https://accounts.accesscontrol.windows.net/" + $SPOContextId + "/metadata/json/1" $acsissuer = "00000001-0000-0000-c000-000000000000@" + $SPOContextId $issuer = "00000007-0000-0000-c000-000000000000@" + $SPOContextId
新しいトークン制御サービス アプリケーション プロキシを Microsoft Entra ID で作成します。
New-SPAzureAccessControlServiceApplicationProxy -Name "Internal" -MetadataServiceEndpointUri $metadataEndpoint -DefaultProxyGroup
注意
New- SPAzureAccessControlServiceApplicationProxy
コマンドは、同じ名前のアプリケーション プロキシが既にあることを示すエラー メッセージを返す場合があります。 名前付きアプリケーション プロキシが既に存在する場合、そのエラーを無視できます。Microsoft Entra ID 用 SharePoint (オンプレミス) で、新しいトークン制御サービス発行者を作成します。
$acs = New-SPTrustedSecurityTokenIssuer –Name "ACSInternal" –IsTrustBroker:$true –MetadataEndpoint $metadataEndpoint -RegisteredIssuerName $acsissuer
顧客エンゲージメント アプリに SharePoint へのアクセス許可を付与し、クレームベース認証のマッピングを構成
SharePoint 設置型サーバー上の SharePoint 2013 管理シェル内で、これらの PowerShell コマンドを指定された順序で実行します。
次のコマンドは、SharePoint サイト コレクション管理メンバーシップを必要とします。
顧客エンゲージメント アプリを SharePoint サイト コレクションに登録します。
SharePoint (設置型) サイト コレクション URL を入力します。 この例では、https://sharepoint.contoso.com/sites/crm/ が使用されます。
重要
このコマンドを実行するには、SharePoint App Management Service アプリケーションのプロキシが存在し、実行されている必要があります。 サービスの開始と構成の方法の詳細については、SharePoint アプリの環境を構成する (SharePoint 2013) のサブスクリプション設定とアプリ管理サービス アプリケーションのサブトピックの設定を参照してください。
$site = Get-SPSite "https://sharepoint.contoso.com/sites/crm/" Register-SPAppPrincipal -site $site.RootWeb -NameIdentifier $issuer -DisplayName "crm"
顧客エンゲージメント アプリに SharePoint サイトへのアクセスを許可します。 https://sharepoint.contoso.com/sites/crm/ を自分の SharePoint サイト URL で置き換えます。
Note
次の例では、-Scope サイト コレクション パラメーターを使用して、指定した SharePoint サイト コレクションに対するアクセス許可が顧客エンゲージメント アプリに付与されます。 スコープ パラメーターは、次のオプションを受入れます。 SharePoint 構成に最適なスコープを選択します。
site
。 指定した SharePoint Web サイトのみに顧客エンゲージメント アプリのアクセス許可を付与します。 これは、指定されたサイト配下のサブサイトに許可を付与しません。sitecollection
。 指定した SharePoint サイト コレクション内のすべての Web サイトおよびサブサイトに対し、顧客エンゲージメント アプリのアクセス許可を付与します。sitesubscription
。 すべてのサイト コレクション、Web サイト、およびサブサイトを含む、SharePoint ファーム内のすべての Web サイトに対し、顧客エンゲージメント アプリのアクセス許可を付与します。
$app = Get-SPAppPrincipal -NameIdentifier $issuer -Site "https://sharepoint.contoso.com/sites/crm/" Set-SPAppPrincipalPermission -AppPrincipal $app -Site $site.Rootweb -Scope "sitecollection" -Right "FullControl"
クレームベース認証のマッピングの種類を設定します。
重要
デフォルトでは、クレームベース認証 マッピング は、ユーザーの Microsoft アカウントの電子メール アドレスと、ユーザーの SharePoint オンプレミスの 仕事用の電子メール アドレスを マッピング に使用します。 これを使用する際には、ユーザーの電子メール アドレスが、2 つのシステム間で一致している必要があります。 詳細については、「クレームベース認証のマッピングの種類の選択」を参照してください。
$map1 = New-SPClaimTypeMapping -IncomingClaimType "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/emailaddress" -IncomingClaimTypeDisplayName "EmailAddress" -SameAsIncoming
サーバーベースの SharePoint 統合ウィザード有効化の実行
次のステップを実行します。
ウィザードを実行するための適切なアクセス許可を持っていることを確認します。 詳細情報: 必要となるアクセス許可
設定>ドキュメント管理に移動します。
ドキュメント管理領域で、サーバーベースの SharePoint 統合の有効化を選択します。
情報を確認し、次へをクリックします。
SharePoint サイトの場合、設置型、次への順にクリックします。
https://sharepoint.contoso.com/sites/crm などの、SharePoint 設置型サイト コレクション URL を入力します。 サービス拠点を SSL 用に構成する必要があります。
次へ をクリックします。
サイトの検証セクションが表示されます。 すべてのサイトが有効であると決定された場合、有効化をクリックします。 1 つ以上のサイトが無効であると決定された場合、「サーバー ベース認証のトラブルシューティング」を参照してください。
ドキュメント管理に含めるエンティティの選択
既定では、取引先企業、記事、潜在顧客、製品、見積もり、営業資料のエンティティが含まれます。 ドキュメント管理の設定 の SharePointを使用するドキュメント管理で使用されるエンティティを追加、または削除できます。 設定>ドキュメント管理に移動します。 詳細情報: エンティティでドキュメント管理を有効化する
OneDrive for Business 統合の追加
顧客エンゲージメント アプリと SharePoint 設置型サーバーベース認証の構成が完了したら、OneDrive for Business を統合することもできます。 顧客エンゲージメント アプリと OneDrive for Business を統合すると、ユーザーは、OneDrive for Business を使用して、個人用のドキュメントを作成および管理できます。 システム管理者が OneDrive for Business を有効にすると、 内からこれらのドキュメントにアクセスできます。
OneDrive for Business の有効化
SharePoint Server On-Premises が実行されている Windows Server で、SharePoint 管理シェルを開き、次のコマンドを実行します:
Add-Pssnapin *
# Access WellKnown App principal
[Microsoft.SharePoint.Administration.SPWebService]::ContentService.WellKnownAppPrincipals
# Create WellKnown App principal
$ClientId = "00000007-0000-0000-c000-000000000000"
$PermissionXml = "<AppPermissionRequests AllowAppOnlyPolicy=""true""><AppPermissionRequest Scope=""http://sharepoint/content/tenant"" Right=""FullControl"" /><AppPermissionRequest Scope=""http://sharepoint/social/tenant"" Right=""Read"" /><AppPermissionRequest Scope=""http://sharepoint/search"" Right=""QueryAsUserIgnoreAppPrincipal"" /></AppPermissionRequests>"
$wellKnownApp= New-Object -TypeName "Microsoft.SharePoint.Administration.SPWellKnownAppPrincipal" -ArgumentList ($ClientId, $PermissionXml)
$wellKnownApp.Update()
クレームベース認証のマッピングの種類の選択
デフォルトでは、クレームベース認証 マッピング は、ユーザーの Microsoft アカウントの電子メール アドレスと、ユーザーの SharePoint オンプレミスの の勤務先電子メール アドレスを マッピング に使用します。 どのクレームベース認証の種類を使用する場合でも、電子メール アドレスなどの値は、顧客エンゲージメント アプリと SharePoint 間で一致する必要があります。 Microsoft 365 のディレクトリの同期でこれを実行しやすくなります。 詳細については、Microsoft Azure で Microsoft 365 ディレクトリ同期を展開する を参照ください。 クレームベース認証の異なるタイプのマッピングを使用するには、SharePoint サーバーベース統合のカスタム クレーム マッピングの定義 を参照してください。
重要
勤務先の電子メールのプロパティを有効にするには、SharePoint (設置型) の User Profile Service アプリケーションを構成して起動する必要があります。 SharePoint の User Profile Service アプリケーションを有効にするには、SharePoint Server 2013 の User Profile Service アプリケーションの作成、編集、削除 を参照してください。 勤務先の電子メールなどの、ユーザー プロパティを変更するには、「ユーザー プロファイル プロパティの編集」を参照してください。 User Profile Service アプリケーションの詳細については、SharePoint Server 2013 の User Profile Service アプリケーションの概要 を参照してください。