前回の記事では権限削除をするアクションについて触れてみました。
Microsoft Flow : SharePoint のアクセス権限を操作するアクションが追加された!( 権限削除 編 )
今回は一度アクセス権限が削除されたアイテムに続いて権限追加をするアクションを試したいと思います。
▼前回の記事で作成したフローの下に権限追加のアクションを追加
「 Grant access to an item or a folder 」の中でも、上の3項目はすぐわかりますね。サイトとリストorライブラリを指定した後に、項目が作成された時アクションで取得したIDを指定する事により、作成されたアイテムに対して権限追加を行えるようになります。ただ…そこから下がまた英語ニガテマンにとってはすぐに読めない英語なので、ここは自動翻訳様のお力で!
Recipents
A collection of recipients who will receive the sharing invitation
受信者
共有の招待状を受け取る受信者の集まり
Roles
Specify a role that is to be granted to the recipients
役割
受信者に付与される役割を指定します
Message
A plain text formatted message that is included in the sharing invitation
メッセージ
共有の招待状に含まれているプレーンテキスト形式のメッセージ
Notify Recipients
Specify whether recipients should receive an email notifigation message
受信者に通知する
受信者に電子メール通知メッセージを受信するかどうかを指定します
わかるようでわからないので、実際に試してみた結果から説明してみます。
これは権限を付与したいユーザーを指定します。メールアドレスなどでサジェストされるので権限を付与したいユーザーを指定しましょう。勝手に最後に「;」が表示されるので、当然複数ユーザーを指定できます。残念な事にこのアクションを利用するシーンの要件としては多そうな SharePoint グループは指定できません。また、メールアドレスなら!と配布リストやセキュリティグループを指定してみましたが、実行時にエラーになりました。ただ、 Office 365 グループは指定できました。つまりここにはユーザーと Office 365 グループのみ指定が可能という事です。
どの権限を割り振るか?ですね。選択肢になっていて「Can edit」「Can view」つまり編集権限か閲覧権限が選択できます。また「カスタム値の入力」があるので、もしかしたらもっと別のアクセス許可レベルを適用したり複雑な事ができるのかもしれないです。(ごめんなさい、今回の記事では調査の対象外)
アクセス許可を付与した時のユーザー通知メールの中のメッセージを指定できます。プレーンテキストのみのようです。
ユーザー通知メールを送信するかしないかを選択できます。つまり、上の Message にメッセージを指定しても、こちらをオフにしていたら意味がないという事ですね。
▼という事で、こんな設定にしてみました。
では、フローを実行します。
▼カスタムリストにアイテムを作成します
▼アイテムが作成されました
フローが動くのを待って…
▼フロー実行完了
アクセス権限を付与したユーザーでサインインして該当アイテムを見ると…
▼閲覧権限なので閲覧はできるけど編集ボタンは表示されていなく編集できない
という事で無事成功!
▼通知メールも受信され、 Message で指定した文章が表示されています
サイトコレクションの管理者ユーザーでアイテムの権限設定を見てみると、
▼該当ユーザーに「表示可能」でアクセス権が付与されています
▼詳細設定を見ると該当ユーザーに個別で「閲覧」アクセス許可レベルが付与されていました
という事で、ザックリとしたお試しは完了。これでこれらのアクションを使えば難しい事はしなくても、SharePoint のリストorライブラリのアイテムやフォルダーに対して、所有者を除くアクセス権限を削除し、更にユーザーもしくは Office 365 グループに表示or編集のアクセス許可レベルを付与する事が可能になります。
これで SharePoint のフォルダーやアイテム単位の権限変更が簡単に行えましたが、使い方には気を付けたいところがあります。まず僕は昔から SharePoint の管理は「シンプルイズベスト」であると言ってきました。アクセス権限の設定も例外ではありません。(以下の記事に記載)
アクセス権限も細かい粒度でガンガンに設定してしまって後で困るパターンは良く聞きます。個人的にはアクセス権限はサイト(コレクション)で1つの設定がベストで、やってもリストかライブラリ単位の設定にとどめた方が良いのかなと経験則では思います。また、制限事項としてリスト・ライブラリ単位で固有のセキュリティスコープは5000が制限であるらしく、それ以上はエラーにはならないけど、パフォーマンスが大幅に下がる可能性があるらしいです。以下、公式の見解のページを紹介します。
つまり、このアクションを使う場合はフォルダー単位やアイテム単位で固有の権限を付与するわけで、それが5000件を超えるような運用が想定される場合はふさわしくなく、例えば今回は投稿したら閲覧権限にする簡単なフローを作りましたが、このくらいのフローで実現する要件なら、リストを分けてリスト単位で権限設定をし、フローでは投稿できるリストにアイテムを作成したら、閲覧専用のリストにアイテムを移動させれば解決するのかなと思います。なので、便利にカンタンにフローを組めますが、 SharePoint のお作法的なところでは検討が必要ですね。
今回色々触っていくうちにもっと調べなきゃいけない事が出てきたので課題として挙げます。
このアクションは「共有」扱いなのか?「権限付与」扱いなのか?がよくわからないです。アクション名の英語を見るとどちらの意味も取れる単語があって曖昧です。実際の挙動は個人的には権限付与っぽい動きだと思うけど、一部は共有の挙動じゃないか?と周囲に指摘されたりとよくわからないです。例えば
▼「 Grant access to an item or a folder 」の項目は「アクセス許可を付与」のUIの項目と同じ
▼そもそも「アクセス許可を付与」は英語だと「 Grant Access 」
つまりこれだけの事実だと「権限付与」なのかな?と思っていました。また、それに伴って今まであまり気にしていなかったのが、この「共有」と「権限付与」の違いなど。意識していなかったのでちゃんと調べる必要がありそうですが、調べようとすると奥が深い感じなので今日のところはこれまで。