技術情報ブログ
Dataverse
2026.03.18

Dataverse入門(6)!テーブルへのアクセス権限を管理する-部署とセキュリティロールを使いこなそう

Dataverse入門(6)!テーブルへのアクセス権限を管理する-部署とセキュリティロールを使いこなそう
伊礼圭吾

こんにちは。アーティサン株式会社の伊礼(いれい)です。

Dataverseテーブル作成講座、最終回となる第6回は、Dataverseにおける「セキュリティと権限」についての解説となります。

普段、ExcelやSharePointリストで管理していると、「このシートは見せたくない」「このアイテムはあの部署しか編集できないようにしたい」といった権限管理に苦労したことはないでしょうか?

対してDataverseは、企業向けの業務システム構築にも耐えられる、非常に細やかな権限管理が可能となっています。

今回はより実践的な組織構造を例にして、「顧客テーブルに対する営業部と経理部の権限設定」をハンズオンで体験してみましょう!

 

 


弊社はPower Platform(Power Apps・Power Automate)に関するアプリ開発や、
皆様が内製化を行う際の支援サービスを提供しておりますので、
Power Platformに関する内容でお悩みがある場合は、以下からぜひお問い合わせください。



 

ビジネスユニットとセキュリティロールの関係

実装に入る前の前提知識として、Power Platformにおける重要な2つの概念、「部署(ビジネスユニット)」と「セキュリティロール(役割)」の関係を理解しておきましょう。

今回は、以下の図のような組織図を想定します!

Dataverse_75

 

部署(ビジネスユニット)

Power Platformにおける「部署」とは、組織内での各部署の階層構造を表すものです。

例の図では、「経理部」と「営業部」という2つの部があり、「営業部」の配下としてさらに「法人営業課」や「自治体営業課」という課があります。

この場合「法人営業課」からみれば、「自治体営業課」は直接の上下関係はありませんが、同じ「営業部の配下」となります。
ですが、「経理部」に対しては「営業部」の外の部署ということになります。

Dataverse_76

このように、部署の上下関係や包含関係を明確にするために、Power Platformでは「部署(ビジネスユニット)」の設定を行います。

ここで覚えておいていただきたいのが、Power Platformではユーザーはもちろん、Dataverseテーブル内のレコード、そして後ほど解説するセキュリティロールも、必ずどこか「1つの部署」に所属します。

テーブル内のレコードもどこか1つの部署に所属する」というのが中々イメージしづらい部分かもしませんが、この後のセキュリティロールやハンズオンを見ていただけると実感いただけるかと思います!

 

セキュリティロール

セキュリティロールとは、「ユーザーに権限を与えることで、役割を定義する」設定にあたります。
セキュリティロールには必ず1つの部署が割り当てられ、環境内のDataverseテーブルのレコードに対して「何の操作をどのレベルまで許可する」という設定が行われています。

操作については以下の表の通り、読み取りや作成、削除といったものが該当します。

操作

内容

作成

テーブルに新しいレコードを作成できる

読み取り

テーブル内のレコードを読み取り、表示できる

書き込み

既存のレコードの内容を変更することができる

削除

既存のレコードを削除することができる

アペンド

リレーションが作成されているテーブルのレコードに対して、子として紐づけを許可することができる

アペンド先

リレーションが作成されているテーブルのレコードに対して、親として紐づけを許可することができる

割り当て

レコードの所有者を変更することができる

共有

所有権は変えずに、他のユーザーへレコードに対するアクセス権を与えることができる

それに加えてセキュリティロールでは各操作ごとに、部署を基準として「アクセスレベル」の設定を行うことができます。

レベル

内容

なし

操作を一切許可しない

ユーザー

自分が所有者のレコードのみ操作できる

部署

同じ部署のレコードを操作できる

部署配下

同じ部署のレコードに加えて、配下の部署のレコードまで操作することができる

組織

部署に関係なく、組織全体のレコードを操作できる


以上が部署セキュリティロールの関係になります。

