セキュリティロールを理解して Power Platform 環境のアクセス権を適切に管理しよう
Power Platform 環境のアクセスを制御するには、セキュリティロールという仕組みを使用します。これがなかなかとっつきにくい仕組みになっていますので、軽く整理してみたいと思います。
目次
- セキュリティロールはなんのためのものですか?
- Power Platform 環境のアクセス権付与の手順
- セキュリティロールで定義できること
- 既定のセキュリティロール
- テーブルとデータへのアクセス権付与
- 補足
- まとめ
セキュリティロールはなんのためのものですか?
Power Platform 環境内では、権限がないことは実行したりアクセスしたりすることはできません。一例としては、アプリの作成や Dataverse テーブルの構築、環境の管理操作や Dataverse データに対するCRUD操作などです。これらが実行可能か、アクセス可能かを権限のセットをユーザーに割り当てる形で管理しています。
これらを適切に設定することにより組織のデータを保護し、環境を適切に運用することが可能になりますが、この権限付与の仕組みの一部として、セキュリティロールが利用されています。
つまり、セキュリティロール = 権限のセットです。また、名前が示しているように権限のセットはロールベースで検討するのが適当です。
ちなみにですが、アクセス権の構成は環境ごとに別で必要になります。
Power Platform 環境のアクセス権付与の手順
以下の2つのステップで権限のセットを用意し、ユーザーに割り当てることでアクセス権を構成ことができます。
ステップ1:セキュリティロールを作成する
はじめにユーザーに付与したい権限のセットを定義します。基本的にはロールベースで検討します。また、セキュリティロールを構成する際には新しく作成する以外にも既存で用意されているセキュリティロール(後述)を使用することも可能です。
ステップ2:ユーザーまたはチームにセキュリティロールを関連付ける
準備したセキュリティロールを適用したい対象に関連付けます。対象には、ユーザーまたはチームを指定できます。関連付けは1つだけでなく、複数のセキュリティロールを割り当ててユーザーのアクセス権を構成することが可能です。
セキュリティロールで定義できること
セキュリティロールは簡単に表現すると、以下の事柄を設定可能です。
- 環境内でできることを定義する。(アプリの作成や共有、テーブルの構築、環境の管理操作など)
- Dataverse テーブルのデータに対するアクセス権を定義する。
ただし、環境内でできることの定義は複雑なため、基本的には既定のセキュリティロールを活用する形になると思われます。
既定のセキュリティロール
いくつかのコアなセキュリティロールを簡単に説明します。以下のロールを活用してアクセス権を構成します。ただし、既定のセキュリティロールの編集は推奨されませんので、編集して利用したい場合にはコピーしましょう。
Basic User
一般的なタスクが実行可能な、最低限レベルのアクセス権。
環境作成者
アプリやフローを作成し、他のユーザーと共有することが可能。既定環境では全ユーザーに付与される。
システムカスタマイザー
環境をカスタマイズするための完全なアクセス権。テーブルへのアクセス権も強力なものが付随する。
システム管理者
環境をカスタマイズ、管理するための完全なアクセス権。環境内のすべてのレコードを操作可能。
テーブルとデータへのアクセス権付与
Dataverse テーブル関連のアクセス制御は、以下の2つの要素で構成されます。
- テーブルの権限の種類
- 特権に対するアクセスレベル
テーブルの権限の種類
テーブルごとに割り当て可能な権限の種類は以下のとおりです。
作成/読取り/書き込み/削除
作成、読取り、書き込み、削除操作が可能なアクセスレベルを指定します。
追加(アペンドする)
他のレコードに関連付けることが可能なアクセスレベルを指定します。
追加先(アペンドする先)
他のレコードを関連付けることが可能なアクセスレベルを指定します。
割り当て
所有者の割り当てが可能なアクセスレベルを指定します。
共有
レコード単位での共有が可能なアクセスレベルを指定します。
特権に対するアクセスレベル
Dataverse の各テーブルへのCRUD操作やその他操作(上記のもの)について、以下の5段階でアクセスレベルを指定できます。部署を構成していない場合は、実質 [ 組織 / ユーザー / なし ] の3段階になります。
組織
すべてのレコードにアクセス可能です。
部署配下
自分の部署とその配下のレコードにアクセス可能です。
部署
自分の部署のレコードにアクセス可能です。
ユーザー
自分やチームのレコードにアクセス可能です。
なし
アクセス権を与えません。
補足
チームとは?
ユーザーをまとめたグループを指します。
Dataverse 独自のもので、Teams のチームとは直接関係がありません。なので利用したい場合には Dataverse 上でチームを作成する必要があります。AzureAD のセキュリティグループと同期させることも可能です。
部署とは?
部署とは、組織階層管理の仕組みのことを指します。
Dataverse 独自のもので、組織に部署を作成でき、さらに部署にチームを作成できます。また、部署は階層構造にすることが可能です。組織の部署を完全に再現することも可能ですが、推奨されてはいません。
まとめ
簡単に Power Platform 環境のアクセス制御に関して整理してみました。このように、セキュリティロールという権限のセットを作成するなどして準備し、それをユーザーやチームに割り当てることで環境のアクセス権を構成することができます。
全般的に簡易な説明に留まっているので入りの知識程度になっていますが、環境アクセス制御のご参考になりましたら幸いです。
フォローしませんか?
お気軽にご依頼・ご相談ください