オブジェクトへのアクセスの制御
学習の目的
この単元を完了すると、次のことができるようになります。
- 既存のプロファイルを参照し、新しいプロファイルを作成する。
- プロファイルを使用してオブジェクトへのアクセス権を変更する。
- プロファイル内のすべての割り当てられたユーザーを表示する。
- 新しい権限セットを作成する。
- 1 人または複数のユーザーに権限セットを割り当てる。
オブジェクト権限の管理
データアクセスを制御する最も簡単な方法は、オブジェクトの特定の種別に対して権限を設定することです。(オブジェクトとは、リードや取引先責任者のようなレコードのコレクションです)。そのオブジェクトの任意のレコードをユーザーのグループが作成、参照、編集、または削除できるかどうかを制御できます。
オブジェクト権限は、プロファイルまたは権限セットを使用して設定できます。各ユーザーに割り当てられるプロファイルは 1 つです。権限セットはユーザーに 1 つまたは複数を割り当てることができます。
- ユーザーのプロファイルによって、ユーザーがアクセスできるオブジェクトと、オブジェクトレコードでユーザーが実行できる操作 (作成、参照、編集、削除など) が決まります。
- 権限セットを使用すれば、ユーザーに追加の権限を付与したり、アクセスを設定することができます。
特定の種別のすべてのユーザーに必要な最小限の権限と設定を付与するには、プロファイルを使用します。次に、必要に応じて権限セットを使用して追加権限を付与します。プロファイルと権限セットを組み合わせることにより、非常に柔軟にオブジェクトレベルのアクセス権を指定できます。
社員募集アプリケーションのオブジェクト権限
例として、社員募集アプリケーションでオブジェクトレベルのアクセス権を設定する方法を見てみましょう。(これは例であるため、このアプリケーションは組織には表示されません)このアプリケーションには、主に採用担当マネージャー、採用担当者、面接官、標準従業員という 4 種のユーザーがいます。オブジェクトに対して各ユーザー種別はどのような種類のアクセスが必要になるでしょうか?
採用担当マネージャー
採用担当マネージャーの Ben が、自分が募集している職種に関連する社員募集レコードへはアクセスできて、その他の社員募集レコード (自分の部下である他の採用担当マネージャーが所有しているもの以外) へは、アクセスできないようにする必要があります。また、社会保障番号項目など、Ben が参照する必要のない機密項目もあります。アプリケーション内の主要なカスタムオブジェクトのそれぞれに対して Ben に必要な権限を考えてみましょう。
-
Position — Ben が新しい職種を投稿し、自分が採用担当マネージャーである職種のすべての項目を更新および参照できるようにする必要があり、他のマネージャーの職種は参照のみできるようにする必要があります。
-
Candidate — Ben が、自分が採用担当マネージャーである職種に応募した応募者のみを参照できるようにする必要があります。さらに、Ben は応募者の社会保障番号を参照する理由はないので、この項目は Ben が参照できないように制限する必要があります。
-
Job Application — Ben が、どの応募者が採用または不採用かを示すために求人応募の状況を更新できるようにする必要があります。ただし、求人応募の応募者の一覧や応募者が応募している職種については変更できないようにする必要があります。そのため、Ben が求人応募の参照項目は更新できないようにする必要があります。
-
Review — 応募者について決定を行うために、Ben が、面接官が投稿した審査票を参照し、面接官の審査が偏っていると感じたときにはコメントを記入できるようにする必要があります。同様に、Ben は自分が面接した応募者の印象を覚えておけるように、審査票を作成する必要もあります。
採用担当者
採用担当者である Mario は、システム内のすべての職種、応募者、求人応募、審査票を作成、参照、変更できる必要があります。また、作成者に関係なく、採用担当者全員がすべての職種の求人について協力し合うことになるため、Ben は他の採用担当者が所有している社員募集レコードについても参照と変更ができなければなりません。
採用担当者が応募者に関する情報を含むレコードを誤って削除してしまわないようにする必要があります。これは、採用に関する意思決定に疑惑が生じた場合に法廷で弁護できるように、社員募集関連のレコードを数年間保存しておくことが、州法や連邦法によって定められているためです。
面接官
Melissa は、高度に技術的な職種への応募者を面接するエンジニアです。Melissa については、自分が面接を担当する応募者と求人応募のみを参照できるようにする必要があります。また、すべての職種の給与の最大値と最小値およびすべての応募者の社会保障番号は、面接官の仕事には関係のない機密情報であるため、彼女が参照できないようにする必要があります。
標準従業員
Harry のような従業員は、活動中の採用担当マネージャーや面接官ではありませんが、新しい人材を採用する際の最適なリソースであることがよくあります。この場合は、募集中の職種を参照できるが、給与の最大値と最小値の項目は参照できないようにする必要があります。知り合いに給与の最高額を教えて粘って交渉するように助言するかもしれませんからね。また、Harry が社員募集アプリケーションのその他のレコードを参照できないようにする必要もあります。
次に、4 つの種別の各ユーザーに必要な権限をまとめました。
カスタムオブジェクト |
採用担当者 |
採用担当マネージャー |
面接官 |
標準従業員 |
---|---|---|---|---|
Position (職種) |
参照、作成、編集 |
参照、作成、編集* |
参照 (給与の最小値、最大値を除く) |
参照 (給与の最小値、最大値を除く) |
Candidate (候補者) |
参照、作成、編集 |
参照* (社会保障番号を除く) |
参照* (社会保障番号を除く) |
該当しない |
Job Application (求人応募) |
参照、作成、編集 |
参照、編集 (参照項目を除く) |
参照* |
該当しない |
Review (審査) |
参照、作成、編集 |
参照、作成、編集 |
参照**、作成、編集** |
該当しない |
* 採用担当マネージャーや面接官が担当する職種に関連するレコードのみ。
** 面接官が所有するレコードのみ。
ここからは、プラットフォームを使用して社員募集アプリケーションにこれらのルールを実装する方法について学習します。後ほど説明しますが、これにはオブジェクト、項目、レコードの 3 つすべてのレベルでセキュリティのコントロールを設定する必要があります。
プロファイルを使用したアクセスの制限
ユーザーには 1 つのプロファイルが割り当てられており、このプロファイルによってそのユーザーがアクセスできるデータと機能が決まります。プロファイルは設定と権限の集合であり、ユーザーが参照できるデータはプロファイル設定によって決定され、そのデータでユーザーが実行できる操作は権限によって決まります。
- ユーザーのプロファイル内の設定は、ユーザーが特定のアプリケーション、タブ、項目、またはレコードタイプを参照できるかどうかを決定します。
- ユーザーのプロファイル内の権限は、特定の種別のレコードの作成または編集、レポートの実行、アプリケーションのカスタマイズをユーザーが実行できるかどうかを決定します。
通常は、ユーザーの職務 (システム管理者、採用担当者、採用担当マネージャーなど) に合致するようにプロファイルが割り当てられますが、それぞれの Salesforce 組織のニーズに応じて自由に設定できます。1 つのプロファイルを複数のユーザーに割り当てることはできますが、1 人のユーザーが同時に持てるのは 1 つのプロファイルのみです。
標準プロファイル
プラットフォームには、一連の標準プロファイルが含まれます。たとえば、次のようなものがあります:
- 標準ユーザー
- マーケティングユーザー
- 契約管理者
- システム管理者
- 最小アクセス - Salesforce
各標準プロファイルには、プラットフォーム上で使用できるすべての標準オブジェクトのデフォルトの権限のセットが含まれます。たとえば、標準ユーザーはレコードの作成や編集ができますが、「最小アクセス - Salesforce」ユーザーはレコードを参照できても作成や編集はできません。システム管理者プロファイルには、最も広範なデータへのアクセスが許可され、Salesforce での設定やカスタマイズについて最大の権限が付与されます。
また、システム管理者プロファイルには次の 2 つの特別な権限が含まれます:
- すべてのデータの参照
- すべてのデータの編集
これらの権限は他のすべての共有設定より優先されるため、システム管理者以外のプロファイルに割り当てる場合には注意が必要です。すべての標準プロファイルとカスタムプロファイルの一覧は [設定] で確認できます。
標準プロファイルのオブジェクト権限は編集できません。ただし、既存のプロファイルをコピーして、それを新しいプロファイルの基盤として使用し、必要に応じてアプリケーションやシステムの設定を調整できます。たとえば、社員募集アプリケーションでは、採用担当者、面接官、採用担当マネージャーのそれぞれに 1 つずつ、全部で 3 つの新しいプロファイルを作成します。この後、各プロファイルを設定して、特定のロールに必要なデータアクセス権を付与します。次に、必要に応じて権限セットを使用して追加権限を付与することができます。
プロファイルの管理
1 つのプロファイルの設定と権限プロファイルの入口となるのが、プロファイルの概要ページです。[設定] の [クイック検索] ボックスに「プロファイル」と入力し、[プロファイル] を選択します。表示するプロファイルをクリックします。
プロファイルの作成
プロファイルを作成する最も簡単な方法は、作成するプロファイルと似た既存のプロファイルをコピーし、それを変更することです。
Salesforce の拡張プロファイルユーザーインターフェースを使用すれば、プロファイル設定を簡単に検索して変更できます。この演習で実際に使ってみましょう。[設定] から、[クイック検索] ボックスに「ユーザー管理設定」と入力し、[ユーザー管理設定] を選択します。[拡張プロファイルユーザーインターフェース] を有効にします。
- [設定] の [クイック検索] ボックスに「プロファイル」と入力し、[プロファイル] を選択します。
- 作成するプロファイルに似たプロファイルの横にある [コピー] をクリックします。
- 新しいプロファイルに名前を付けて保存します。
プロファイルの割り当て
プロファイルを作成後、特定の一連のユーザーのニーズに合わせてカスタマイズしてから、そのユーザーにプロファイルを割り当てます。
- [ユーザー管理設定] で [拡張プロファイルユーザーインターフェース] が有効になっていることを確認します。
- [設定] の [クイック検索] ボックスに「プロファイル」と入力し、[プロファイル] を選択します。
- カスタマイズするプロファイルの名前をクリックします。
- このユーザー種別に最も制限が厳しい設定と権限を使用して、プロファイルを編集します。(ユーザーが必要な操作を実行できなくなるのでは? と思われるかも知れませんが、下記の「権限セットを使用したアクセス権の付与」セクションで可能な操作を増やすことができるので大丈夫です)。
- [設定] から、[クイック検索] ボックスに「ユーザー」と入力し、[ユーザー] を選択します。
- プロファイルを割り当てるユーザーの横にある [編集] をクリックします。
-
[プロファイル] ドロップダウンで、先ほど設定したプロファイルを選択します。続いて、[保存] をクリックします。
権限セットを使用したアクセス権の付与
権限セットは、さまざまなツールと機能へのアクセス権をユーザーに付与する設定と権限のコレクションです。権限セットの設定と権限はプロファイルにも含まれていますが、権限セットではユーザーのプロファイルを変更せずにユーザーの機能アクセス権を拡張することができます。
権限セットを使用すれば、組織内のさまざまなアプリケーションやカスタムオブジェクトへのアクセス権を簡単に付与でき、不要になったアクセス権を簡単に外すことができます。
ユーザーには、1 つのプロファイルしか設定できませんが、権限セットは複数設定できます。
権限セットを使用する一般的な目的は 2 つあります。オブジェクトまたはアプリケーションへのアクセス権を付与することと、特定の項目に対する一時的または長期的な権限を付与することです。
カスタムオブジェクトまたはアプリケーションへのアクセス権を付与する。
組織内に、基本的な職務が同じユーザーが多数いるとします。それらのユーザーすべてに 1 つのプロファイルを割り当てて、業務に必要なすべてのアクセス権を付与できます。ただし、そのうちの数人のユーザーは特別なプロジェクトに携わっていて、他には誰も使用しないアプリケーションへのアクセス権が必要です。さらに、別の数人のユーザーは、そのアプリケーションへのアクセス権に加えて、最初のグループには必要ない別のアプリケーションへのアクセス権が必要です。プロファイルしか使用できないとしたら、わずか数人のユーザーのためにプロファイルを追加で作成するか、リスクを覚悟の上で、元のプロファイルにアクセス権を追加してアクセスする必要がないユーザーもアプリケーションが使用できるようしてしまうしかありません。いずれの選択肢も理想的とは言えず、ましてや組織が成長していて、ユーザーのニーズが刻一刻と変化している場合は非常に不都合です。
特定の項目に対する権限を付与する。
同僚の休暇中に、Tom というユーザーがある項目への編集アクセス権が一時的に必要になったとします。この場合、その項目へのアクセス権を付与する権限セットを作成し、その権限セットを Tom に割り当てることができます。Tom の同僚が休暇から戻り、Tom にその項目へのアクセス権が必要なくなったら、Tom のユーザーレコードから権限セットの割り当てを削除すれば良いわけです。
権限セットの管理
権限セットのすべての権限の入口となるのが権限セットの概要ページです。権限セットの概要ページを開くには、[設定] の [クイック検索] ボックスに「権限セット」と入力し、[権限セット] を選択します。表示する権限セットを選択します。各権限セットでは、権限と設定はアプリケーション設定、システム設定、オブジェクト権限、項目権限に分かれています。
権限セットを作成する
権限セットを作成すれば、特定のユーザーに既存のプロファイルの権限に加えて追加の権限を付与できます。既存のプロファイルを変更したり、新しいプロファイルを作成したり、システム管理者プロファイルを付与したりする必要はありません。
- [設定] の [クイック検索] ボックスに「権限セット」と入力し、[権限セット] を選択します。
- コピーするセットの横にある [コピー] をクリックします。コピーした権限セットには、コピー元と同じユーザーライセンスがあります。異なるライセンスを持つセットを作成するには、代わりに [New (新規)] (1) をクリックします。
- 表示ラベルと説明を入力します。API 参照名は API および管理パッケージが使用する一意の名前です。表示ラベルが自動的に複製されていますが、変更できます。
- 新しい権限セットの場合は、ユーザーライセンスオプションを選択します。
- この権限セットを異なるライセンスを持つ複数のユーザーに割り当てる場合は、[--なし--] を選択します。
- 1 つの種類のライセンスを持つユーザーのみがこの権限セットを使用する場合は、そのユーザーライセンスを選択します。
-
[保存] をクリックして、権限セットの概要ページに戻ります。
- [権限セット] ツールバーで、[割り当ての管理] をクリックし、[割り当てを追加] をクリックします。
- この権限セットに割り当てるユーザーを選択し、[割り当て] をクリックします。[割り当ての概要] ページでメッセージを確認します。ユーザーがまったく割り当てられていない場合、[メッセージ] 列に理由が表示されます。
-
[完了] をクリックして、権限セットに割り当てられたユーザーのリストに戻ります。
社員募集アプリケーションのプロファイルと権限セット
プロファイルと権限セットの作成と変更の方法を学習しました。次に、サンプルの社員募集アプリケーションで適切なオブジェクトレベルのアクセス権を設定しましょう。このアプリケーションには、主に 4 つの種別のユーザーがいます。採用担当者、採用担当マネージャー、面接官、標準従業員です。
各種別のユーザーにプロファイルと権限セットのどちらを作成するかを判断する際の主な考慮事項は次のとおりです。
採用担当者
これは、明確に定義された職務であり、他のユーザーとは異なる種別のデータへのアクセス権が必要です。したがって、採用担当者にはプロファイルを作成するのが適切です。
採用担当マネージャー
ほとんどの組織では、営業部門の採用担当マネージャーとエンジニアリング部門の採用担当マネージャーでは、異なる種別のデータへのアクセス権が必要です。ただし、採用データ (審査、応募者、職種、求人応募) については、すべての採用担当マネージャーに同じ種別のアクセス権が必要です。したがって、さまざまな種別のユーザーに割り当てられる採用担当マネージャー権限セットを作成するのが便利です。
面接官
どの部署のどの職務の従業員でも、指名されて面接を行う可能性があります。この場合、限定された期間のみ採用情報へのアクセス権が必要となります。権限セットを使用すれば、権限を必要に応じて簡単に付与したり取り消したりできるため、面接官には権限セットを定義するのが適切です。
標準従業員
これは、特定の職務に対応しない汎用グループです。大部分の従業員向けに基本プロファイルを作成し、ごく一部のデータへのアクセス権を付与します。その後、従業員の専門分野に応じて、必要な権限セットを作成して割り当てます。
これまでの説明から、社員募集アプリケーションのオブジェクト権限の最適な設定方法は、次のようになります。
- 採用担当者と標準従業員の 2 つのプロファイルを作成します。
- 採用担当マネージャーと面接官の 2 つの権限セットを作成します。
- 採用担当マネージャーと面接官に標準従業員プロファイルを割り当ててから、職務に応じた権限セットを付与します。
リソース
-
プロファイル
-
プロファイルの一覧表示
-
プロファイルでのオブジェクト権限の編集
-
権限セット
-
権限セットに関する考慮事項
-
拡張プロファイルビューインターフェースの有効化
-
Salesforce セキュリティガイド