一般ユーザへのすべてのデータの編集権限付与を試してみました。基本的に一般ユーザには設定画面を表示する必要はないと思っているので、すべてのデータの編集権限や設定・定義を参照する権限などは付与しない方がいいと思っているのですが、仮に権限を付与した場合、どこまでアクセスできるようになるか把握してない箇所もあったのでDeveloer組織で確認してみました。
今回の検証用に可能な限り権限を除外したプロファイルを用意して一般ユーザに割り当てます。
この状態で一般ユーザのSalesforceページを確認すると歯車アイコンが表示されず設定ページ自体に移動できないことが確認できます。
続いて一般ユーザにすべての変更権限を付与します。一部ユーザのみに付与するという場面を想定してプロファイルではなく権限セットで追加します。すべて変更権限を付与する場合は設定・定義を参照する権限を含むいくつかの権限付与も必要になります。(チェック時に自動追加されます。)
この権限セットを一般ユーザに割り当てると歯車アイコンが表示されるようになります。
歯車アイコンが表示されることでまず開発者コンソールにアクセスできるようになります。ですが、こちらはAPI権限が付与されていなければエラーメッセージが表示されるだけで先には進めませんでした。
続いて設定ページ側です。まず開発メニューが参照ができるか確認してみました。
DevHubメニューへのアクセスは可能で有効化も実行できました。(今回の話とは関係ないけどDevHub有効化したら無効に戻せなかった。。)
VisualforceやApexクラスのコード部分への参照は可能でした。ただし編集はできないようになっています。
オブジェクトマネージャについてです。こちらカスタムオブジェクトの新規作成はアクセス権限が付与されていませんでした。新規オブジェクトが作成されるといったことは気にしなくて良さそうです。
標準オブジェクトへの項目の追加はもちろん、ページレイアウトのカスタマイズも権限は無い状態でした。
Apexトリガはオブジェクトマネージャのページからもアクセスできます。コードは参照のみの状態となっていました。
検索レイアウトは参照できましたが、設定の変更はできないみたいです。
Apexクラスの編集はできませんがApexテストの実行権限は付与されるみたいです。
重要な更新は内容の確認はできますが有効化はできませんでした。(たぶん)
リモートサイトの追加はできるようです。(Salesforce.com からこの Web アドレスにアクセスできるようできます。)
ユーザのページでは他ユーザ情報の参照と代理ログインが可能になっていました。念の為ヘルプを確認したところ「すべてのデータの編集」権限で代理ログインが可能になるので正しい挙動です。
代理ログインまでたどり着ければシステム管理者ユーザとしてログインしてプロファイルやApexコード、その他の設定も変更可能になります。
ということで一部の情報を見せるという目的で一般ユーザに「すべてのデータの編集権限」を付与するのはやめておいたほうが良さそうです。設定・定義を参照する権限も目的がなければ付与しなくて良いと思います。