進行状況の追跡を始めよう
Trailhead のホーム
Trailhead のホーム

コードを作成せずにセッションベースの権限セットを有効化

学習の目的

この単元を完了すると、次のことができるようになります。
  • セッションベースの権限セットを有効化する方法を挙げる。
  • 宣言型ツールを使用してセッションベースの権限セットを有効化する理由を説明する。
  • コードを作成せずにセッションベースの権限セットを有効化する。

セッションベースの権限セットの有効化オプション

セッションベースの権限セットを作成しました。この権限セットを使用できるようにしましょう。そのためには、権限セットのセッションを有効化する必要があります。わざわざ API を使用してコードを作成する道を選ぶと言うのであれば、止めはしません。Soap API の PermissionSet オブジェクトには、HasActivationRequired という項目があります。この Boolean 項目は、権限セットにアクティブセッションを関連付ける必要があるか (true) または必要がないか (false) を指定します。SessionPermSetActivation オブジェクトに、有効化を行うセッション ID と権限セットを組み合わせたレコードを挿入します。

コードの作成方法をご存じなくても、問題ありません。Salesforce は、便利な宣言型ツールである「フロー」を提供しています。もうご利用された経験があるかも知れませんね。フローを使用することで、コードの作成方法を知らなくても、スムーズにセッションを有効化できます。

使用開始

開始する前に、フローに慣れておくと役に立ちます。フローに慣れていなくても問題ありません。今からシンプルなフローを作成します。このフローはわずか 1 ステップのみで機能します。ご推察の通り、Trailhead では詳しい説明も用意しており、お読み頂くことをお勧めします。「Flow Builder を使用したフローの作成」トレイルを参照してください。ただし、続行するにはフローへのアクセス権限が必要です。さっそく権限を調べましょう。
  1. 自分のプロファイルを開きます。[設定] で [ユーザ] を選択し、自分のプロファイルを選択します。おそらくはシステム管理者プロファイルを使用していると思われます。
  2. 「フローの管理」を探して、選択されていることを確認します。
では、セッションベースの権限セットのフローに戻りましょう。
  1. [設定] で、[クイック検索] ボックスに「フロー」と入力して、[フロー] を選択し、[新規フロー] をクリックします。
  2. [画面フロー] を選択して、[作成] をクリックします。
  3. ツールボックスの [要素] タブから、[アクション] をキャンバスにドラッグします。
  4. [すべてのアクションを検索...] で、「有効化」と入力を開始し、[セッションベースの権限セットを有効化] を選択します。
  5. [表示ラベル] に、「Activate Employment Contracts Access」(雇用契約アクセスを有効化) を使用します。[API 参照名] はデフォルトで「Activate_Employment_Contracts_Access」になります。
  6. [権限セット名] の [入力値を設定] で、「Employment_Contracts_Access」と入力します(この値は権限セットの API 参照名です)。
  7. [完了] をクリックします。
  8. [開始] の下部にあるコネクタノードを [アクション] にドラッグします。
  9. フローを「Activate Contracts Access 」(雇用契約アクセスを有効化) という名前で画面フローとして保存します。
メモ

メモ

アクションがどこにも接続されていないというメッセージが表示される場合があります。このメッセージは、今のところは無視しても構いません。

フローは次のようになります。

Flow Builder 画面。セッションベースの権限セットを有効にするアクションが 1 つ示されています。

フローの作成は簡単だったでしょう? あまりにも簡単なため、フローの経験があるユーザなら「1 ステップフローより高度なものができるのでは?」と考えると思います。はい、できます。ですが、今はセッションベースの権限セットの使い方の学習ですので、先に進みましょう。[実行] をクリックして、Flow Builder からフローを実行します。フローを実行すると、権限セットが有効化されます。しかし、[実行] をクリックするとエラー画面が表示されます。おっと。すぐにメールを確認してください。

何を? 「メールを確認」ですって?

そうです。その理由は、Salesforce で発生したエラーを説明するメッセージがメールで届くからです。どうやら、Employment Contracts Access (雇用契約アクセス) 権限セットには誰も割り当てられていないことが原因のようです。フローでの作業で問題が発生した場合は、エラーに関するメールが届いていないかを確認してください。今は、権限セット、ユーザ割り当て、そしてフローという 3 つの異なるトピックを扱っていることを忘れないようにしてください。メールに記載されている詳細情報により、すばやくトラブルシューティングを行うことができます。たとえば、存在しない権限セット名をフローで参照したり、フローに論理的な問題があったり、あるいはフローで参照されている権限セットをどのユーザにも割り当てていなかったりする場合には、エラーが発生します。そして、ユーザが割り当てられていないことについての詳細が含まれる次のようなメールが届きます。

エラーが発生しました: 権限セットを有効にする場合は、事前にユーザに割り当てる必要があります。

以前に、このフローは作成している途中であるため、警告は無視しても構わないとお伝えしたことを思い出してください。同じように、このエラーも無視して構いません。これから権限セットをユーザに割り当てますが、そのユーザはまだ組織には存在しません。そのユーザを次に作成します。通常は、最初にユーザを権限セットに割り当てます。ですが、新しい従業員を権限セットに割り当てることを忘れたとしましょう。この従業員がフローを実行しようとしたらどうなるでしょう? おわかりですね。

一部のエラーは簡単に解決できるということを覚えておきましょう。次はフローを有効にします。Flow Builder 戻り、[有効化] をクリックします。権限セットにユーザを割り当てずにフローを有効化しても実害はありません。ただし、権限セットに誰かを割り当てるまで、フローは必要な操作を実行できません。

契約の編集や作成が行えるユーザを作成します。このユーザは採用担当マネージャであり、契約者の雇用契約にアクセスする必要があります。
  1. 契約オブジェクトに対しては参照のみ (編集不可) のアクセス権で、ユーザをプロファイルに割り当てます。このユーザはフローを実行する必要があります。たとえば、参照のみのプロファイルのコピーをユーザに割り当て、「フローの管理」権限を有効にします。
  2. Employment Contracts Access (雇用契約アクセス) 権限セットをユーザに割り当てます。
このユーザとしてサインインして、契約オブジェクトにアクセスします。契約が表示されます。ただし、この時点では [新規] ボタンがないため、新しい契約を作成することはできません。
[新規] ボタンが表示されていない契約リストビュー。

現在のユーザとしてログインしたまま、[設定] から [フロー] を選択し、「Activate Contracts Access (雇用契約アクセスを有効化)」フローを実行します。契約オブジェクトに再びアクセスすると、[新規] ボタンが表示されていて、契約を作成できるようになっています。

[新規] ボタンが表示されている契約リストビュー。
ヒント

ヒント

[新規] ボタンが表示されない場合は、画面を更新するか、Salesforce Classic に切り替えてから Lightning Experience に戻ります。

現在のセッション中、このユーザには契約オブジェクトへの「参照」、「作成」、「編集」、「削除」権限と、[契約名]、[契約開始日]、および [契約期間 (月)] への「編集」権が付与されます。しかし、ユーザが契約を作成または変更したいと思うたびに [設定] からフローを実行するというのは少し不便です。次の単元では、このプロセスをすべてのユーザにとってもっと簡単にします。