あるライブラリにファイルをアップロードすると、必要なユーザーのみにアクセス権を付与するようなフローの作成方法をお話していきたいと思います。

今回は、自分と自分の上司、特定グループ(総務部グループをイメージ)のみに、閲覧権限を付与していきたいと思います。
※サイトの所有者には、フルコントロール権限が付与されたままになります。

目次

1.フローの作り方

フローの全体像

フローの作成手順

①.トリガーに「ファイルが作成されたとき(プロパティのみ)を利用します。

項目設定値
サイトのアドレス(必須)設定したいライブラリのサイト
ライブラリ名(必須)設定したいライブラリ
フォルダー設定したいフォルダー
(※フォルダーは分かりやすくするために、初期名は英語にすることをオススメします(参考情報:【SharePoint】列の内部名について))
ビューによる列の制限列のしきい値を超えた場合、回避方法としてビューを設定

②.1つ目のアクションに、「アイテムまたはファイルの共有を停止します」を利用します。

項目設定値
サイトのアドレストリガーと同じサイト
リストまたはライブラリトリガーと同じライブラリ
ID[ファイルが作成されたとき(プロパティのみ)- ID]
@{triggerOutputs()?[‘body/ID’]}
アクション設定の詳細

③.2つ目のアクションに、「上司の取得(V2)」を利用します。

項目設定値
ユーザー(UPN)[ファイルが作成されたとき(プロパティのみ)- 登録者 Email]
@{triggerOutputs()?[‘body/Author/Email’]}

④.3つ目のアクションに、「アイテムまたはフォルダーへのアクセス権の付与」を利用します。

項目設定値
サイトのアドレストリガーと同じサイト
リストまたはライブラリ名トリガーと同じライブラリ
ID[ファイルが作成されたとき(プロパティのみ)- ID]
@{triggerOutputs()?[‘body/ID’]}
受信者「;(コロン)」を挟んで、上司と総務部グループを入力
・[上司の取得(V2)- メール]
@{outputs(‘上司の取得_(V2)’)?[‘body/mail’]}
・総務部グループのメールアドレス
ロールCan view(閲覧のみの権限)
メッセージアクセス権付与の通知メッセージをカスタマイズしたい場合、入力します
受信人への通知アクセス権付与の通知が必要な場合は、「はい」にします
アクション設定の詳細

フローの実行結果

ファイルをアップロードして、ファイルのアクセス権を確認したところ、想定通りに動作していました!

▲上司である「ちゃんま」と総務部グループに、閲覧権限が付与されている

2.注意点

  • サイト 所有者 および サイトコレクション 管理者はフルコントロールのアクセス権を保持し続けます。
  • 『Power Automate for Office 365 』ライセンスでは、ファイルをアップロードしてから、実行開始までに最大5分かかります。そのため、一瞬でも関係者以外に見えてはいけないファイルへの利用には向いていません。

余談、、、

このフローを作成する際に、最初、何も考えずに「フォルダー内にファイルが作成されたとき」というトリガーを設定しました。
このトリガーでも、ファイルアップにフローが開始されますが、ID や登録者情報が出力されないため、後続のアクションの動的なコンテンツに利用することができません。

そのため、アップされたファイルのプロパティ情報を利用する場合は、「ファイルが作成されたとき(プロパティのみ)」を利用する必要があり、少しだけ躓きました笑
ファイルのコンテンツ内容も必要な場合は、「ファイル コンテンツの取得」アクションを利用することで取得可能です(^・ェ・^)