Apex クラスのセキュリティのしくみ
ユーザープロファイルまたは関連付けられている権限セットに基づいて、特定の最上位レベルの Apex クラスでメソッドを実行できるユーザーを限定します。この方法により、組織の Apex 操作に対して細かなセキュリティを適用できます。
必要なエディション
| 使用可能なインターフェース: Salesforce Classic (使用できない組織もあります) および Lightning Experience の両方 |
| 使用可能なエディション: Performance Edition、Unlimited Edition、Developer Edition、Enterprise Edition、および Database.com Edition |
Apex クラスのセキュリティは、次の場所から設定できます。
- Apex クラスリストページ
- Apex クラス詳細ページ
- 権限セット
- プロファイル
これらのアクセス権は、次のような最上位の Apex クラスまたは Apex トランザクションのエントリ ポイントにあるメソッドにのみ適用されます。
- Aura コンポーネントコントローラー
- Lightning Web コンポーネントから呼び出される
@AuraEnabledメソッド - Visualforce コントローラ
- Apex RESTサービス
- 非同期 Apex クラス
Apex クラスに対する権限は、最上位でのみ確認されます。たとえば、クラス A がクラス B をコールするとします。ユーザー X は、クラス A にはアクセスできてクラス B にはアクセスできないプロファイルを持っています。この場合、ユーザー X は、クラス A を通じてのみクラス B のコードを実行でき、クラス B を直接呼び出すことはできません。同様に、Lightning Web コンポーネントが Apex クラスをコールすると、その主クラスのセキュリティのみが検証されます。そのクラスがセカンダリクラスをコールし、ユーザーがそのセカンダリクラスにアクセスする明示的な権限を持っていない場合でも、プライマリクラスを介してのみセカンダリクラスでそのコードを実行できます。
Apex クラスに対してのみセキュリティを設定できます。トリガーに対しては設定できません。
- クラスリストページでの Apex クラスのアクセスの設定
プロファイルに基づいて、特定の最上位レベルの Apex クラスでメソッドを実行できるユーザーを制限します。 - クラスの詳細ページでの Apex クラスのアクセスの設定
プロファイルに基づいて、特定の最上位レベルの Apex クラスでメソッドを実行できるユーザーを制限します。 - 権限セットでの Apex クラスのアクセスの設定
権限セットについて、最上位の Apex クラスのどのメソッドが実行可能であるかを指定できます。 - プロファイルからの Apex クラスのアクセスの設定
プロファイルに対して、最上位レベルの Apex クラスで実行可能なメソッドを指定します。 - Apex 共有の理由の作成
Apex による共有管理を作成する場合、個々のカスタムオブジェクトに対して Apex 共有の理由を作成して、共有が実装された理由を示します。 - Apex による共有管理の再適用
開発者は Apex 共有管理を再適用するための Apex 一括処理クラスを記述できます。
この記事で問題は解決されましたか?
ご意見をお待ちしております。
