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

セッションベースの権限セットの使用開始

学習の目的

この単元を完了すると、次のことができるようになります。
  • セッションベースの権限セットとは何かを説明する。
  • セッションベースの権限セットを使用する理由を説明する。
  • セッションベースの権限セットを作成する。

セッションベースの権限セットの概要と使用する理由

権限セットを実際に使用すると、どれほど便利かがわかります。権限セットにより、特定の権限をまとめてユーザに割り当てることができます。たとえば、「ケースコメントの編集」、「ケースの管理」、「有効化された注文の編集」の各権限を 1 つの権限セットでまとめて有効にしておくことで、組織のすべてのサポートマネージャにこれらの権限を簡単に割り当てることができます。

セッションベースの権限セットも基本原理は同じですが、セッション有効化オプションが追加されています。コンピュータセッションは、ユーザがログインして他のユーザやデバイスとのやりとりを開始した時点で開始されます。たとえば、仕事で使用するコンピュータネットワークへのログイン認証を行うと、その時点でセッションが開始 (有効化) され、ログオフするか、あるいは他の理由でセッションが終了するまで継続します。たとえば、会社のセキュリティポリシーにより、何も行われない状態で指定された時間が経過するとセッションがタイムアウトになって終了する場合があります。セッション中は、経費を申請したり、Chatter に投稿したり同僚に返信したりといったタスクを行うことができます。ログオフすると、セッションは無効化され、もう一度認証を行ってコンピュータネットワークにログインし、新しいセッションを開始するまでは、これらのタスクを行うことはできません。

セッションベースの権限セットでは、有効化されたセッションに対する権限セットにおいて、特定の権限の使用を制限できます。何らかの理由でセッションが終了すると、セッションベースの権限セットを再び有効化しなければ、ユーザは制約されたリソースにアクセスすることはできません。

たとえば、「会議室の同期」というモバイルアプリケーションで使用する「会議室」という名前のカスタムオブジェクトを作成したとします。従業員は、アプリケーションで「会議室」オブジェクトを参照、更新することで、会議室の機器を管理します。このオブジェクトにアクセスできる従業員は、特定の会議室にいる場合のみ、オブジェクトへのアクセス権を持ちます。また、セキュリティ上の理由から、会議室内の一部の機器にのみアクセスできるようにします。ユーザが会議室の IP 範囲から外れたり、またはセッションが終了したりした場合には、セッションベースの権限セットを再び有効化しなければ、会議室内の機器にはアクセスできません。

なぜこのような制御が必要なのでしょうか? たとえば、会議室が不足している場合などです。会社で面接を実施しており、会議室を面接で使用できるようにしておく必要があるとします。この場合、会議室オブジェクトにアクセスできるのは面接チームとそのサポートスタッフに限定します。そのため、面接チーム以外のユーザは会議室アプリケーションにアクセスできないようにしたいので、物理的スペースに合わせてルータの IP 範囲へのアクセスを制限します。また、会議室には、訓練を受けたスタッフのみが使用すべき高価な機器もあります。権限セットにより、プロジェクタとオーディオ機器へのアクセスのみを制限します。

以降のセクションと単元では、セッションベースの権限セットを設定し、ユーザに割り当てて、採用担当マネージャが機密の雇用データを含む雇用契約にアクセスする際に権限セットを使いやすいようにします。

セッションベースの権限セットの作成

この単元を順に進めてきたのであれば、すでに権限セットの作成方法は知っていることでしょう。もし知らなければ、一度戻って、「データセキュリティ」モジュールの「オブジェクトへのアクセスの制御」単元を先に学習してください。詳しい説明はそちらに任せるとして、先に進みましょう。

セッションベースの権限セットの作成は簡単です。本当に簡単です。実際に、その作成手順は、他の権限セットの作成とよく似ているか、あるいはまったく同じです。では違いは何でしょう? 権限セットを作成するときに [セッションの有効化が必要] を必ず選択しなければならないという点です。

[セッションの有効化が必要] オプションが強調表示されている権限セット作成画面。

[セッションの有効化が必要] を選択することで、セッションが有効化されている場合にのみ権限セットが有効になるということを Salesforce に通知します。

ここでは、採用担当マネージャが雇用契約にアクセスする必要があるとしましょう。マネージャが契約にアクセスする必要があるときにアクセスできるようにしたい一方で、契約は機密情報でもあります。マネージャが契約を見終わったら、いずれかの採用担当者がセッションを終了することで権限セットを無効化し、アクセスを終了することができます。セッション終了後にもう一度契約にアクセスするには、採用担当マネージャが権限セットをもう一度有効化します。

では、セッションベースの権限セットを作成してみましょう。
  1. [設定] で [クイック検索] ボックスを使用して、[権限セット] を検索します。
  2. [新規] をクリックします。権限セットの情報を入力し、[セッションの有効化が必要] が選択されていることを確認し、「Employment Contracts Access (雇用契約アクセス)」という名前を付けます(API のデフォルトは「Employment_Contracts_Access」になります)。
  3. [ライセンス] で [なし] を選択して、[保存] をクリックします。
  4. [設定の検索...] ボックスで契約オブジェクトを検索し、オブジェクトに対して「作成」、「参照」、「編集」、および「削除」権限を有効にします。[契約名]、[契約開始日]、[契約期間 (月)] の各項目に対して「編集」権限を有効にして、保存します。

この段階では、この新しいセッションベースの権限セットはそれほど役に立ちません。なぜでしょうか? まだ、アクティブセッションが関連付けられていないからです。[セッションの有効化が必要] が選択されている場合、権限セットは、関連付けられているセッションが有効化されるまでは何もしません。そしてもちろん、権限セットを誰かに割り当てなければなりません。この作業は次に行います。