チュートリアル: Active Directory で CRM アプリを登録する
公開日: 2016年11月
対象: Dynamics CRM 2015
このチュートリアルでは、Microsoft Dynamics 365 サーバーに接続して認証され、Web サービスにアクセスできるようにするために、デスクトップ クライアントまたはモバイル アプリケーションを登録する方法について説明します。 一度登録されると、アプリケーションは、サーバーの SOAP エンドポイントまたは OData エンドポイントで HTTP 要求を使用して、Web サービスにアクセスできます。 このチュートリアルは Microsoft Dynamics CRM 2015 および Microsoft Dynamics CRM Online 2015 更新プログラム の両方に適用されます。
前提条件
Microsoft Dynamics CRM 2015 の設置型または インターネットに接続する展開 (IFD) の場合:
AD FS を備えた Windows Server 2012 R2。
Microsoft Dynamics CRM 2015 の展開サービス ロールおよび AD FS サーバーをホストするサーバーに対する管理者アクセス権が必要です。
設置型サーバーは、クレーム認証を使用するように構成する必要があります。
Microsoft Dynamics CRM Online 展開の場合:
Microsoft Office 365サブスクリプションには、管理者ロールを持つMicrosoft Dynamics CRM Onlineシステム ユーザー アカウントが必要です。
アプリケーション登録のための Microsoft Azure アカウント。 試用アカウントも有効です。
どちらの展開タイプにも、アプリケーションのリダイレクト URL を知っている必要があります。 その URL を見つけるための手順については、「リダイレクト URI を取得する」という名前のセクションを参照してください。
このトピックの内容
リダイレクト URI を取得する
CRM 設置型 (IFD) 用のアプリケーション登録
CRM Online の場合のアプリケーションの登録
リダイレクト URI を取得する
ネイティブ クライアントの Windows アプリケーションのリダイレクト URI を取得する 1 つの方法は、アプリケーションのデバッグ セッションで次のコード行を実行し、返された URI 値を確認することです。WinJS のデバッグ セッションで、RawUri プロパティを選択します。
string redirectUri = WebAuthenticationBroker.GetCurrentApplicationCallbackUri().ToString();
Dim redirectUri As String = WebAuthenticationBroker.GetCurrentApplicationCallbackUri().ToString()
Windows.Security.Authentication.Web.WebAuthenticationBroker.getCurrentApplicationCallbackUri()
Windows.Security.Authentication.Web クラスは WebAuthenticationBroker 名前空間にあります。 アプリケーションを登録するときにメソッドの呼び出しから返される文字列値を使用します。C# のコード行は、トピック サンプル: Windows 8 デスクトップ modern OData アプリ に表示されています。
コンソール アプリケーションなどの非 Windows ネイティブ クライアント アプリケーションでは、有効な URI 値を使用します。 この場合、URI は実際に存在する必要はありませんが、テナント内で一意である必要があります。
CRM 設置型 (IFD) 用のアプリケーション登録
シナリオ: 顧客や他のユーザーがユーザー定義アプリケーションに登録して、ISV やパートナーが提供する Dynamics 365 サーバーの組織データにアクセスします。
ISV またはパートナーは次のタスクを実行します。
このセクションの後で提供される Windows PowerShell コマンドを使用して、Dynamics 365 設置型 (IFD) サーバーと AD FS サーバーを構成します。
クライアント ID とサーバー アドレス URL 情報を顧客に提供します。
顧客や他のユーザーは以下のタスクを実行します。
- 指示通りに、クライアント ID とサーバー アドレス URL をアプリケーションに入力して、外部アプリケーションを構成します。
CRM サーバーのセットアップ
フェデレーション クレームが有効になるように Dynamics 365 サーバーを構成するには、次の手順に従います。
クレーム設定の構成
展開サービス ロールをホストする Dynamics 365 サーバーに管理者としてログオンし、Windows PowerShell コマンド ウィンドウを開きます。
Dynamics 365Windows PowerShell スナップインを追加します (Microsoft.Crm.PowerShell.dll)。詳細:TechNet: Windows PowerShell を使用した展開の管理
Add-PSSnapin Microsoft.Crm.PowerShell
次の Windows PowerShell のコマンドを入力します。
$ClaimsSettings = Get-CrmSetting -SettingType OAuthClaimsSettings $ClaimsSettings.Enabled = $true Set-CrmSetting -Setting $ClaimsSettings
AD FS サーバーのセットアップ
AD FS で外部アプリケーションを登録するには、次の手順に従います。
Active Directory へのアプリケーションの登録
AD FS サーバーに管理者としてログオンし、Windows PowerShell コマンド ウィンドウを開きます。
次のコマンドを入力します。
Add-AdfsClient -ClientId <CLIENT_ID> -Name <APP_NAME> -RedirectUri <REDIRECT_URI>
ここで、<CLIENT_ID> は一意の番号、<APP_NAME> はアプリケーションの名前、<REDIRECT_URI> は、認証の完了後に AD FS がリダイレクトされる宛先となる有効な URI です。 クライアント ID を GUID にすることをお勧めします。[ツール] メニューを開き、[GUID の作成] をクリックすることで、Microsoft Visual Studioで GUID を生成できます。
CRM Online の場合のアプリケーションの登録
シナリオ: システム ユーザー アカウントを持つ CRM Online ユーザーは、デスクトップ クライアントまたはモバイル アプリケーションを使用して、組織のデータにアクセスします。
エンド ユーザーまたはアプリケーション開発者は、以下のタスクを実行します。
Microsoft Azure で外部アプリケーションを登録し、登録プロセス時にリダイレクト URI を提供します。URI は、有効で適切な URI を指定します。Microsoft Azure のアプリケーションの登録プロセスにより、クライアント ID 文字列が生成されます。
Microsoft Azureアプリケーション登録ページで指示されたら、アプリケーションの認証コードまたは構成ファイルのクライアント IDおよびリダイレクト URI を入力することによってアプリケーションを構成します。
シナリオ: ISV は、後でアプリケーション ストアで公開するアプリケーションを作成し、登録します。 ISV の顧客は、ストアからアプリをダウンロードし、それを使用して Microsoft Dynamics CRM Online組織へ接続します。
ISV は次のタスクを実行します。
- 前のシナリオに記載されている手順(上記)を使用して、ISV のテナントにアプリケーションを登録します。
アプリケーションをダウンロードする各顧客は、次のタスクを実行します。
顧客のテナントのDynamics 365 組織にアクセスすると、顧客に同意フォームが表示されます。
顧客はフォーム上の情報の読み、OK をクリックして、同意します。
(オプション)顧客は、顧客のテナントでアプリケーションに登録します。
ネイティブ アプリケーションでは、顧客は認証するように求められるたびに、同意する必要があります。 Web アプリケーションでは、顧客は 1 回のみ同意を求められます。 同意フォームをバイパスする方法は、顧客が顧客のテナントにアプリケーションを登録することです。
Microsoft Azure でのアプリケーションの登録
管理者権限を持つアカウントを使用して、Microsoft Azure 管理ポータルに サインイン します。 アプリの登録に使用するものと同じ Office 365 サブスクリプション (テナント) のアカウントを使用する必要があります。 左のナビゲーション ウィンドウで [ADMIN] を展開し、[Azure AD] を選択することによって、Office 365 管理センターを通して Microsoft Azure ポータルにもアクセスできます。
ユーザーが Azure テナント (アカウント) を持っていないか、または持っているがMicrosoft Dynamics CRM Online での Office 365 サブスクリプションが Azure で使用できない場合は、トピック 開発者サイトの Azure Active Directory のアクセスを設定 の手順に従って、2 つのアカウントを関連付けます。
アカウントがない場合は、クレジット カードを使用して、アカウントにサインアップすることができます。 ただし、このトピックの手順を実行して 1 つまたは複数のアプリケーションを登録する場合は、アカウントは無料なのでクレジット カードに請求はありません。詳細:Active Directory 価格設定詳細
ページの左側の列で、Active Directoryを選択します。 左側の列をスクロールして、Active Directory アイコンとラベルを参照する必要がある場合があります。
ディレクトリ一覧で、必要なテナント ディレクトリを選択します。
Dynamics 365 テナント ディレクトリがディレクトリの一覧に表示されない場合は、[追加] を選択し、ダイアログ ボックスの [既存のディレクトリを使用する] を選択します。 表示されるプロンプトと指示に従い、次にステップ 1 に戻ります。
ターゲット ディレクトリを選択して、[アプリケーション] (ページの上部付近にある) を選択し、[追加] を選択します。
[実行する内容] ダイアログ ボックスで、[組織が開発しているアプリケーションを追加する] を選択します。
プロンプトが表示されたら、アプリケーションの名前を入力し、Web アプリケーション または ネイティブ クライアント アプリケーションのいずれかのタイプを選択し、右向きの矢印を選択して続行します。 各入力フィールドの該当する値の詳細については、疑問符 [?] をクリックしてください。
チェック マーク アイコンを選択することによて、引き続き必要な情報を提供し、アプリケーション登録プロセスを完了します。
選択した新しく登録されたアプリケーションのタブで、コードの更新を選択します。 提供されたリダイレクト ID と クライアント URI の両方をコピーします。 必要に応じて、これらの値を、アプリケーションの認証コードまたは app.config ファイルに挿入する必要があります。 コード例については、「サンプル: Windows 8 デスクトップ modern OData アプリ」のトピックを参照してください。
新規に登録されたアプリケーションのタブを選択し、[構成] または [他のアプリケーションの Web API へのアクセスの構成] を選択します。
[アプリケーションの追加] を選択し、次の図に示すように、アプリケーションのアクセス許可を設定します。Dynamics CRM Online の行項目で [+] アイコンを選択し、次にチェック マークを選択して、ダイアログを終了します。
Dynamics CRM Online の [委任されたアクセス許可] ドロップダウン リストで、[組織のユーザーとして CRM Online にアクセスする] をオンにします。
Azure Active Directory でのアプリの登録の詳細については、「アプリケーションの追加」を参照してください。
[保存] を選択します。
アプリケーションを AD FS に登録する
- ユーザーを IFD サーバーと Microsoft Dynamics CRM Online 間で連動させ、どちらのサーバー上でもアプリケーションを使用する場合、アプリケーションを IFD 上の Microsoft Dynamics CRM Online と Active Directory フェデレーション サービス (AD FS) の両方に登録 する必要があります。 このトピックの手順に従います。IFD サーバーで Windows Server 2012 R2 を実行している必要があります。
関連項目
アプリケーションの追加、更新、および削除
Web サービスでユーザーを認証する
Microsoft Dynamics CRM 2015 Web サービスでユーザーを認証する
© 2017 Microsoft. All rights reserved. 著作権