ドキュメントライブラリやリストにおいて、誰でも投稿が可能なよう編集権限をフリーにするケースは多々あると思います。
しかし、特にOfficeファイルにおいては、デフォルトで自動保存がオンになっており、閲覧しているユーザーに意図せず更新されてしまうなんてこともあるのではないでしょうか。
リストでは「アイテムごとの権限」という設定で投稿者のみ編集権限を与えることができますが、ライブラリにはその設定がありません。
ということで今回は、ライブラリにアップロードしたファイルを投稿者のみ編集可能とし、他のメンバーは閲覧のみとするようアクセス権を設定するPowerAutomateフローを作成していきたいと思います。
PowerAutomateフローの作成
今回はあるドキュメントライブラリのあるフォルダにファイルがアップロードされたことをトリガーとする権限変更フローをPowerAutomateで作成していきます。
そのライブラリはこちら。

では早速フローを作っていきます。
新規フローを作成する
まずはPowerAutomateにアクセスします。
[マイフロー]を開き、[+新しいフロー]から[自動化したクラウドフロー]をクリックします。

トリガーを設定する
「自動化したクラウドフローを構築する」の画面で以下のように設定し[作成]をクリックします。

| 設定項目 | 内容 | 入力例 |
|---|---|---|
| フロー名 | フローの名前を入力します | 投稿者のみ編集可能 |
| フローのトリガー | フローを実行する起点となるトリガーを設定します | ファイルが作成されたとき(プロパティのみ) – SharePoint |
フロー名には任意の名前を入力します。
検索ワードとして「SharePoint」と入力することで、今回対象のトリガーを見つけやすくなります。
続ていトリガーの設定を行います。
今回は、ポータルサイトの「営業部」ライブラリにある「お知らせ」フォルダーにファイルがアップロードされたらフローを実行するというトリガーとしています。

| 設定項目 | 内容 | 入力例 |
|---|---|---|
| サイトのアドレス | 対象ライブラリがあるサイトを選択します | **ポータル – https://xxxx.sharepoint.com/site/portal |
| ライブラリ名 | 対象のライブラリを選択します | 営業部 |
| フォルダー | 対象のフォルダーを選択します(任意) | お知らせ |
アクセス権をリセットするためのアクションを設定する
トリガーが完成したらアクションの設定です。
まずは現在のアクセス権を全て取っ払う設定を行います。
[+新しいステップ]-[アクションの追加]をクリックし、アクションとして「アイテムまたはファイルの共有を停止します」を選択します。

そして、次のように設定します。

| 設定項目 | 内容 | 入力例 |
|---|---|---|
| サイトのアドレス | 対象ライブラリがあるサイトを選択します | **ポータル – https://xxxx.sharepoint.com/site/portal |
| リストまたはライブラリ名 | 対象のリスト・ライブラリを選択します | 営業部 |
| ID | 対象アイテムを変数で入力します | ID(動的なコンテンツ) |
IDは「動的なコンテンツ」から「ファイルが作成されたとき(プロパティのみ)」の「ID」を選択します。
閲覧アクセス権を追加するためのアクションを設定する
続いてグループに閲覧のみ許可のアクセス権を設定していきます。
[+新しいステップ]-[アクションの追加]をクリックし、アクションとして「アイテムまたはフォルダーへのアクセス権の付与」を選択します。

そして、次のように設定します。

| 設定項目 | 内容 | 入力例 |
|---|---|---|
| サイトのアドレス | 対象ライブラリがあるサイトを選択します | **ポータル – https://xxxx.sharepoint.com/site/portal |
| リストまたはライブラリ名 | 対象のリスト・ライブラリを選択します | 営業部 |
| ID | 対象アイテムを変数で入力します | ID(動的なコンテンツ) |
| 受信者 | 閲覧者としたいユーザーやグループを検索・選択します | チームはちわれ(M365グループ) |
| ロール | アクセス権の種類を選択します | Can view |
| メッセージ | アクセス権を付与したことを通知する場合、通知メッセージを入力します | (空白) |
| 受信者への通知 | アクセス権を付与したことの通知を行うか否かの設定を行います | いいえ |
IDは「動的なコンテンツ」から「ファイルが作成されたとき(プロパティのみ)」の「ID」を選択します。
受信者はグループ(ユーザー)名による検索で選択します。
なお、このアクションにおいてSharePointグループに対するアクセス権は設定できません。
このUIでアクセス権を設定できるのはメールアドレスを持っているグループ(ユーザー)のみとなります。
SharePointグループに対してアクセス権を設定するフローについては別記事にて解説しています。
投稿者のみ編集可能とするためのアクションを設定する
最後に投稿者に対するアクセス権設定です。
[+新しいステップ]-[アクションの追加]をクリックし、アクションとして「アイテムまたはフォルダーへのアクセス権の付与」を選択します。

そして、次のように設定します。

| 設定項目 | 内容 | 入力例 |
|---|---|---|
| サイトのアドレス | 対象ライブラリがあるサイトを選択します | **ポータル – https://xxxx.sharepoint.com/site/portal |
| リストまたはライブラリ名 | 対象のリスト・ライブラリを選択します | 営業部 |
| ID | 対象アイテムを変数で入力します | ID(動的なコンテンツ) |
| 受信者 | 閲覧者としたいユーザーやグループを検索・選択します | 管理者 Email(動的なコンテンツ) |
| ロール | アクセス権の種類を選択します | Can edit |
| メッセージ | アクセス権を付与したことを通知する場合、通知メッセージを入力します | (空白) |
| 受信者への通知 | アクセス権を付与したことの通知を行うか否かの設定を行います | いいえ |
IDは「動的なコンテンツ」から「ファイルが作成されたとき(プロパティのみ)」の「ID」を選択します。
受信者は「動的なコンテンツ」から「ファイルが作成されたとき(プロパティのみ)」の「登録者Email」を選択します。
これで完成です!
フローの動作確認を行いましょう。
動作確認
対象のライブラリにファイルをアップロードします。

マイフローの詳細ページで実行状況を確認します。

正常に実行されているようです。
では投稿したファイルのアクセス権を確認してみます。

投稿者のみ編集が可能で且つ指定したグループは閲覧のみ権限が付与されています。
想定通りの動作となりました。
なお、フローの実行はリアルタイムではなく、PowerAutomateの契約形態により最大15分程度かかる場合があります。
このあたりの仕様については別記事でまとめていますので、よろしければ参考にしてみてください。
まとめ
いかがでしたでしょうか。
今回はPowerAutomateを使ったアイテムのアクセス権変更について例を挙げて解説させていただきました。
PowerAutomateは今回のようにUIに情報を入力(選択)するだけでSharePointの様々な処理を自動化することが可能です。
しかし、複雑な処理を行おうとすると、APIを呼び出したりコードを入力したりとそれなりの知識が必要となってくるのも事実です。
当サイトにおいては極力初心者の方にも活用していただけるよう「そのまま使える」をコンセプトに実例を挙げつつ情報を共有していければと考えています。





コメント