つまるところ、部署を作成してセキュリティロールの操作とアクセスレベル設定を適用することで、以下のような権限管理が実現できるようになるのです!

  • 法人営業課や自治体営業課の担当者は自身が担当の顧客しか閲覧できない

  • 法人営業課や自治体営業課の課長は、課内の担当者全員の顧客を閲覧、編集できる

  • 営業部の部長は、営業部とその配下の課の顧客をすべて閲覧、編集できる

  • 経理部は顧客のレコードをすべて閲覧できるが、編集や削除はできない


さっそくハンズオンで試してみましょう!

 

ハンズオン:部署とセキュリティロールを作ってみよう

改めて、今回構築する部署とセキュリティロールを整理してみます。

部署

セキュリティロール名

内容

営業部

営業部部長

営業部と配下の部署のレコードをすべて閲覧、編集、削除できる

法人営業課

法人営業課長

法人営業課内のレコードをすべて閲覧、編集、削除できる

法人営業課

法人営業課担当者

自身が作成したレコードを閲覧、編集できる

自治体営業課

自治体営業課長

自治体営業課内のレコードをすべて閲覧、編集、削除できる

自治体営業課

自治体営業課担当者

自身が作成したレコードを閲覧、編集できる

経理部

経理部

営業部と配下の部署のレコードをすべて閲覧できるが、作成、編集、削除はできない

これで必要な部署とセキュリティロールが洗い出せました!

それではまず、部署を作成していきましょう!

 

1. 部署の作成

部署の作成はPower Platform 管理センターより行います。

Power Platform 管理センターを開き、画面左のタブから「管理」→「環境」と選択し、権限設定をしたいPower Platform環境を選択します。

Dataverse_77

選択した環境の管理画面が表示されたら、画面右上の「アクセス」欄の中に「部署」があるので、そちらをクリックします。

Dataverse_78

または、画面上部タブの「設定」から「ユーザーとアクセス許可」→「部署」と進んでも構いません。

すると環境内の部署一覧画面に遷移するのですが、一覧には最低でも1つの部署が表示されていると思います。

Dataverse_79

Power Platform環境では、環境の作成時に自動で環境内で最上位となるルート部署が作成され、ユーザーはこのルート部署の配下に任意の部署を作成していくこととなります。
そのため厳密には、これから作成する法人営業課などもすべて、上位の部署をたどっていくとルート部署の配下ということになりますね。

さて、それでは新しい部署を追加していきましょう!

画面左上の「+新しい部署」をクリックすると、画面右側に新しい部署の設定メニューが表示されます。

Dataverse_80

部署を作成する際には「上位の部署」を設定する必要があるので、組織全体で上位の部署から作成する必要があります。

今回は「営業部」と「経理部」から作成していきましょう!設定項目は簡単で、以下の通りです!

営業部

  • 名前: 営業部

  • 上位の部署: ルート部署

経理部

  • 名前: 経理部

  • 上位の部署: ルート部署


続いて、残りの部署も作成していきます。

法人営業課

  • 名前: 法人営業課

  • 上位の部署: 営業部

自治体営業課

  • 名前: 自治体営業課

  • 上位の部署: 営業部

Dataverse_81

部署の作成は以上です!
上位の部署から作成していく」、というポイントさえ守れば、部署の作成は非常に簡単です!

 

2. セキュリティロールの作成

次に、セキュリティロールを作成します。
部署と同じく、環境の管理画面で「アクセス」欄の中にある「セキュリティロール」をクリックします。

Dataverse_82

また部署と同じように、環境内に存在するセキュリティロールの一覧画面へ遷移します。
セキュリティロールは「システム管理者」や「Environment Maker」など、既定で様々なロールが用意されています。

Dataverse_83

こちらも画面右上から「+新しいロール」をクリックし、新しいロールの設定画面を表示しましょう。

Dataverse_84

部署の作成と比べると必須入力の項目が多いですが、ここで重要なのは「ロール名」と「部署」の2項目です!

他の入力項目についてはどういったユーザーが対象なのか、どんなアプリやシステムに利用するのか、何のテーブルに操作を許可するのか、などを記載してあげると、後から見て何のためのロールなのかが分かりやすくなります。

