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

 

公開日: 2017年2月

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

このトピックでは、Dynamics 365 (設置型) と Microsoft SharePoint Online 間でサーバーベース認証を構成する方法について説明します。 次の図は、Dynamics 365 (設置型)と Azure AD ドメイン サービス、および SharePoint Online間の通信を示します。

CRM on-premises and SharePoint Online

このトピックの内容

必要なアクセス許可

Microsoft Dynamics 365 と SharePoint Online でのサーバーベース認証の設定

サーバーベース認証の有効化ウィザードの検証に関する問題のトラブルシューティング

必要なアクセス許可

Microsoft Dynamics 365

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

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

SharePoint Online

  • Office 365 グローバル管理者メンバーシップ。 これは、Office 365 サブスクリプションへの管理レベルのアクセスのために、また Microsoft AzurePowerShell コマンドレットを実行するために必要です。

Microsoft Dynamics 365 と SharePoint Online でのサーバーベース認証の設定

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

重要

  • ここで説明する手順は、指定されている順序で実行する必要があります。 エラー メッセージを返す Windows PowerShell コマンドなどで作業が完了しない場合は、次のコマンド、作業、またはステップに進む前に、問題を解決しておく必要があります。

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

  • 複数の Dynamics 365 (設置型) 組織を同じ Dynamics 365 展開内で複数の SharePoint Online サイトに接続するには、SharePoint Online サイトが同じ Microsoft Office 365 テナント内に存在する必要があります。

前提条件の確認

サーバーベース認証用に Dynamics 365 (設置型) と SharePoint Online を構成する前に、次の前提条件が満たされている必要があります。

  • Dynamics 365 (設置型) の展開が既に構成されていて、インターネット経由で利用可能である必要があります。詳細:Microsoft Dynamics 365 の IFD を構成する

  • Microsoft Dynamics 365 ハイブリッド コネクタ。 Microsoft Dynamics 365 ハイブリッド コネクタは、Dynamics 365 (設置型) と SharePoint Online でサーバーベース認証を使用できるようにする無料のコネクタです。詳細:Microsoft Dynamics CRM ハイブリッド コネクタ

  • Dynamics 365 (設置型) と SharePoint Online 間の認証に使用される、信頼された証明機関によって発行された X509 デジタル証明書。 サーバーベース認証を評価する場合は、自己署名証明書を使用できます。

次のソフトウェア機能は、このトピックで説明する Windows PowerShell のコマンドレットの実行に必要となります。

重要

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

サーバーベース認証の設定

  1. 展開ツール サーバー役割が実行されている Microsoft Dynamics 365 Server で、Windows PowerShell 用 Azure Active Directory モジュールを開始します。

    重要

    次の PowerShell コマンドを実行するコンピューターには、前に「前提条件の確認」で説明した前提条件のソフトウェア機能がある必要があります。

  2. 証明書を準備します。

    $CertificateScriptWithCommand = “.\CertificateReconfiguration.ps1 -certificateFile c:\Personalcertfile.pfx -password personal_certfile_password -updateCrm -certificateType S2STokenIssuer -serviceAccount contoso\CRMAsyncService -storeFindType FindBySubjectDistinguishedName”
    
    Invoke-Expression -command $CertificateScriptWithCommand
    
  3. PowerShell セッションを準備します。

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

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

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

    ここに示す Azure Active DirectoryPowerShell の各コマンドの詳細については、「MSDN: Windows PowerShell を使用した Azure AD の管理」を参照してください。

    $msolcred = get-credential
    connect-msolservice -credential $msolcred
    
  5. 証明書を設定します。

    $STSCertificate = New-Object System.Security.Cryptography.X509Certificates.X509Certificate2 -ArgumentList c:\Personalcertfile.pfx, personal_certfile_password
    $PFXCertificateBin = $STSCertificate.GetRawCertData()
    $Certificate = New-Object System.Security.Cryptography.X509Certificates.X509Certificate2
    $Certificate.Import(“c:\Personalcertfile.cer”)
    $CERCertificateBin = $Certificate.GetRawCertData()
    $CredentialValue = [System.Convert]::ToBase64String($CERCertificateBin)
    
  6. Azure Active Directory サービス プリンシパル名 (SPN) を SharePointで設定します。

    *.contoso.com を Microsoft Dynamics 365 Server が存在するドメイン名に置き換えます。

    $RootDomain = “*.contoso.com”
    $CRMAppId = "00000007-0000-0000-c000-000000000000" 
    New-MsolServicePrincipalCredential -AppPrincipalId $CRMAppId -Type asymmetric -Usage Verify -Value $CredentialValue
    $CRM = Get-MsolServicePrincipal -AppPrincipalId $CRMAppId
    $ServicePrincipalName = $CRM.ServicePrincipalNames
    $ServicePrincipalName.Remove("$CRMAppId/$RootDomain")
    $ServicePrincipalName.Add("$CRMAppId/$RootDomain")
    Set-MsolServicePrincipal -AppPrincipalId $CRMAppId -ServicePrincipalNames $ServicePrincipalName
    
  7. SharePoint でサーバーベース認証用に Microsoft Dynamics 365 Server を構成します。

    Add-PSSnapin Microsoft.Crm.PowerShell 
    $setting = New-Object "Microsoft.Xrm.Sdk.Deployment.ConfigurationEntity"
    $setting.LogicalName = "ServerSettings"
    $setting.Attributes = New-Object "Microsoft.Xrm.Sdk.Deployment.AttributeCollection"
    $attribute1 = New-Object "System.Collections.Generic.KeyValuePair[String, Object]" ("S2SDefaultAuthorizationServerPrincipalId", "00000001-0000-0000-c000-000000000000")
    $setting.Attributes.Add($attribute1)
    $attribute2 = New-Object "System.Collections.Generic.KeyValuePair[String, Object]" ("S2SDefaultAuthorizationServerMetadataUrl", "https://accounts.accesscontrol.windows.net/metadata/json/1")
    $setting.Attributes.Add($attribute2)
    Set-CrmAdvancedSetting -Entity $setting
    

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

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

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

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

  4. SharePoint サイトで [オンライン] をクリックし、[次へ] をクリックします。

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

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

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

SharePoint Online テナント ID の取得

PowerShell の使用

  1. Windows PowerShell シェル用 Azure Active Directory モジュールで、次のコマンドを実行します。

    $CRMContextId = (Get-MsolCompanyInformation).ObjectID
    $CRMContextId
    
  2. クリップボードに表示される GUID をコピーします。

サイトの設定の使用

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

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

    テナント ID が [アプリ ID] の下、@ 記号の右側に表示されます。 GUID だけをコピーして貼り付けます。 @ の左側の識別子の部分は貼り付けないでください。

サーバーベース認証の有効化ウィザードの検証に関する問題のトラブルシューティング

認証の失敗。 このエラーは、サーバー間認証に使用した証明書が不明または無効な場合に返される可能性があります。

関連項目

SharePoint と Microsoft Dynamics 365 との統合のセットアップ
サーバー ベース認証のトラブルシューティング

© 2017 Microsoft. All rights reserved. 著作権