Power AppsやPower Automateのデータソースとなる SharePointリスト/Microsoft Lists。
どちらを使うか迷った場合は、個人的にはSharePointリストがおすすめです。
機能に根本的な違いはない
SharePointリストとMicrosoft Listsに、機能的な大きな違いはありません。
どちらもデータソースとして使えますし、見た目の違いもほとんどありません。
もちろんユーザーが使用する上でも両者に違いは感じられないでしょう。
では何が違いなのかといえば、アクセス権の管理の方法です。
アクセス権の違い
まずSharePointリストは、特定のSharePointサイトの中に作成されます。
サイトにアクセス権のあるメンバーであれば、基本的に誰でも編集権限を持っています。
一方のMicrosoft Listsは、作成者のOneDrive (for Business)の中に作成されます。
アクセス権は基本的に作成者(つまりあなた)にしかなく、明示的に共有しない限り他人がアクセスすることはできず、さらにURLを知られる心配もありません。
SharePointリストを使って開発する人の多くは、この『誰でも編集権限がある』状態を嫌います。
これはSharePointサイトとリストの構造上、そういうものだと割り切るしかありません。(が、もし組織のポリシー上でサイトのアクセス権限を自由に変更できるのであれば対応策は存在します)
ですので、アクセス権を自由に設定できるMicrosoft Listsをデータベースとすれば、Listsごとにアクセス権を設定し、データの改変を防ぐことができるわけです。
SharePointリスト | Microsoft Lists | |
---|---|---|
機能の違い | なし | なし |
見た目の違い | なし | なし |
編集権限 | サイトメンバー全員あり | 自分のみ |
格納場所 | SharePointサイト | OneDrive(for Business) |
しかしMicrosoft Listsは、後々ユーザー管理の煩雑さがネックになってくると思われます。
Microsoft Listsは数が増えると管理が大変
市民開発が進み、アプリもユーザーも増えてくると、ユーザー増減時のMicrosoft Listsのアクセス権管理が大変です。
Microsoft Listsが1つや2つならまだいいのですが、開発を進めれば進めるほど管理側の負担が増えてしまいます。
その点、SharePointリストはサイトにメンバーを追加したり削除するだけで、すべてのリストのアクセス権を一括で管理することができるため、リストの数が増えても負担は少なくてすむでしょう。
この記事を読んでいる人はおそらく社内で市民開発担当の方がほとんどでしょう。
初心者の頃は開発自体に必死かもしれませんが、先を見越して管理する時のことを考えると、素直にSharePointリストを使うのがおすすめです。
ここでSharePointリスト特有の『誰でも編集権限がある』問題が残っているのですが、これはリストのアクセス権限を変更する、または開発専用SharePointサイトを使う、もしくはDataverseを使うとで解消できます。
個人的には後者『開発専用SharePointサイトを使う』のをおすすめしますが、ここでは両方の詳細を紹介します。
リストのアクセス権を変更するには
リストのアクセス権を変更するとデメリットが生じますが、それについては後述します。
特定のリストのアクセス権を変更するには、次の手順の踏みます。
- STEP
特定のリストを開く
アクセス権を変更したいリストを開きます。
- STEP
『アクセス許可の管理』を開く
- STEP
ユーザー、またはグループどちらかでアクセス権を変更する
この順番でやればリストごとのアクセス権を変更できます。
このやり方のデメリットは大きく2つあります。
1. アプリからも編集できなくなってしまう
編集権限を制限すれば、当然アプリやPower Automateのデータソースとして使うことができなくなります。
閲覧のみ可能とすれば、ツールの用途によってはそれで事足りるかもしれません。
しかし閲覧するにしても、リストの保存場所を知られていると直接リストにアクセスされ、中身全部を閲覧されてしまいます(編集はできませんが)。
2. アクセス権の管理が大変
サイト内のリストが増えると、アクセス権の管理が煩雑になってしまいます。
Microsoft Listsの管理よりかは幾分ラクかもしれませんが、自分が管理するうちはまだいいものの、人が変わればいつか面倒に感じてくるかもしれません。
以上の2つの理由から、リストのアクセス権を変更するのは個人的にあまりおすすめしません。
企業によっては、リストのアクセス権を変更してはならないと決められている可能性もあります(私が所属する会社はそうです)。
そのため、次に紹介する『開発専用のサイト』を使うといいでしょう。
開発専用のSharePointサイトを使う
開発専用のサイトとは、その名の通り開発することだけに特化したSharePointサイトを意味します。
そこにメンバーを追加し、開発に必要なデータソースを開発専用サイトに保管してアプリやツールを作成します。
ネックになるのはTeamsが使えない点です。
Teamsを使うと、チャネル-[ファイル]-[三点リーダー]から辿ることでSharePointサイトにアクセスできてしまうので、これだとせっかく開発専用サイトを作った意味がありません。
このTeamsの問題を解消するには、もう1つ別にSharePointサイトを作成し、そちらにも開発サイトと同じメンバーを登録し、そこでTeamsを使います。
メンバー増減時の手間は増えますが、こうすれば開発サイトとコミュニケーションサイトを分離し、データソースへのアクセスを限りなく隠したまま進められるでしょう。
Dataverseを使う
Dataverseであればデータソースへのアクセス管理を細かく設定できます。
SharePointリストのように頭を悩ませる必要はありませんし、もしDataverseを利用できる環境であれば迷わず使用することをおすすめします。