メンバーの特権継承については、基本的なセキュリティロールとなる「Basic User」レベルのアクセスレベルをコピーするかを設定できます。
特別な事情がなければ、「直接ユーザー(Basic)アクセスレベルとチーム特権」を選択しておきましょう。

実行中のモデル駆動型アプリにApp Opener特権を含める」は、既存のモデル駆動型アプリを利用できるようにしておきたい場合はチェック、個別に設定したい場合はチェックを外しましょう。

そうしたら、まずは法人営業課担当者のセキュリティロールから作っていきましょう。

法人営業課担当者

Dataverse_85
  • ロール名: 法人営業課担当者

  • 部署: 法人営業課


各項目を入力し「保存」をクリックすると、そのままテーブルへのアクセスレベルを設定できる画面へ遷移するので、画面右上で「顧客」と入力し、第3回で作成した顧客テーブルを探しましょう。

Dataverse_86

ここで、テーブルに対して各操作ごとに、アクセスレベルの設定が可能です!

Dataverse_87

法人営業課担当者のロールでは「自身が作成したレコードを閲覧、編集できる」という操作権限を想定しているので、以下の通り設定しましょう!

Dataverse_88

このように設定することで、自身が作成したレコードの読み取りや編集はできるが、削除や割り当ての変更はできず、他の担当者が作成したレコードも閲覧できない権限となります。

アクセスレベルの設定が完了したら、画面上部タブの「保存」または「保存+閉じる」をクリックして、セキュリティロールの作成は完了です!

Dataverse_89

これで法人営業課担当者のセキュリティロールが作成できました!

同じ要領で、その他のセキュリティロールも作成していきましょう!
設定は以下のようなイメージです!

ロール名

部署

作成

読み取り

書き込み

削除

アペンド

アペンド先

割り当て

共有

営業部部長

営業部

部署配下

部署配下

部署配下

部署配下

部署配下

部署配下

部署配下

部署配下

法人営業課長

法人営業課

部署

部署

部署

部署

部署

部署

部署

部署

法人営業課担当者

法人営業課

ユーザー

ユーザー

ユーザー

なし

ユーザー

ユーザー

なし

なし

自治体営業課長

自治体営業課

部署

部署

部署

部署

部署

部署

部署

部署

自治体営業課担当者

自治体営業課

ユーザー

ユーザー

ユーザー

なし

ユーザー

ユーザー

なし

なし

経理部

経理部

なし

組織

なし

なし

なし

なし

なし

なし

 

3. ユーザーへの割り当てと確認

最後に、作成した部署とセキュリティロールをユーザーに割り当てていきましょう。

こちらも部署と同じく、環境の管理画面で「アクセス」欄の中にある「ユーザー」をクリックします。

Dataverse_90

すると環境内のユーザーの一覧が表示されますので、まずは部署を割り当てましょう。
変更したいユーザーを選択して、「部署を変更する」をクリックします。

Dataverse_91

部署の変更画面に遷移しますので、ユーザーに割り当てたい部署に変更して「保存」をクリックします。

Dataverse_92

これで部署を変更できたので、続いてセキュリティロールを割り当てます!
同じく、ユーザー情報から「ロールを管理する」をクリックします。

Dataverse_93

セキュリティロールの管理」メニューが表示されるので、先ほど作成したセキュリティロールを選択し、「保存」をクリックします。

Dataverse_94

おつかれさまです!
以上が部署とセキュリティロールの割り当て手順になります!

ユーザーに割り当てていく作業は大変ですが、
このような手順で部署とセキュリティロールを割り当てていくことで、権限がユーザーにも適用されていきます!

Point

セキュリティロールは各個人のユーザーだけでなく、テナントで作成したセキュリティグループにも付与することが可能です!
セキュリティグループであれば、SharePointリストへのアクセス権限などと一緒に管理することができますので、実務ではセキュリティグループ単位でセキュリティロールを付与してあげることが推奨されます!

 

4. 権限の動作を確認する

それでは前回の記事で作成したモデル駆動型アプリを使って、期待通りの表示になるか確認していきます!

 

 

まずは「自治体営業課AdeleさんLeeさん」で新しい顧客を登録してみます!

  • Adeleさんの画面

    Dataverse_95
  • Leeさんの画面

    Dataverse_96

