Share via


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 のコマンドレットの実行に必要となります。

    • IT プロフェッショナル 用 Microsoft Online Services サインイン アシスタント ベータ版

    • MSOnlineExt

    • MSOnlineExt モジュールをインストールするには、管理者 PowerShell セッションから次のコマンドを入力します。 PS> Install-Module -Name "MSOnlineExt"

    重要

    この記述の時点では、IT プロフェッショナル用 Microsoft Online Services サインイン アシスタントの RTW バージョンには問題がありました。 この問題が解決するまでは、ベータ版の使用をお勧めします。 詳細: Microsoft Azure フォーラム: Windows PowerShell 用 Microsoft Entra モジュールをインストールすることができません。MOSSIA がインストールされません。

  • 顧客エンゲージメント アプリと SharePoint 設置型間の ID のマッピングに使用する、最適なクレームベース認証のマッピングの種類。 既定では、電子メール アドレスが使用されます。 詳細情報: 顧客エンゲージメント アプリに SharePoint へのアクセス許可を与え、クレームベースの認証マッピングを設定する

Microsoft Entra ドメイン サービスの SharePoint サーバー SPN を更新

SharePoint 設置型サーバー上の SharePoint 2013 管理シェル内で、これらの PowerShell コマンドを指定された順序で実行します。

  1. PowerShell セッションを準備します。

    次のコマンドレットにより、コンピューターがリモート コマンドを受け取り、 Microsoft 365 モジュールを PowerShell セッションに追加できます。 これらコマンドレットの詳細については、「Windows PowerShell Core コマンドレット」を参照してください。

    Enable-PSRemoting -force  
    New-PSSession  
    Import-Module MSOnline -force  
    Import-Module MSOnlineExtended -force  
    
  2. Microsoft 365 に接続。

    Connect-MsolService コマンドを実行するとき、必要な SharePoint Online のライセンスのグローバル管理者メンバーシップを保持している有効な Microsoft アカウントを提供する必要があります。

    ここにリストされている Microsoft Entra IDPowerShell の各コマンドの詳細については、Windows PowerShell を使用した Microsoft Entra の管理 を参照してください

    $msolcred = get-credential  
    connect-msolservice -credential $msolcred  
    
  3. SharePoint のホスト名を設定します。

    変数 ホスト名 に設定する値は、SharePoint のサイト コレクションの完全なホスト名である必要があります。 ホスト名は、サイト コレクションの URL から取得する必要があり、大文字と小文字が区別されます。 この例では、サイト コレクション URL は <https://SharePoint.constoso.com/sites/salesteam> であるため、ホスト名は SharePoint.contoso.com です。

    $HostName = "SharePoint.contoso.com"  
    
  4. Microsoft 365 の (テナント) の ID と SharePointの サーバーのサービス プリンシパル名 (SPN) を取得します。

    $SPOAppId = "00000003-0000-0ff1-ce00-000000000000"  
    $SPOContextId = (Get-MsolCompanyInformation).ObjectID  
    $SharePoint = Get-MsolServicePrincipal -AppPrincipalId $SPOAppId  
    $ServicePrincipalName = $SharePoint.ServicePrincipalNames  
    
  5. 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 のセキュリティを管理するを参照してください。

  1. SharePoint ファームのセキュリティ トークン サービスを変更する PowerShell セッションを有効にします。

    $c = Get-SPSecurityTokenServiceConfig  
    $c.AllowMetadataOverHttp = $true  
    $c.AllowOAuthOverHttp= $true  
    $c.Update()  
    
  2. メタデータのエンドポイントを設定します。

    $metadataEndpoint = "https://accounts.accesscontrol.windows.net/" + $SPOContextId + "/metadata/json/1"  
    $acsissuer = "00000001-0000-0000-c000-000000000000@" + $SPOContextId  
    $issuer = "00000007-0000-0000-c000-000000000000@" + $SPOContextId  
    
  3. 新しいトークン制御サービス アプリケーション プロキシを Microsoft Entra ID で作成します。

    New-SPAzureAccessControlServiceApplicationProxy -Name "Internal" -MetadataServiceEndpointUri $metadataEndpoint -DefaultProxyGroup  
    

    注意

    New- SPAzureAccessControlServiceApplicationProxy コマンドは、同じ名前のアプリケーション プロキシが既にあることを示すエラー メッセージを返す場合があります。 名前付きアプリケーション プロキシが既に存在する場合、そのエラーを無視できます。

  4. Microsoft Entra ID 用 SharePoint (オンプレミス) で、新しいトークン制御サービス発行者を作成します。

    $acs = New-SPTrustedSecurityTokenIssuer –Name "ACSInternal" –IsTrustBroker:$true –MetadataEndpoint $metadataEndpoint -RegisteredIssuerName $acsissuer  
    

顧客エンゲージメント アプリに SharePoint へのアクセス許可を付与し、クレームベース認証のマッピングを構成

SharePoint 設置型サーバー上の SharePoint 2013 管理シェル内で、これらの PowerShell コマンドを指定された順序で実行します。

次のコマンドは、SharePoint サイト コレクション管理メンバーシップを必要とします。

  1. 顧客エンゲージメント アプリを 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"  
    
  2. 顧客エンゲージメント アプリに 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"  
    
  3. クレームベース認証のマッピングの種類を設定します。

    重要

    既定では、クレームベース認証のマッピングには、ユーザーの Microsoft アカウントのメールアドレスと、ユーザーの SharePoint オンプレミス勤務先メールアドレスが使用されます。 これを使用する際には、ユーザーの電子メール アドレスが、2 つのシステム間で一致している必要があります。 詳細については、「クレームベース認証のマッピングの種類の選択」を参照してください。

    $map1 = New-SPClaimTypeMapping -IncomingClaimType "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/emailaddress" -IncomingClaimTypeDisplayName "EmailAddress" -SameAsIncoming  
    

サーバーベースの SharePoint 統合ウィザード有効化の実行

次のステップを実行します。

  1. ウィザードを実行するための適切なアクセス許可を持っていることを確認します。 詳細情報: 必要となるアクセス許可

  2. 設定>ドキュメント管理に移動します。

  3. ドキュメント管理領域で、サーバーベースの SharePoint 統合の有効化を選択します。

  4. 情報を確認し、次へをクリックします。

  5. SharePoint サイトの場合、設置型次への順にクリックします。

  6. https://sharepoint.contoso.com/sites/crm などの、SharePoint 設置型サイト コレクション URL を入力します。 サービス拠点を SSL 用に構成する必要があります。

  7. 次へ をクリックします。

  8. サイトの検証セクションが表示されます。 すべてのサイトが有効であると決定された場合、有効化をクリックします。 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 アプリケーションの概要 を参照してください。

関連項目

サーバーベース認証のトラブルシューティング
SharePoint と顧客エンゲージメント アプリ統合の設定