Dataverse にはSharePoint よりも複雑なデータレベルのセキュリティを設けることができます。
SharePoint では作成者のレコードに対しての権限の指定を行うことができます。Dataverse でもこれはできますし、更に複雑な要件に対応することができるようになっています。
製品 | 自身が作成者のレコード | 自身が所有者のレコード | レコードの所有者が 同じ部署のレコード | レコードの所有者が 同じ部署配下 |
SharePoint | ||||
Dataverse | (レコードの所有者は既定で 作成者になる) |
目次
SharePoint のセキュリティ制御
SharePoint リスト、サイト自体
SharePoint リストのセキュリティは、Azure AD グループやSharePoint セキュリティグループ等により、SharePoint サイトごと、またその配下のリスト毎の権限を設定することができます。
SharePoint レコード単位
レコードのセキュリティとしては前述した通りレコードの作成者のみが見ることができるという制御を行うことができます。作成者のみのため、上司が見るという運用はできませんし、作成者を変更することはできません。
SharePoint リストの注意点
SharePoint 側デビューの制限ができない場合でも、Power Apps の画面上にて表示する項目を関数 (Power Fx) を利用して制限することができます。
しかしながら、SharePoint リストをPower Apps のデータソースとするときの注意点は、そもそもPower Apps 用のデータソースとしてSharePoint リストが開発されておらずSharePoint としての専用のビューが用意されています。
Dataverse セキュリティ
Dataverse のテーブルへのアクセス権
テーブル及びその権限の種類毎に設定をおこなうことができます。設定はセキュリティロールに行い、そのセキュリティロールをユーザーまたはAzure AD グループに設定することができます。
セキュリティロールは複数割当することができます。
複数のセキュリティロールを割り当てたときの動作は以下のとおりです。
複数のセキュリティロールを割り当てた場合、許可が強い判定が優先されます。
セキュリティロールの作成方法と割当方法は以下のとおりです。
Dataverse 階層セキュリティ
テーブル毎のセキュリティの他に、レコードごとのセキュリティを設定することができます。レコードには所有者という属性が必ず設定されており、どのユーザーまたはチームの持ち物なのかと言うのが管理されています。
所有者の変更は以下のように行うことができます。
ユーザーによって、上司の作成したレコードは表示はできるが編集ができない設定や、他の部署のレコードは表示のみで編集できないようにすることができます。
また、表示もさせないようにすることも設定することができます。
以下のレコードは例として階層セキュリティを設定して、部下は自分のレコードのみ表示できるが、上司のレコードは表示できないような設定をしています。
こちらの設定は、「ユーザーに対して所属する組織」を設定することで実現できます。
セキュリティを考え、部署を作成してユーザーに割り当てておきます。するとそのユーザーが作成したレコードは所属組織に自動で紐づくため、セキュリティが「セキュリティロールとの組み合わせ」で判定されます。
Dataverse for Teams のセキュリティ
Dataverse for Teams のセキュリティはDataverse とは完全に別で、Teams のチームと一致しています。
Dataverse for Teams ではチームに参加しているユーザーがDaataverse にアクセスできます。
まとめ
Dataverse は複雑なセキュリティ設定が可能で、最初設定は大変ですが休暇申請や人事評価等の個人情報を扱ったり、金額情報を扱うような重要な情報を扱うケースの利用に向いています。
必要なシナリオがでてきた場合、まずはMicrosoft 365 についてくるDataverse for Teams からDataverseの作成方法に慣れてから、有償版のDataverse 利用を検討してみてはいかがでしょうか。