すると2人とも同じ自治体営業課ですが、担当者レベルのセキュリティロールしか付与されていないため、
顧客一覧のビューではお互いが登録した(所有者である)レコードが見えていない状態となっているのが確認できます!

では続いて、「自治体営業課長Nestorさん」と、「法人営業課長Miriamさん」からはどう見えるでしょうか。

  • Nestor課長の画面

    Dataverse_97
  • Miriam課長の画面

    Dataverse_98

Nestorさんは自治体営業課長のセキュリティロールが付与されているため、
自治体営業課の担当者であるAdeleさんLeeさん登録したレコードがすべて表示されています!

対して法人営業課長のセキュリティロールが付与されているMiriamさんの画面には、
法人営業課の担当者であるAlexさんや、Pradeepさん登録したレコードのみが表示され、自治体営業課の担当者が登録したレコードは表示されていません。

つまり同じ営業部内でも、課ごとのスコープで顧客のレコードが表示されている状態ですね!

それでは、「営業部長Johannaさん」と「経理部Pattiさん」の画面を見てみましょう!

  • Johanna部長の画面

    Dataverse_99
  • Pattiさんの画面

    Dataverse_100

このように、営業部内の担当者が登録したレコードがすべて表示されています!

これでハンズオンの最初で設定した要件通りに、顧客テーブルに対する権限管理を実装できていることが確認できましたね!

 

おわりに

以上、Dataverseテーブルにおける権限管理の設定でした!

Dataverseの部署セキュリティロール、この2つの機能を活用することで、
組織の階層構造業務内容に合わせながら、テーブルレコードに対して柔軟かつ堅牢な権限管理を構築できることがお分かりいただけたかと思います。
ExcelやSharePointリストだけでは実現が難しい、「部署ごとに閲覧できるデータの分割」や「レコードの所有者による権限範囲の設定」といった要件も、Dataverseなら標準機能だけで実装できてしまうんですね!


さて、これまでのシリーズを通してDataverseテーブルの作成や設定モデル駆動型アプリの作り方、そして今回の権限管理まで、Dataverseを扱う上で知っておきたい基本について解説いたしました。

ここまでの内容をマスターしていただければ、充分にDataverseを利用したアプリやシステムの構築ができるようになっているかと思います!

DataverseはMicrosoftの強力なサービスですので、
ぜひ皆さんの業務、環境でもDataverseの活用にチャレンジしていただければと思います!

全6回にわたり、ありがとうございました!
それでは!

Power Platform(SharePoint・Power Apps・Power Automate)に関する営業活動や設計、開発などを担当:伊礼 圭吾

伊礼 圭吾

🖊伊礼圭吾さんのブログ一覧はこちら

音楽と料理が生きがいです Power Platform関連を中心に、ローコードノーコード関連とかで学んだことをアウトプットしていきます。

Microsoftクラウド関連

シェアする
記事カテゴリ
最新記事
2026.03.18

Dataverse入門(6)!テーブルへのアクセス権限を管理する-部署とセキュリティロールを使いこなそう

2026.03.03

Dataverse入門(5)!モデル駆動型アプリの作り方-キャンバスアプリとの違いは?

2026.03.03

Dataverse入門(4)!代替キーってどんな場面で役に立つの?-データの重複を許さない

2026.02.25

Dataverse:Dataverse入門(3)!リレーションでデータを構造化する-テーブル間の連携とは?

2026.02.18

Dataverse入門(2)!テーブルに列を追加してみる-列の型の決め方

