Microsoft Dynamics 365 (設置型) と設置型 SharePoint でのサーバーベース認証の構成

 

公開日: 2017年2月

対象: Dynamics 365 (on-premises)、Dynamics CRM 2016

このトピックでは、Dynamics 365 (設置型) と Microsoft SharePoint (設置型) との間でサーバーベース統合を構成する方法について説明します。

このトピックの内容

Dynamics 365 と SharePoint でのサーバーベース統合の設定

OneDrive for Business 統合の追加

Dynamics 365 Server (設置型) と設置型 SharePoint Server のサーバーベース統合に関するトラブルシューティング

クレームベース認証のマッピングについて

デジタル証明書の使用

SharePoint 領域 ID の取得

Dynamics 365 と SharePoint でのサーバーベース統合の設定

指定された順序で手順を実行して、Microsoft SharePoint Server (設置型) で Dynamics 365 (設置型) を設定します。

重要

  • PowerShell コマンドがエラー メッセージを返す場合などで作業が完了しない場合は、次のコマンド、作業、またはステップに進む前に、問題を解決しておく必要があります。

  • サーバー ベースの SharePoint統合を有効にすると、以前のクライアントベースの認証方式に戻ることができなくなります。 したがって、サーバーベースの SharePoint 統合に Dynamics 365 組織を構成した後は、Microsoft Dynamics CRM リスト コンポーネント を使用することはできません。

前提条件の確認

サーバーベース統合用に Dynamics 365 (設置型) と SharePoint (設置型) を構成する前に、次のアクセス許可および前提条件が必要となります。

必要なアクセス許可

Microsoft Dynamics 365

  • システム管理者のセキュリティ ロール - Microsoft Dynamics 365 の [サーバーベースの SharePoint 統合] ウィザードの有効化 を実行するにはこれが必要とされます。

  • 評価目的で自己署名証明書を使用する場合は、Microsoft Dynamics 365 Server を実行しているコンピューターでローカルの Administrators グループ メンバーシップを持っている必要があります。

SharePoint設置型

  • ファーム管理者グループのメンバーシップ - SharePoint サーバー上で Windows PowerShell のほとんどのコマンドを実行するのにこれが必要となります。

SharePoint の前提条件

  • 次の SharePoint バージョンのいずれか:

  • SharePoint の構成

    • SharePoint は 1 つのファームの展開のみに構成する必要があります。

    • 既定のクレームベース認証のマッピングを使用するには、SharePoint サーバーと Microsoft Dynamics 365 サーバーがある Active Directory ドメインが同じであるか、または SharePoint サーバーがあるドメインが Microsoft Dynamics 365 Server があるドメインを信頼している必要があります。 詳細: クレームベース認証のマッピングについて

    • SharePoint Web サイトは TLS/SSL (HTTPS) を使用するように構成する必要があり、証明書がパブリック ルート証明機関によって発行される必要があります。詳細:SharePoint: セキュリティで保護されたチャネル SSL 証明書について

    • App Management Service アプリケーションのプロキシを作成および開始する必要があります。詳細:SharePoint のアプリケーション用環境の構成

    • User Profile Service アプリケーションを構成および開始する必要があります。詳細:SharePoint Server 2013 の User Profile Service アプリケーションの作成、編集、または削除

    • ドキュメント共有のため SharePoint の検索サービスを有効にする必要があります。詳細:SharePoint Server での検索サービス アプリケーションの作成と構成

    • Microsoft Dynamics 365 モバイル アプリを使用したドキュメント管理機能には、設置型 SharePointサーバーがインターネット経由で使用可能である必要があります。

    • ユーザーが Dynamics 365 での SharePoint ドキュメント ライブラリの作成を機能させるために、次のアクセス許可および構成が必要になります:

      • Dynamics 365 ユーザー Active Directory のアカウントは、ドキュメントが保存される SharePoint サイト コレクションのサイト メンバー グループのメンバーである必要があります。

      • 既定では、クレームベース認証のマッピングは、ユーザーの Dynamics 365 既定電子メール アドレスとユーザーの SharePoint (設置型) の勤務先の電子メール アドレスがマッピングに使用されます。 このマッピングを使用するとき、ユーザーの電子メール アドレスは、2 つのシステム間で一致する必要があります。 詳細: クレームベース認証のマッピングについて

