Udemy 新コース: 作って学ぶPower BI!

Dataverse セキュリティロールと組織階層セキュリティの関係

black android smartphone on top of white book

Dataverse にはSharePoint よりも複雑なデータレベルのセキュリティを設けることができます。

SharePoint では作成者のレコードに対しての権限の指定を行うことができます。Dataverse でもこれはできますし、更に複雑な要件に対応することができるようになっています。

製品自身が作成者のレコード自身が所有者のレコードレコードの所有者が
同じ部署のレコード
レコードの所有者が
同じ部署配下
SharePoint
Dataverse
(レコードの所有者は既定で
作成者になる)
Dataverse とSharePoint のセキュリティ比較 (表示・作成・編集・削除)

SharePoint のセキュリティ制御

SharePoint リスト、サイト自体

SharePoint リストのセキュリティは、Azure AD グループやSharePoint セキュリティグループ等により、SharePoint サイトごと、またその配下のリスト毎の権限を設定することができます。

メモ

SharePoint はセキュリティロールではなくグループを割当することで設定します。

SharePoint レコード単位

レコードのセキュリティとしては前述した通りレコードの作成者のみが見ることができるという制御を行うことができます。作成者のみのため、上司が見るという運用はできませんし、作成者を変更することはできません。

メモ

Dataverseの場合、作成者とは別に所有者という属性でレコードを管理しています。所有者を変更することでアクセス権を人に渡したりすることができるようになっています。

SharePoint リストの注意点

SharePoint 側デビューの制限ができない場合でも、Power Apps の画面上にて表示する項目を関数 (Power Fx) を利用して制限することができます。

しかしながら、SharePoint リストをPower Apps のデータソースとするときの注意点は、そもそもPower Apps 用のデータソースとしてSharePoint リストが開発されておらずSharePoint としての専用のビューが用意されています。

メモ

SharePoint リストのURLさえわかってしまえば、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 利用を検討してみてはいかがでしょうか。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

Index