attributeO/Rマッパーマーカークラスタリングライブラリviewメールdialogerrorレスポンシブ レイアウトOpenAI環境構築手順複数項目削除変更Copilotテスト事例HTTP リクエストカスタムスクリプトドキュメント管理カラーセットテンプレート活用Power Apps 比較Power Apps モデル駆動型validationazure sql databasetailwindcssビューfirst()関数Tips復元responsive layoutオープンAIpipelineシェアポイントフォルダ外部DBlicenseテストスタジオ活用ワーケーション業務効率化IT管理カラーユニバーサルデザイン自動化事例モデル駆動型 とは注文管理アプリローコードCase式マルチテナントアクセス制限nest新機能restoreデータ行の制限チャットGPTCI/CD便利機能ゴミ箱連携添付ファイルコントロール使い方サイトブランド化名古屋ファイル保存申請システムアプリデザインNode.jsシステム構築サイトマップAngularHTTP Requestドロップダウンメニューノーコード入れ子変数Power BI引き継ぎgalleryパイプラインカレンダー完全削除接続ファイルサイズ基本知識フォントカスタマイズ体験記エンティティワークフロー自動化UI/UXVisual Studio CodeAlternate KeyサブグリッドAccessCSSBreakpointObserver承認動的リスト検索個人列退職ギャラリーDevOpsCalendarモデル駆動型データフローフルリモートワークPowerAutomateブランドセンター感想フォルダ構成設定アクセシビリティPCF代替キー業務アプリ開発InfoPathxUnitメディアクエリリマインドcollectionMicrosoft 365グループユーザー列所有者を変更スクロールMicrosoft 365Teamsセキュリティロールrecycle binアーティサンX-SP Designテーマ作成チームサイトMicrosoft Learn Docsアジャイル開発Wordテンプレート環境構築重複チェックDataverse テーブルMatTable.Net Core 3.1スマホSetコレクションセキュリティグループSharePoint Online異動コンテナ簡易在庫管理ローコード開発ビジネスルールアクセス許可Artisanスライドショーデザイン拡張コミュニケーションサイトカスタムコネクタ準委任契約業務自動化カスタムコンポーネントGUIDAngular MaterialVSCodePCForAll複数の添付ファイル送信元リストLoopショートカットキー時間外非エンジニアDataverseSharePoint Framework転職Slide showMicrosoft365サイトの種類OpenAPI請負契約効率化Power Platform CLI業務キーデータ構造.Net Core Test ExplorerレスポンシブUpdateContext承認フローメールの送信非表示Microsoftshortcut key通知体験談JavaScriptSPFx主キー比較移行要件定義MCPサーバー総合評価型入札資料作成開発手順複合キーモデル駆動型アプリSortByColumns関数Dataverse for TeamsDynamics 365ロードマップform差出人アプリdesignconcat関数ファイル勉強表示サンプルCopilot Studio社内ポータル多言語化サイト構成FAQエージェントデジタルトランスフォーメーション初心者向け拡張機能データ整合性Power AppsTypeScriptitem関数入門技術エクスポートインスタントクラウドフロー[市民開発者JSON文字制限フィルター クエリ内製化切替samplePowerAppsグループウェアMUI権限設計AIチャットボットプロポーザル方式ハウツービルドデータベース設計Power PlatformHTMLGoogle Maps初心者Itインポート自動化したクラウドフロー構築デザインフロー実行ドキュメント ライブラリ市民開発登録者X-SPNFCタグエンゲージメントMultilingualデータ移行実運用官公庁システム画像挿入プロジェクト作成ユニークキーSharePointEF CoreMarker Clusterer中級者DXカスタマイズ委任自動化したクラウド フロー運用開発環境filter query管理システム列StyleDLPポリシー地方自治体MLJSON書式保守性デジタル化推進複数レコードPCFギャラリー一意制約ExcelマイグレーションRANK()関数キャンバスアプリノウハウcomponentVBAフローの種類選択肢列環境sortガバナンス登録日StudioTestCopilot Studiot共有リンクテンプレート化DX推進テーマカラーPDF変換業務システムMicrosoft DataversePower AutomateFramework CoreDynamics 365 SalesDatePicker情報技術ダイアログエラーインスタント クラウド フロー参照列本番環境ソートerror notification更新者AICanvas自治体DXレポート化サイト複製作り方ダークモード資料自動作成キャンバスアプリ 違いフォーム設定C#Attribute directivesMicrosoft TranslatorDropdownメッセージIDコンポーネントエクセルスケジュール済みクラウド フローChatGPTライセンスmultiple itemエラー通知更新日生成系AITest Studio生成AI自治体APIPnP PowerShellページ承認Formulasプロパティフロー設計Power Apps 導入ビュー設定
PageTop
ページトップに戻る