その他の前提条件と制限事項

  • Microsoft Dynamics 365 Server と SharePoint サーバー間のサーバーベース認証に使用する X509 デジタル証明書。 証明書キーには少なくとも、2048 ビットの暗号化を指定する必要があります。 ほとんどの場合、信頼された証明機関によってこの証明書が発行される必要がありますが、評価用では自己署名証明書を使用することができます。

  • CRMAppPool のアプリケーション プールの識別には、Microsoft Dynamics 365 Server および SharePoint サーバーでのサーバー ベース認証に使用される x509 証明書への読み取りアクセス権を持っている必要があります。 証明書 MMC スナップインを使用してこのアクセスを許可できます。

  • Microsoft SharePoint 2013を使用する場合、各 SharePoint ファームで 1 つのみの Microsoft Dynamics 365 組織をサーバーベース統合用に構成できます。 ただし、単一の SharePoint 2016 サーバー ファームに、複数の Microsoft Dynamics 365 組織を接続することができます。

Microsoft Dynamics 365 Server のサーバーベース統合の準備

CertificateReconfiguration.ps1 は、ローカル証明書ストアに証明書をインストールし、証明書に対して指定された Microsoft Dynamics 365 非同期処理サービス ID アクセスを許可し、証明書を使用するように Microsoft Dynamics 365 Server を更新する Windows PowerShell スクリプトです。

ローカル証明書ストアと Microsoft Dynamics 365 構成データベースへのサーバー間証明書の追加

  1. Microsoft Dynamics 365 Server フル サーバー役割がインストールされているすべてのサーバーの PowerShell コマンド セッションを開きます。 証明書をインストールするためにコマンドレットを実行する他のサーバー ロールの展開では、Microsoft Dynamics 365 のバージョンによって異なります。

    • Microsoft Dynamics 365 用 2016 年 12 月 Service Pack (設置型) 以降のバージョンでは、Web アプリケーション サーバー ロールを実行しているすべてのサーバーでこのコマンドを実行します。

    • Microsoft Dynamics CRM 2016 Service Pack 1 以前のバージョンでは、非同期サービス サーバー ロールを実行しているすべてのサーバーでこのコマンドを実行します。

  2. 場所を <ドライブ>:\Program Files\Microsoft Dynamics CRM\Tools フォルダーに変更します。

  3. ここで説明されるようにスクリプト CertificateReconfiguration.ps1 Windows PowerShell を実行します:

    • [certificateFile]path\Personalcertfile.pfx。 個人情報交換ファイル (.pfx) の完全なパスを指定する必須のパラメーターです。 詳細: デジタル証明書の使用

    • [パスワード]personal_certfile_password。 プライベート証明書のパスワードを指定する必須のパラメーターです。

    • certificateType S2STokenIssuer: 証明書の種類を指定する必須のパラメーターです。Microsoft Dynamics 365 と SharePoint サーバーベース統合の場合、S2STokenIssuer のみがサポートされています。

    • [serviceAccount] ‘DomainName\UserName’ または ‘Network Service’。

      • Microsoft Dynamics 365 用 2016 年 12 月 Service Pack (設置型) 以降のバージョンの場合:

        serviceAccount 'contoso\CRMWebAppServer' または ‘Network Service’。Web アプリケーション サーバー ロールに ID を指定する必須のパラメーターです。 ID は、contoso\CRMWebAppServer などのドメイン ユーザー アカウントか、または Network Service です。 ID には証明書へのアクセス許可が付与されます。

      • Microsoft Dynamics CRM 2016 Service Pack 1 以前のバージョンの場合:

        serviceAccount 'contoso\CRMAsyncService' または ‘Network Service’。非同期サービス ID を指定する必須のパラメーターです。 ID は、contoso\CRMAsyncService などのドメイン ユーザー アカウントか、または Network Service です。 ID には証明書へのアクセス許可が付与されます。

    • updateCrm: 証明書の情報を Microsoft Dynamics 365 構成データベースに追加します。

      重要

      複数の Web アプリケーション サーバーまたは非同期サービスのロールが展開されている場合でも、updateCrm パラメーターを一度指定してコマンドを実行するだけで済みます。

    • storeFindType FindBySubjectDistinguishedName: 証明書ストアの種類を指定します。 既定では、この値は FindBySubjectDistinguishedName であり、スクリプトを実行する場合に推奨されます。

    重要

    updateCrm と StoreFindType のパラメーターはコマンドを実行する上でオプションとなりますが、証明書の情報を証明書データベースに追加するために、これらのパラメーターはサーバーベースの SharePoint 統合に対して必要です。

    .\CertificateReconfiguration.ps1 -certificateFile c:\Personalcertfile.pfx -password personal_certfile_password -updateCrm -certificateType S2STokenIssuer -serviceAccount Domain\UserName -storeFindType FindBySubjectDistinguishedName
    

