※アフィリエイト広告を利用しています。

SharePointリストアイテムの編集・閲覧権限をアイテム単位で自動で制御する方法

Microsoft365

はじめに

Sharepointリストの標準機能でもサイトからの継承を切りアイテム単位で編集・閲覧権限を制御できますが、PowerAutomateを使うことでリスト項目に登録した通りのアクセス権限に変更できますので、その手順を記載します。

やりたいこと

「編集権限項目に設定したアカウントに対して、編集権限のアクセスを自動的に付与したい」とします。また必須条件として、アクセス許可レベルが書き換わるまで他一般ユーザには公開されないようにするを条件設定します。

実装手順

おおまかにまとめますと以下の実装イメージとなります。

  • PowerAutomate実行アカウントの作成
  • 承認機能の有効化
  • リスト項目にユーザグループ項目を追加
  • リスト項目にトリガー項目を追加
  • PowerAutomate作成

PowerAutomateライセンスをもつアカウントの準備

「Microsoft Power Automate Free」のライセンスがあれば問題ありませんので、極論一般ユーザのアカウントでも作成可能です。ただしPowerAutomateで作成したクラウドアプリは作成したライセンスに紐づくため、絶対にアカウント削除しない管理者または開発アカウントが望ましいと考えます。

またPowerAutomateでSharePointリストを操作するには、実行アカウントに対して「SharePoint管理」ロールを付与している必要がございます。

リストコンテンツの承認機能の有効化

リストの設定>バージョン設定にあるコンテンツの承認を「はい」で有効化します。意図としましては、PowerAutomateは実行までにタイムラグがあること、アクセス許可レベルを書き換えるまでは下書き状態とし他ユーザは該当アイテムを閲覧できない状態としてます。

編集権限・閲覧権限をカスタマイズするための項目追加①

編集権限を個別に持たせるための項目を追加します。必須の設定は以下のとおりです。それ以外は作成するリストの要件にあわせて調整してください。

  • この列の情報の種類:ユーザまたはグループ
  • 複数選択できるようにする:はい

編集権限・閲覧権限をカスタマイズするための項目追加②

PowerAutomateでアクセス許可レベルを編集する必要があるかを判別するためのトリガーを設定します。なくても良いですがある方が処理を作成しやすいので入れてます。必須設定は以下のとおりです。

  • この情報の種類:はい/いいえ(チェックボックス)
  • 規定値:いいえ

項目追加後のリストイメージは以下のとおりとなります。

PowerAutomateの構築

ここまで準備できたらついにPowerAutomateでの構築です。自動化したクラウドフローを構築するで「アイテムが作成または変更されたとき」自動実行するフローを作成します。

処理フローとポイント

  • アクセス権のサイト継承状態からのはく奪・付与はSharePointリスト項目に追加した「はい/いいえ(チェックボックス)」で条件判定し、はいの場合のみアクセス権を更新します。なお注意点としては「はい」の場合、trueかと思いますがfalseとなります。
  • アイテムの共有の停止で、アイテムへのアクセス権を所有者グループを除きすべて削除します。
  • アイテムへのアクセス権の付与で、編集者項目を設定します。こちら複数選択項目になるため、自動的にループロジックが作成されます。
  • 投稿者のアクセス権もはく奪されているので、登録者もアクセス権を付与しなおします。
  • アイテムが変更されるたびに動くので、分岐条件に利用している「はい/いいえ(チェックボックス)」をいいえに戻します。※本ケースだといるかいらないか不明ですが、無限ループに陥らせないため念のため実装してます。
  • アイテムを承認状態に変更することで、関係者のみアイテムがアクセスできるようになります。

まとめ

以上で、「SharePointリストアイテムの編集・閲覧権限をアイテム単位で自動で制御する方法」でした。SharePointとPowerAutomateの特徴を掴む必要はありますが、このやり方でしたら必要な人だけにアイテムを公開したいという要件に対応できると思います。

タイトルとURLをコピーしました