Loading
ただいま大変多くのお問い合わせをいただいており、ご連絡までにお時間を頂戴しております続きを読む
コードを使用した Salesforce の拡張
Apex クラスのセキュリティのしくみ

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 クラス
メモ
メモ 組織に管理パッケージをインストールした場合、セキュリティの設定は、パッケージ内の global と宣言されている Apex クラス、または webService と宣言されたメソッドを含むクラスに対してのみ設定できます。

ユーザーに「Apex 開発」権限がある場合、そのユーザーには、個々のクラスのセキュリティ設定に関係なく、関連する組織のすべての Apex クラスへのアクセス権があります。

Apex クラスに対する権限は、最上位でのみ確認されます。たとえば、クラス A がクラス B をコールするとします。ユーザー X は、クラス A にはアクセスできてクラス B にはアクセスできないプロファイルを持っています。この場合、ユーザー X は、クラス A を通じてのみクラス B のコードを実行でき、クラス B を直接呼び出すことはできません。同様に、Lightning Web コンポーネントが Apex クラスをコールすると、その主クラスのセキュリティのみが検証されます。そのクラスがセカンダリクラスをコールし、ユーザーがそのセカンダリクラスにアクセスする明示的な権限を持っていない場合でも、プライマリクラスを介してのみセカンダリクラスでそのコードを実行できます。

Apex クラスに対してのみセキュリティを設定できます。トリガーに対しては設定できません。

 
読み込み中
Salesforce Help | Article