SharePoint ファームのサーバーベース統合の準備

Dynamics 365 領域 ID の取得

  1. [サーバーベースの SharePoint 統合] ウィザードの有効化 を起動します。[設定][ドキュメント管理] の順に移動します。(どのように取得しますか。)

  2. [次へ]、[設置型] の順にクリックし、[次へ] をクリックします。

  3. ID は、ページの [Dynamics 365 領域 ID] の横に表示されます。

    ヒント

    Dynamics 365 領域 ID をセキュリティ保護されたネットワーク共有またはクラウドベースのストレージ上のテキスト ファイルに保存します。 そうすると、[サーバーベースの SharePoint 統合] ウィザードの有効化 を実行する場所から簡単に取得できます。

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

SharePoint Server の Dynamics 365 Server 認証の準備

  1. SharePoint 管理シェルでない PowerShell 管理シェルを使用する場合、次のコマンドを使用して SharePoint モジュールを登録する必要があります。

    Add-PSSnapin Microsoft.SharePoint.PowerShell
    

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

    $c = Get-SPSecurityTokenServiceConfig
    $c.AllowMetadataOverHttp = $true
    $c.AllowOAuthOverHttp= $true
    $c.Update()
    
  2. 信頼された Security Token Service オブジェクトを作成します。ここで、OrganizationName は Microsoft Dynamics 365 組織の一意の名前であり、CrmServer は Microsoft Dynamics 365 Web アプリケーション サーバーの役割がインストールされている IIS Web サーバーの名前です。さらに -Name “crm” はセキュリティ トークン サーバー (STS)を名付けて使用されます。

    重要

    • 複数の Microsoft Dynamics 365 組織を単一の Microsoft SharePoint 2013 サーバー ファームに接続することはサポートされません。 ただし、単一の SharePoint 2016 サーバー ファームに、複数の Microsoft Dynamics 365 組織を接続することができます。

    • 新しい SPTrustedSecurityTokenIssuer PowerShell command を実行するとき、次の例のように、Microsoft Dynamics 365 アプリケーション Web サイトには HTTPS のみまたは HTTPS と HTTP の両方のバインディングがある場合は、Microsoft Dynamics 365 メタデータのエンドポイントに HTTPS を指定する必要があります。

    New-SPTrustedSecurityTokenIssuer –Name "crm" –IsTrustBroker:$false –MetadataEndpoint https://CrmServer/XrmServices/2015/metadataendpoint.svc/json?orgName=OrganizationName
    
  3. Microsoft Dynamics 365 を SharePoint サイト コレクションに登録します。

    次のコマンドを実行するには、2 つのパラメーターを指定する必要があります。

    • SharePoint (設置型) サイト コレクション URL。 この例では、https://sharepoint.contoso.com/sites/crm/ をサイト コレクション URL に使用します。

    • CrmRealmId は、SharePoint でドキュメント管理に使用する Microsoft Dynamics 365 組織の ID です。詳細:Dynamics 365 領域 ID の取得

    重要

    これらのコマンドを実行するには、SharePoint App Management Service アプリケーションのプロキシが存在し、実行されている必要があります。 サービスの開始と構成の方法の詳細については、SharePoint (SharePoint 2013) のアプリケーション用環境の構成 の「サブスクリプションの設定および App Management サービス アプリケーションの構成」のトピックを参照してください。

    $CrmRealmId = "CRMRealmId"
    
    $Identifier  = "00000007-0000-0000-c000-000000000000@" + $CrmRealmId
    
    $site = Get-SPSite "https://sharepoint.contoso.com/sites/crm/"
    
    Register-SPAppPrincipal -site $site.RootWeb -NameIdentifier $Identifier -DisplayName "crm"
    
  4. Microsoft Dynamics 365 のアプリケーション アクセスを SharePoint サイトに付与します。

    注意

    以下の例では、–Scope sitecollection パラメーターを使用して、指定した SharePoint のサイト コレクションに対するアクセス許可が Microsoft Dynamics 365 アプリケーションに付与されます。 スコープ パラメーターは、次のオプションを受入れます。SharePoint 構成に最適なスコープを使用します:

    • site。 指定された SharePoint Web サイトのみに Dynamics 365 アプリケーションのアクセス許可を付与します。 名前付きサービス拠点の下のサブサイトにはアクセス許可が付与されません。

    • sitecollection。 指定した SharePoint サイト コレクション内のすべての Web サイトおよびサブサイトに対し、Dynamics 365 アプリケーションのアクセス許可を付与します。

    • sitesubscription。 すべてのサイト コレクション、Web サイト、およびサブサイトを含む、SharePoint ファーム内のすべての Web サイトに対し、Dynamics 365 アプリケーションのアクセス許可を付与します。

    $app = Get-SPAppPrincipal -NameIdentifier $Identifier -Site $site.Rootweb
    Set-SPAppPrincipalPermission -AppPrincipal $app -Site $site.Rootweb -Scope "sitecollection" -Right "FullControl" -EnableAppOnlyPolicy
    #"Set up claims-based authentication mapping"
    New-SPClaimTypeMapping -IncomingClaimType "https://schemas.xmlsoap.org/ws/2005/05/identity/claims/emailaddress" -IncomingClaimTypeDisplayName "EmailAddress" -SameAsIncoming
    

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

  1. Microsoft Dynamics 365 アプリで、[設定] > [ドキュメント管理] の順に移動します。

  2. [ドキュメント管理] 領域で、[サーバーベースの SharePoint 統合の有効化] をクリックします。

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

  4. SharePoint サイトの場合、[設置型] をクリックし、[次へ] をクリックします。

  5. [サイトの準備] 段階で、以下の情報を入力します:

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

    • [SharePoint 領域 ID]。SharePoint 領域 ID の取得

  6. [次へ] をクリックします。

  7. サイトの検証セクションが表示されます。 すべてのサービス拠点が有効である場合、[有効化] をクリックします。 1 拠点以上のサイトが無効である場合、「Dynamics 365 Server (設置型) と設置型 SharePoint Server のサーバーベース統合に関するトラブルシューティング」を参照してください。

