アプリ開発の調査にかかる
時間を削減したい
内製化支援サービス
アプリを自分たちで
作成できるようになりたい
DX人材育成プログラム
プロに開発を依頼したい
アプリ開発導入支援サービス
SharePoint デザイン拡張サービス
X-SP Style
モダン化から運用管理までサポート
移行・モダン化コンサルティング
こんにちは。アーティサン株式会社の小刀稱(ことね)です。
SharePointリストは、簡易的なデータベースとして非常に使いやすいですよね。
実際、弊社が支援させていただいているお客様の多くは、SharePointリストを用いて社内のデータを管理しています。
そのようなお客様から、「ビュー毎にアクセス制限をかけたい」という要望を伺うことがあります。
しかし、SharePointの「ビュー」は固有のアクセス権を付与することはできません。
そこで今回は、対象ユーザーの設定やアクセス許可レベルを利用することで、
SharePointのビューに擬似的なアクセス制限をかける方法についてお伝えします。
SharePointを管理している方に向けた記事となっております。
背景:SharePointの「ビュー毎にアクセス制限をかける」とは
はじめに、SharePointの「ビュー毎にアクセス制限をかける」とはどういうことか説明します。
SharePointには「ビュー」という機能があり、必要なデータをフィルターし、表示させることができます。
「ビュー」については以下をご参考にしてください。
リストまたはライブラリでビューを作成、変更、または削除する
この「ビュー」機能を活用することで、「あるグループに対しては、特定のビューのみを表示させることができないか」という質問をお客様からいただくことがあります。
通常このような場合は、アクセス権限を利用することで、お客様の要望を満たしていきます。
しかし、SharePointの「ビュー」は固有のアクセス権限を付与することができません。
よって弊社としては、まずはPower Appsを用いてアプリを作成することを推奨しております。
しかし、Power Appsのライセンスを持っていない企業様もいらっしゃいます。
本記事は、このような場合の代替案として、SharePointのビューに対し、擬似的にアクセス制限をかける方法についてお伝えしていきます。
今回やりたいこと:SharePointのビューに擬似的なアクセス制限をかける
今回は、対象ユーザーの設定やアクセス許可レベルを利用することで、SharePointのビューに擬似的なアクセス制限をかけることがゴールです。
要件
サンプルとして、SharePointリスト(ビューテスト)を作成しました。
また、ビューテストには、申請に関するデータが含まれています。
また、本リストを利用するのは「管理者」・「一般ユーザ」の2種類です。
各登場人物の要件を以下に示します。
管理者:すべてのアイテムを閲覧・編集することができる
一般ユーザ:自身が申請者となっているデータのみ閲覧・編集することができる
設定
方針
要件を満たすために、以下方針にて設定します。
- ビューを作成
すべてのアイテムを閲覧(以下、「すべての申請」ビューと呼びます)
申請者が自分となっているデータのみ閲覧(以下、「自分の申請」ビューと呼びます)
- ビューを利用できる登場人物を割当てる
管理者:「すべての申請」ビュー・「自分の申請」ビュー
一般ユーザ:「自分の申請」ビュー
- ビューを選択不可とする
標準では、リスト画面上でビューの選択ができますが、一般ユーザが「すべての申請」ビューを選択することを防ぐため、ビューを選択できないように設定します。
上記方針を以下にまとめました。
設定手順
サイドナビゲーションを作成する
ビューを非表示にする
各手順について説明していきます。
SharePointリストのビューを作成する
はじめに、「自分の申請」ビューを新しく作成します。
ビューの設定は、以下を参考にしてください。(これ以外の設定は、「すべてのアイテム」ビューと同一です。)
この設定により、「自分の申請」ビューが既定ビューとなります。
また、申請者列がログインユーザのデータのみ閲覧できるようになります。
ちなみに既定ビューとは、URLにリストのビュー部分を入力しない際に表示されるビューのことを指します。
リスト作成時には「すべてのアイテム」ビューが既定ビューとなっております。
「自分の申請」ビューを既定ビューに設定する理由としては、一般ユーザがリストのビュー部分を入力しないまま、URLを入力した際に「すべての申請」ビューが表示されることを防ぐためです。
続いて、「すべての申請」ビューを作成します。
「すべてのアイテム」ビューを以下のように上書きします。(これ以外の設定は、「すべてのアイテム」ビューと同一です。)
ちなみに、「このビューのWebアドレス:」に記載のあるAllItemsをAllAppliesに変更しています。
なぜこの値を変更しているかというと、一般ユーザーから「すべての申請」ビューを閲覧される確率を少しでも低減させるためです。
今回ご紹介する方法は、あくまで「擬似的に」アクセス権限をかけているだけなので、「すべての申請」ビューのURLを知っていると、アクセスできてしまいます。
また、AllItemsはリスト作成時に既定で作成されるページ名となります。
そのため、一般ユーザーがこの値を想像してURLを入力すると、「すべての申請」ビューを閲覧することができてしまいます。
上記理由から、今回はページ名を変更することにより、一般ユーザーがURLを想像し、「すべての申請」ビューを閲覧することを防いでいます。
アクセス許可レベルを作成する
一般ユーザ用のアクセス許可レベルを作成します。
アクセス許可レベルについては以下をご参考にしてください。
アクセス許可レベルおよびグループを決定する (SharePoint Server)
今回の要件として、一般ユーザは「自身が申請者となっているデータのみ閲覧・編集することができる」必要があります。
データを編集する場合、「投稿」というアクセス許可レベルを付与すればよいのですが、「投稿」では個人用ビューを作成できてしまいます。
よって、一般ユーザが自身で「すべての申請」ビュー相当のデータを表示することができてしまいます。
上記を防ぐために、カスタムのアクセス許可レベルを新たに作成します。(これ以外の設定は、「投稿」と同一です。)
※「投稿」を上書きするのではなく、新しく作成してください。
アクセス許可レベルを割り当てる
作成したアクセス許可レベルを、対象リストの権限に割当てます。
(今回「samplesite 閲覧者」に一般ユーザが含まれています。)
この設定により、一般ユーザは「リストのデータを閲覧・編集できるが、個人用ビューは作成できない」状態になりました。
本日はここまで。
今回は、SharePointのビューに擬似的なアクセス制限をかけるため、ビューを作成し、アクセス許可レベルを割り当てるところまでを説明しました。
次回は、サイトナビゲーションを作成し、対象のユーザーしか特定のビューを閲覧できないように設定していきます。
ここまで読んでくださり、ありがとうございます。
小刀稱知哉
大分県出身(温泉大好き)、現在は東京都在住
1990年生まれ
30才でメーカーの技術営業からIT業界にジョブチェンジ!!!
趣味は読書
主にMicrosoftのローコード(SharePoint・Power Platform)に関するに関する営業活動や設計、開発などを担当しております!
(最近はCopilot Studioについても勉強中)
持ってる資格はPL-200/PL-300/PL-400/PL-600/MS-700/AZ-104/AZ-305/SC-200