
Salesforce【権限編:セッションベースの権限セット】
ある時、権限セットを特定の期間のみ付与したいという場面がありました。管理者が1回1回、権限セットを付与して外してを繰り返すのは面倒だな・・・と思っていました。
そこで調べてみると、「セッションベースの権限セット」という非常に便利な機能があることがわかりました。
今回はセッションベースの権限セットをまとめていきます!!
セッションベースの権限セット
セッションベースの権限セットとは、セッションの間のみ有効となる権限セットです。
セッションは、ログイン中を指すため、その間は権限セットが付与されるということです。
しかし、それではログインして使用する普段のSalesforceの使い方と変わりません。
そこでセッションベースの権限セットを使用する一番簡単な方法として、フローでセッションベースの権限セットを有効化する事です。
セッションベースの権限セットの使い方
セッションベースの権限セットの使い方は、権限セットの作成時に「セッションの有効化が必要」にチェックするだけです。

そしてこの権限セットをユーザーに割り当てます。
今回はテストユーザーAに割り当てます。
作成したセッションベースの権限セットは、取引先に対して編集権限を付与します。

あとは作成した権限セットをフローで有効化するだけです。
セッションベースの権限セットを有効化するフローと、無効化するフローは別々に作成する必要があるため注意してください。
セッションベースの権限セットを有効化するフロー
セッションベースの権限セットを有効化するフローには、下記の権限が必要です。
・プロファイルと権限セットの管理
・権限セットの割り当て
・フローの管理
簡単なフローを作成します。
今回は画面フローで作成し、取引先にアクションを配置して、ボタンからセッションベースの権限セットを有効化する仕組みにしてみます。

取引先にアクションボタンを配置しました!

これで準備完了です。
動作確認をしてみます!
テストユーザーAは「一般ユーザー」というプロファイルを持つユーザーです。
一般ユーザープロファイルは、取引先の参照権限しか持っていません。

テストユーザーAでは取引先が編集できないことを確認します。

この状態で、取引先編集権限を押下してみます。
フローが正常に終了しました!

取引先編集権限付与を押下前は編集できませんでしたが、押下後は編集できるようになりました。
編集権限のオフも同様にフローで作成してあげれば使えそうですね!

セッションベースなので、テストユーザーAでログアウトして再度ログインしてみましょう!
取引先編集権限を付与する前と同様に、編集権限はなくなっていますね!

まとめ
今回はセッションベースの権限セットをまとめてみました。
権限セットをログインの間だけ付与したいときなど、限定的な権限の拡張をしたい時に便利な機能ですね!
(もう少し深掘りすれば、管理者が権限の有効化を実施し、特定のユーザー全員が権限を付与される仕組みなども実装できるかもしれません・・)
とは言え、使い方がわかったので活かしていきたいと思います!