ドキュメント管理に含めるエンティティの選択

既定では、取引先企業、記事、潜在顧客、製品、見積もり、営業資料のエンティティが含まれます。Microsoft Dynamics 365 の [ドキュメント管理の設定] で SharePoint でのドキュメント管理に使用されるエンティティを追加または削除できます。[設定][ドキュメント管理] の順に移動します。(どのように取得しますか。)詳細:顧客センター: エンティティに対するドキュメント管理の有効化

OneDrive for Business 統合の追加

Microsoft Dynamics 365 と SharePoint 設置型サーバーベース統合の構成が完了したら、OneDrive for Business を統合することもできます。Microsoft Dynamics 365OneDrive for Business を統合すると、Microsoft Dynamics 365 ユーザーは、OneDrive for Business を使ってプライベート ドキュメントを作成および管理できます。 システム管理者が OneDrive for Business を有効にすると、Dynamics 365 内からこれらのドキュメントにアクセスできます。

OneDrive for Business を有効にする

設置型 SharePoint Server が実行されている 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=""https://sharepoint/content/tenant"" Right=""FullControl"" /><AppPermissionRequest Scope=""https://sharepoint/social/tenant"" Right=""Read"" /><AppPermissionRequest Scope=""https://sharepoint/search"" Right=""QueryAsUserIgnoreAppPrincipal"" /></AppPermissionRequests>"

