【Salesforce 認定Platformデベロッパー】試験対策:第99問

問題

“without sharing”キーワードを使用してApexクラスを宣言すると、どのような影響がありますか。

  • 現在のユーザーが所有するレコードのみを更新できます。
  • 現在のユーザーの共有ルールは適用されません。
  • クラスが作成したレコードに共有ルールを設定することはできません。
  • このクラスは、開発者権限を持つユーザーのみが使用できます。

正解

  • 現在のユーザーが所有するレコードのみを更新できます。
  • 現在のユーザーの共有ルールは適用されません。
  • クラスが作成したレコードに共有ルールを設定することはできません。
  • このクラスは、開発者権限を持つユーザーのみが使用できます。

解説


“without sharing” キーワードは、Apexクラスやメソッドで使用されると、そのクラスやメソッドのコードが実行される際に、Salesforceの共有ルールを無視して実行されることを意味します。つまり、このキーワードが適用されたコードは、組織内のデータ保護ルールやユーザーのアクセス権限に関係なく、全てのレコードにアクセスできるようになります。これは通常、システム全体で一貫した動作が必要な管理タスクやデータ処理タスクに用いられますが、セキュリティやデータ保護の観点から慎重に使用する必要があります。

それぞれの選択肢の理由について説明します。

□ 現在のユーザーが所有するレコードのみを更新できます。
これは不正解です。”without sharing”キーワードは、ユーザーが所有するレコードに限定せず、共有ルールを無視するため、所有していないレコードに対しても更新を行うことができます。

□ 現在のユーザーの共有ルールは適用されません。
これは正解です。”without sharing”キーワードは共有ルールを無視し、コードは共有設定に関係なくデータベースのレコードにアクセスします。

□ クラスが作成したレコードに共有ルールを設定することはできません。
これは不正解です。”without sharing”キーワードの使用は、メソッドの実行において共有ルールを無視することを意味しますが、クラスが作成したレコードに対して共有ルールを設定できないわけではありません。レコードの共有は、後から設定することができます。

□ このクラスは、開発者権限を持つユーザーのみが使用できます。
これは不正解です。”without sharing”キーワードは実行ユーザーの権限レベルとは無関係であり、開発者権限を持つユーザーに限定されるわけではありません。どのユーザーがクラスを実行できるかは、プロファイルと権限セットによって制御されます。

次の問題へ

前の問題へ

1問目から復習する

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

雇われのシステムエンジニアです。
普段は車載ECUのセキュリティー分野に従事しております。

コメント

コメントする

目次