セッションベースの権限セットの使用開始
学習の目的
この単元を完了すると、次のことができるようになります。
- セッションベースの権限セットとは何かを説明する。
- セッションベースの権限セットを使用する理由を説明する。
- セッションベースの権限セットを作成する。
セッションベースの権限セットの概要と使用する理由
権限セットを実際に使用すると、どれほど便利かがわかります。権限セットにより、特定の権限をまとめてユーザーに割り当てることができます。たとえば、「ケースコメントの編集」、「ケースの管理」、「有効化された注文の編集」の各権限を 1 つの権限セットでまとめて有効にしておくことで、組織のすべてのサポートマネージャーにこれらの権限を簡単に割り当てることができます。
セッションベースの権限セットも基本原理は同じですが、セッション有効化オプションが追加されています。コンピューターセッションは、ユーザーがログインして他のユーザーやデバイスとのやり取りを開始した時点で開始されます。たとえば、仕事で使用するコンピューターネットワークへのログイン認証を行うと、その時点でセッションが開始 (有効化) され、ログオフするか、あるいは他の理由でセッションが終了するまで継続します。たとえば、会社のセキュリティポリシーにより、何も行われない状態で指定された時間が経過するとセッションがタイムアウトになって終了する場合があります。セッション中は、経費を申請したり、Chatter に投稿したり同僚に返信したりといったタスクを行うことができます。ログオフすると、セッションは無効化され、もう一度認証を行ってコンピューターネットワークにログインし、新しいセッションを開始するまでは、これらのタスクを行うことはできません。
セッションベースの権限セットでは、有効化されたセッションに対する権限セットにおいて、特定の権限の使用を制限できます。何らかの理由でセッションが終了すると、セッションベースの権限セットを再び有効化しなければ、ユーザーは制約されたリソースにアクセスすることはできません。
たとえば、「会議室の同期」というモバイルアプリケーションで使用する「会議室」という名前のカスタムオブジェクトを作成したとします。従業員は、アプリケーションで「会議室」オブジェクトを参照、更新することで、会議室の機器を管理します。このオブジェクトにアクセスできる従業員は、特定の会議室にいる場合のみ、オブジェクトへのアクセス権を持ちます。また、セキュリティ上の理由から、会議室内の一部の機器にのみアクセスできるようにします。ユーザーが会議室の IP 範囲から外れたり、またはセッションが終了したりした場合には、セッションベースの権限セットを再び有効化しなければ、会議室内の機器にはアクセスできません。
なぜこのような制御が必要なのでしょうか? たとえば、会議室が不足している場合などです。会社で面接を実施しており、会議室を面接で使用できるようにしておく必要があるとします。この場合、会議室オブジェクトにアクセスできるのは面接チームとそのサポートスタッフに限定します。そのため、面接チーム以外のユーザーは会議室アプリケーションにアクセスできないようにしたいので、物理的スペースに合わせてルーターの IP 範囲へのアクセスを制限します。また、会議室には、訓練を受けたスタッフのみが使用すべき高価な機器もあります。権限セットにより、プロジェクターとオーディオ機器へのアクセスのみを制限します。
あるいは、機密情報にアクセスする Web アプリケーションの場合を考えてみましょう。セキュリティ上の理由から、ユーザーアクセスを所定の時間内に制限したいと考えます。この場合、セッションベースの権限セットを作成して、ユーザーがトークンを使った認証で環境にログインした場合にのみ有効化されるようにします。トークンの有効期限が切れると、ユーザーは再度認証を行ってアプリケーションにアクセスし直す必要があります。
後続の単元では、セッションベースの権限セットを設定し、ユーザーに割り当てて、採用担当マネージャーが機密の雇用データを含む雇用契約にアクセスする際に権限セットを使いやすいようにします。
一緒にトレイルを進みましょう
エキスパートの説明を見ながらこのステップを実行したい場合は、次の動画をご覧ください。これは「Trail Together」(一緒にトレイル) シリーズの一部です。
セッションベースの権限セットの作成
この単元を順に進めてきたのであれば、すでに権限セットの作成方法は知っていることでしょう。もし知らなければ、一度戻って、「データセキュリティ」モジュールの「オブジェクトへのアクセスの制御」単元を先に学習してください。詳しい説明はそちらに任せるとして、先に進みましょう。
セッションベースの権限セットの作成は簡単です。本当に簡単です。実際に、その作成手順は、他の権限セットの作成とよく似ているか、あるいはまったく同じです。では違いは何でしょう? 権限セットを作成するときに [セッションの有効化が必要] を必ず選択しなければならないという点です。
[セッションの有効化が必要] を選択することで、セッションが有効化されている場合にのみ権限セットが有効になるということを Salesforce に通知します。
ここでは、採用担当マネージャーが雇用契約にアクセスする必要があるとしましょう。マネージャーが契約にアクセスする必要があるときにアクセスできるようにしたい一方で、契約は機密情報でもあります。マネージャーが契約を見終わったら、いずれかの採用担当者がセッションを終了することで権限セットを無効化し、アクセスを終了することができます。セッション終了後にもう一度契約にアクセスするには、採用担当マネージャーが権限セットをもう一度有効化します。
では、セッションベースの権限セットを作成してみましょう。
- [設定] で [クイック検索] ボックスを使用して、[権限セット] を検索します。
-
[New (新規)] をクリックします。
- Label (表示ラベル):
Employment Contracts Access
(雇用契約アクセス) - API Name (API 参照名):
Employment_Contracts_Access
- Session Activation Required (セッションの有効化が必要): 選択
- License (ライセンス): --なし--
- Label (表示ラベル):
-
[Save (保存)] をクリックします。
- [Find Settings (設定の検索)] ボックスで、[Contracts (取引先責任者)] オブジェクトを検索して選択します。
- [Object Permissions (オブジェクト権限)] で、「作成」、「参照」、「編集」、「削除」権限を有効化します。
- [Field Permissions (項目権限)] で、[Contract Name (契約名)]、[Contract Start Date (契約開始日)]、[Contract Terms (months) (契約期間 (月))] の各項目に対して「編集」権限を有効化します。
-
[Save (保存)] をクリックします。
この段階では、この新しいセッションベースの権限セットはそれほど役に立ちません。なぜでしょうか? まだ、アクティブセッションが関連付けられていないからです。[セッションの有効化が必要] が選択されている場合、権限セットは、関連付けられているセッションが有効化されるまでは何もしません。そしてもちろん、権限セットを誰かに割り当てなければなりません。次はその作業を行います。
リソース