$wellKnownApp= New-Object -TypeName "Microsoft.SharePoint.Administration.SPWellKnownAppPrincipal" -ArgumentList ($ClientId, $PermissionXml)

$wellKnownApp.Update()

Dynamics 365 Server (設置型) と設置型 SharePoint Server のサーバーベース統合に関するトラブルシューティング

[サーバーベースの SharePoint 統合] ウィザードの有効化 のトラブルシューティングの方法と SharePoint の監視ログの表示については、「サーバー ベース認証のトラブルシューティング」を参照してください。

既知の問題

SharePoint のトラブルシューティングと既知の問題に関するドキュメント管理については、「サーバー ベース認証のトラブルシューティング」を参照してください。

クレームベース認証のマッピングについて

既定では、Dynamics 365 (設置型) と設置型 SharePoint 間のサーバーベース認証ではユーザーのセキュリティ識別子 (SID) を使用して各ユーザーを認証します。Microsoft Dynamics 365 Server と SharePoint が信頼関係がない別の Active Directory ドメインにある場合、ユーザーの電子メール アドレスなど、カスタムのクレームベース認証のマッピングを使用する必要があります。詳細:サーバー ベースの SharePoint 統合に対するユーザー定義要求のマッピングの定義

デジタル証明書の使用

次の手順では、個人情報交換ファイル (.pfx) を作成します。

  1. サーバー間の認証に使用する証明書にアクセスできるコンピューターで、[開始] をクリックして [実行] をクリックし、「MMC」と入力して Enter キーを押します。

  2. [ファイル] をクリックし、[スナップインの追加と削除] をクリックします。

  3. [利用できるスナップイン] の一覧で、[証明書]、[追加]、[コンピューター アカウント]、[次へ]、[完了] の順にクリックしてローカル コンピューターを選択し、[OK] をクリックします。

  4. [証明書][個人用] の順に展開し、[証明書] をクリックします。

  5. 個人証明書ファイルの作成に使用する証明書を右クリックして [すべてのタスク] をポイントし、[エクスポート] をクリックします。

  6. [次へ]、[はい] の順にクリックして秘密キーをエクスポートし、次のオプションがチェックされていることを確認してから、[次へ] をクリックします。

    • 証明のパスにある証明書を可能であればすべて含む

    • すべての拡張プロパティをエクスポートする

  7. [参照] をクリックして .pfx ファイルの場所とファイル名を入力し、[保存] をクリックします。

  8. [次へ] をクリックしてから、[完了] をクリックします。

SharePoint 領域 ID の取得

https://sharepoint.contoso.com/sites/crm/ が SharePoint サイト コレクションの URL となっている SharePoint 管理シェルで次の PowerShell コマンドを実行します。

Get-SPAuthenticationRealm -ServiceContext https://sharepoint.contoso.com/sites/crm/

また、SharePoint サイト コレクションのサイト アプリの権限設定で SharePoint 領域 ID を参照できます。

  1. Microsoft Dynamics 365 でのドキュメント管理に使用する SharePoint サイト コレクションにサインインします。

  2. [サイトの設定] > [サイト アプリの権限] に移動します。

  3. 領域 ID が [アプリ識別子] の下、@ 記号の右側に表示されます。 それをクリップボードにコピーします。[サーバーベースの SharePoint 統合] ウィザードの有効化 では、GUID のみに貼り付けます。 @ の左側の識別子の部分は貼り付けないでください。

© 2017 Microsoft. All rights reserved. 著作権