CData Software Blog

クラウド連携のCData Software の技術ブログです。

Dataverse・Dynamics 365 API で ClientCredential を使うためのアプリユーザー作成がとても簡単になっていた話

f:id:sugimomoto:20220107175434p:plain

こんにちは。CData Software Japan リードエンジニアの杉本です。

最近ちょこっとDynamics 365 の「ClientCredential」による認証を試す必要があって、「まーたあの面倒くさい手順を踏まないといけないのかー」と思っていたんですよ。

この面倒くささは以前の私の記事を参照してみてください。

www.cdatablog.jp

そして、Power Platform 管理センターを見ていたら、なんか画面に「アプリユーザーの一覧に移動します」みたいな文言があるではないですか!

f:id:sugimomoto:20220107174957p:plain

これ、試してみたらすごく簡単になっていて、感動したので、紹介したいと思います!

(たぶん、それなりに前から追加されていたとは思うのですが)

#事前準備

アプリユーザーの作成には、予めそのアプリユーザーが紐づくAzure ADのアプリ登録が必要です。

これは基本的に以前の私のBlogで紹介している手順と変わりありません。(UIはちょこちょこ変化がありますが)

https://www.cdatablog.jp/entry/cdsclientcredentials#1-%E3%82%A2%E3%83%97%E3%83%AA%E3%81%AE%E7%99%BB%E9%8C%B2

「CDataSample」という名前でとりあえず作成し

f:id:sugimomoto:20220107175012p:plain

APIのアクセス許可を設定しておきます。

f:id:sugimomoto:20220107175022p:plain

必要に応じてシークレットまたは証明書を登録しておきましょう。

アプリユーザーの作成

それではアプリユーザーを作成してみましょう。

まずは「Power Platform管理センター」に移動して、任意の環境の画面を開きます。

その後「設定」に移動しましょう。

f:id:sugimomoto:20220107175029p:plain

設定に移動後「ユーザーとアクセス許可」のところに「アプリケーション ユーザー」!という項目があるので、これをクリックします。

f:id:sugimomoto:20220107175037p:plain

以下のような画面に移るので「アプリ ユーザーの設定」をクリック

f:id:sugimomoto:20220107175045p:plain

ここがアプリユーザーの設定画面です。まずは「アプリの追加」をクリックしてみましょう

f:id:sugimomoto:20220107175052p:plain

なんと素晴らしいことにAzure Active Directoryに先程登録したアプリが表示されました! 今までであれば、ClientIdをわざわざ指定しなければいけなかったのに、この手軽さ。素晴らしいですね。

早速このアプリを選択し

f:id:sugimomoto:20220107175058p:plain

あとはこのアプリユーザーが所属する部署とセキュリティロールを設定するだけです。

f:id:sugimomoto:20220107175106p:plain

これで無事アプリユーザーの作成が完了しました。

f:id:sugimomoto:20220107175112p:plain

大変お手軽で素晴らしいですね。

CData Driver で使ってみる

せっかくなのでCData Driver からも使ってみましょう。といっても基本的な設定方法は前と変わりません。

www.cdata.com

www.cdata.com

以下のドキュメントでも詳しく解説しています。

cdn.cdata.com

プロパティ名 備考
Organization URL https://XXXX.crm7.dynamics.com/ 接続先のURLを指定します。
InitiateOAuth GETANDREFRESH XXXX
AzureTenant 例)12f66cf8-7df4-4292-b70c-c89629c1700a 接続先のAzure TenantId(ディレクトリId)を指定します。
OAuthGrantType CLIENT ClientCredentialsでは「CLIENT」を指定します。
OAuth Client Id 例)c5197f7c-f159-4948-885a-74a11da873e4 Azure ADに登録したアプリのアプリケーションIDを指定します。
OAuth Client Secret 例)t7HA~_B~E8Lhoi3Ib.7NS6j_78-YQruid3 Azure ADに登録したアプリのクライアントシークレットを指定します。

この状態でアクセスしてみると、いつもであればブラウザが立ち上がって、認証・認可のプロセスを挟むところを、そのままストレートにデータアクセスまで達成できます。

f:id:sugimomoto:20220107175119p:plain

気になる方は是非お試しあれ。