Azure ADのグループを使用してDynamics 356 Business Centralのアクセス権限を制御できるようになりました。この機能は2023 Release Wave1で追加された新機能です。
公式ドキュメント
セキュリティ グループを使用してユーザー アクセス許可を管理する | Microsoft Learn
目次
1. 事前設定
事前準備としてAuzre ADのグループを作成します。Azure ADのグループにはいくつかの種類がありますが、公式のリリース文書と同様にセキュリティグループを作成します。
![](/wp-content/uploads/2023/05/01_D365BC-Manage-User-Permissions-Using-Security-Groups-1024x569.png)
作成したセキュリティグループのメンバーにテスト用のユーザーを割り当てます。
![](/wp-content/uploads/2023/05/02_D365BC-Manage-User-Permissions-Using-Security-Groups-1024x570.png)
テスト用のユーザーには予めBCのライセンスを割り当てておきます。
![](/wp-content/uploads/2023/05/03_D365BC-Manage-User-Permissions-Using-Security-Groups-1024x570.png)
Feature Managementの一覧画面で”Featrute: Convert user group permissions”をAll Usersに設定します。Version22以降の環境を新規作成した場合は既定でEnabledになっているはずです。
![](/wp-content/uploads/2023/05/04_D365BC-Manage-User-Permissions-Using-Security-Groups-1024x570.png)
ロールを”Administration of users, security groups and permissions”に切り替えておきます。ユーザーや権限管理のメニューがロールセンターに表示されるのでとても便利です。
![](/wp-content/uploads/2023/05/05_D365BC-Manage-User-Permissions-Using-Security-Groups-1024x569.png)
ユーザーカード画面を確認すると、ユーザーグループタブが存在しません。従来のユーザーグループの代わりにAzure ADのグループを使用してアクセス権限を制御するためです。
![](/wp-content/uploads/2023/05/06_D365BC-Manage-User-Permissions-Using-Security-Groups-1024x570.png)
従来通りBCのユーザーグループを使用してアクセス権限を制御したい場合はFeature Managementの一覧画面で” Featrute: Convert user group permissions”をNoneに設定します。
![](/wp-content/uploads/2023/05/07_D365BC-Manage-User-Permissions-Using-Security-Groups-1024x570.png)
するとユーザーカード画面に”User Group”タブが復活します。
![](/wp-content/uploads/2023/05/08_D365BC-Manage-User-Permissions-Using-Security-Groups-1024x570.png)
検証を続けるので、 Feature Management の設定をEnabledに戻します。
![](/wp-content/uploads/2023/05/09_D365BC-Manage-User-Permissions-Using-Security-Groups-1024x570.png)
テスト用のユーザーをM365から取得します。(これは既存機能です。)
![](/wp-content/uploads/2023/05/10_D365BC-Manage-User-Permissions-Using-Security-Groups-1024x569.png)
テストユーザーがBC上に生成されました。既定の設定ではいろいろと権限セットが付与されています。
![](/wp-content/uploads/2023/05/11_D365BC-Manage-User-Permissions-Using-Security-Groups-1024x570.png)
この後、アクセス可否の検証を行うので、テストユーザーに割り当たっている権限セットはすべて削除します。
![](/wp-content/uploads/2023/05/12_D365BC-Manage-User-Permissions-Using-Security-Groups-1024x570.png)
この状態でテストユーザーBCにサインインを試みるとエラーになります。(以後、赤いツールバーのブラウザはテストユーザーのものです。)
![](/wp-content/uploads/2023/05/13_D365BC-Manage-User-Permissions-Using-Security-Groups-1024x569.png)
ここまでで準備完了です。
2. 新機能による権限割り当て
では、実際に新規機能を使用して権限を割り当ててみましょう。ロールセンターから”Security Groups”を実行します。
![](/wp-content/uploads/2023/05/14_D365BC-Manage-User-Permissions-Using-Security-Groups-1024x570.png)
Security Groupsの一覧画面です。まだ何も登録されていません。”+New”ボタンをクリックします。
![](/wp-content/uploads/2023/05/15_D365BC-Manage-User-Permissions-Using-Security-Groups-1024x570.png)
Azure ADのセキュリティーグループを指定する画面が表示されます。”…”をクリックします。
![](/wp-content/uploads/2023/05/16_D365BC-Manage-User-Permissions-Using-Security-Groups-1024x570.png)
するとAzure ADのセキュリティーグループが一覧表示されました。正確に言うとセキュリティグループ以外のグループ(Micrososoft365グループなど)も表示されており、選択可能です。(後ほど触れます。)ここでは準備段階で登録したセキュリティグループを選択します。
![](/wp-content/uploads/2023/05/17_D365BC-Manage-User-Permissions-Using-Security-Groups-1024x570.png)
選択したAzure ADのセキュリティーグループにBCのセキュリティーグループの名前を付けます。既定ではAzure ADのセキュリティーグループの名前と同じです。厳密には先頭の20文字までを大文字にしたものがBCのセキュリティグループの名前になります。
![](/wp-content/uploads/2023/05/18_D365BC-Manage-User-Permissions-Using-Security-Groups-1024x570.png)
セキュリティグループの一覧画面で、いま作成したセキュリティグループを確認します。右側の情報ボックスにはメンバーとしてテストユーザーが割り当たっています。権限セットはまだ何も割り当たっていません。
![](/wp-content/uploads/2023/05/19_D365BC-Manage-User-Permissions-Using-Security-Groups-1024x570.png)
セキュリティグループに権限セットを割り当てます。
![](/wp-content/uploads/2023/05/20_D365BC-Manage-User-Permissions-Using-Security-Groups-1024x570.png)
試しに”Super”権限セットを割り当てます。
![](/wp-content/uploads/2023/05/21_D365BC-Manage-User-Permissions-Using-Security-Groups-1024x570.png)
セキュリティグループの一覧画面に戻ると、Super権限が割り当たっていることが確認できます。
![](/wp-content/uploads/2023/05/22_D365BC-Manage-User-Permissions-Using-Security-Groups-1024x570.png)
この状態でテストユーザーがサインインを試みるとサインインできます。Azure ADのセキュリティーグループを使用したアクセス権限付与に成功しました!
![](/wp-content/uploads/2023/05/23_D365BC-Manage-User-Permissions-Using-Security-Groups-1024x569.png)
3. セキュリティグループ以外のAzure ADグループ
先ほど少し触れましたが、Azure ADにはセキュリティグループ以外にもいくつかのタイプのグループが存在します。具体的には”配布リスト”グループ, “メールが有効なセキュリティ”グループ, “Microsoft 365″グループです。これらのグループを使用してアクセス権限制御できるか調べてみます。
![](/wp-content/uploads/2023/05/24_D365BC-Manage-User-Permissions-Using-Security-Groups-1024x569.png)
BCのセキュリティーグループ一覧画面で新規作成すると、 “配布リスト”グループ, “メールが有効なセキュリティ”グループ, “Microsoft 365″グループ も選択可能です。
![](/wp-content/uploads/2023/05/25_D365BC-Manage-User-Permissions-Using-Security-Groups-1024x569.png)
それぞれのタイプのAzure ADグループについてBCのセキュリティグループを作成します。最初にAzure ADの”セキュリティー”グループから作成したBCのセキュリティグループについてはPermissionSetを外しておきます。(これが残っていると権限制御の確認ができないので。)
![](/wp-content/uploads/2023/05/26_D365BC-Manage-User-Permissions-Using-Security-Groups-1024x569.png)
試しに配布リストから作成したBCのセキュリティグループに権限を割り当てます。(事前にこの配布リストにはAzure AD側でテストユーザーをメンバーとして追加しておきます。)
![](/wp-content/uploads/2023/05/27_D365BC-Manage-User-Permissions-Using-Security-Groups-1024x569.png)
すると、テストユーザーはサインインできました。
![](/wp-content/uploads/2023/05/28_D365BC-Manage-User-Permissions-Using-Security-Groups-1024x569.png)
実際に試すとわかりますが、”メールが有効なセキュリティ”グループや”Microsoft 365″グループについても同様にアクセス権限を付与することができます。
ちょっと紛らわしいですね。BCのセキュリティグループは”ユーザーグループ”(または”AADベースのユーザーグループ”)とかに名前を変えたほうが良い気がします。
4. 便利機能
便利機能を2つ紹介します。1つ目は権限セットとセキュリティーグループの割り当てをマトリクスで表現する機能です。従来の”ユーザーグループ別権限セット”とほぼ同様の機能です。セキュリティーグループ一覧画面から”Permissions”->”Permisson Set by Security Groups”を選択。
![](/wp-content/uploads/2023/05/29_D365BC-Manage-User-Permissions-Using-Security-Groups-1024x569.png)
するとマトリクス形式の画面が表示されます。この画面でチェックをOn/Offすることで権限セットとセキュリティグループの割り当てを変更できます。
![](/wp-content/uploads/2023/05/30_D365BC-Manage-User-Permissions-Using-Security-Groups-1024x569.png)
もう1つの便利機能は、xmlエクスポート/インポート機能です。1つつまたは複数のセキュリティグループを選択してエクスポートすることができます。
![](/wp-content/uploads/2023/05/31_D365BC-Manage-User-Permissions-Using-Security-Groups-1024x569.png)
このようなファイルがエクスポートされます。
![](/wp-content/uploads/2023/05/32_D365BC-Manage-User-Permissions-Using-Security-Groups-1024x600.png)
xmlファイルをインポートすることもできます。
![](/wp-content/uploads/2023/05/33_D365BC-Manage-User-Permissions-Using-Security-Groups-1024x569.png)
xmlファイルにはセキュリティーグループと権限セット、会社コードの割り当てが含まれます。当然ですが、ユーザーID割り当て情報は含れません(それはAzure AD側の仕事)。テスト環境の設定を本番環境に移行するのに便利だと思います。
5. 入れ子のグループによる権限割り当て
実際の運用場面を考えると、Azure ADのグループが入れ子でも使えるかどうかが気になります。試してみましょう。
異なるグループタイプの間で入れ子が可能かどうかは以下のようになります。
親\子 | Microsoft 365 | 配布リスト | メールが有効なセキュリティー | セキュリティー |
Microsoft 365 | × | × | × | × |
配布リスト | × | 〇 | 〇 | × |
メールが有効なセキュリティー | × | 〇 | 〇 | × |
セキュリティー | × | 〇 | 〇 | 〇 |
テストケースとして、”配布リスト“グループにユーザーをメンバー追加し、”配布リスト“を”メールが有効なセキュリティー“グループにメンバー追加し、”メールが有効なセキュリティー“グループを”セキュリティー“グループにメンバー追加した例で実験します。
最初に”配布リスト“グループにユーザーをメンバー追加。
![](/wp-content/uploads/2023/05/34_D365BC-Manage-User-Permissions-Using-Security-Groups-1024x569.png)
次に”配布リスト“を”メールが有効なセキュリティー“グループにメンバー追加。
![](/wp-content/uploads/2023/05/35_D365BC-Manage-User-Permissions-Using-Security-Groups-1024x569.png)
最後に”メールが有効なセキュリティー“グループを”セキュリティー“グループにメンバー追加。
![](/wp-content/uploads/2023/05/36_D365BC-Manage-User-Permissions-Using-Security-Groups-1024x569.png)
AzureADの”セキュリティー“グループ に”Super”権限セットを割り当て。
![](/wp-content/uploads/2023/05/37_D365BC-Manage-User-Permissions-Using-Security-Groups-1024x569.png)
BCのセキュリティグループ一覧ではAzureADのセキュリティグループに”Super”権限セットとテストユーザーが割り当たっており、このテストユーザーはサインインできそうに見えます。
![](/wp-content/uploads/2023/05/38_D365BC-Manage-User-Permissions-Using-Security-Groups-1024x569.png)
しかし実際にはサインインできません。。
![](/wp-content/uploads/2023/05/39_D365BC-Manage-User-Permissions-Using-Security-Groups-1024x569.png)
入れ子の真ん中のグループ(”メールが有効なセキュリティー“グループ)に”Super”権限セットを付与します。
![](/wp-content/uploads/2023/05/40_D365BC-Manage-User-Permissions-Using-Security-Groups-1024x569.png)
それでもサインインはできません。
![](/wp-content/uploads/2023/05/41_D365BC-Manage-User-Permissions-Using-Security-Groups-1024x569.png)
入れ子の最下層のグループ(”配布リスト”グループ)に”Super”権限セットを割り当てます。
![](/wp-content/uploads/2023/05/42_D365BC-Manage-User-Permissions-Using-Security-Groups-1024x569.png)
これはさすがにサインインできました。
![](/wp-content/uploads/2023/05/43_D365BC-Manage-User-Permissions-Using-Security-Groups-1024x569.png)
実際に試すとわかりますが、同じタイプのAzureADグループを入れ子にしてもサインインできませんでした。つまり、グループを入れ子にしてアクセス権限を制御するのは不可能、ということです。
6. まとめ
- 従来のBCユーザーグループに代わってAzure ADのユーザーグループを使用してユーザーにPermission Setを割り当てることができる。
- セキュリティグループ以外のAzure ADグループ(M365グループ、配布リスト、メールが有効なセキュリティ)を使ってアクセス権限を制御することも可能。
- Azure ADのグループを入れ子にしてアクセス権限制御することは不可能。
7. 所感
Azure ADのグループを使用して権限付与することができるので、ユーザー割り当ての手間は減ると思います。実運用を考えたときに、人事異動のたびにAzure ADのグループとBCのユーザーグループの両方をメンテする必要がなくなるわけなので、手間としては減ります。入れ子が不可能の件も、もともとBCのユーザーグループが入れ子にできないので諦めはつくでしょう。入れ子ができたらなおうれしいですが。一方、BC導入ベンダーにとっては少々ややこしいことになります。今まではBCの世界で閉じていたので、好きに設定できていたのですが、M365導入済みでBCを新規導入するようなケースでは顧客のAzureAD担当にユーザー割り当て依頼することになり、BC内で完結できなくなります。設定変更とか、トラブル切り分けがやりにくくなるかな、と思います。とはいえ、全体としては会社のユーザーグループ管理の方針に沿った形で権限制御できるので、コンプライアンス的にも良い方向の改善だと思います。
ぜひ皆さんも使ってみてください。