技術情報ブログ
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全般 Power Apps Dataverse Copilot Studio

Power Platformの設計・開発・コンサルティングを担当しています。既存システムからの移行検証や、Power Platformの特性に合わせた再設計はお任せください!

PL-200 PL-600

Microsoftクラウド関連

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

SharePoint:『リンクのコピー』は危険?権限トラブルを防ぐ推奨運用を解説

2026.04.08

技術ブログ100本書いてみたら、想像以上に得るものがあった話

2026.04.01

社内に聞く人がいない「孤独なDX」を解決!アーティサンの内製化支援サービス

2026.03.25

SharePointの便利なURLパラメータ活用術|ヘッダー削除・リスト絞り込み・メンテナンスモード

2026.03.18

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

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