tyoshikawa1106のブログ

- Force.com Developer Blog -

SFDC:一般ユーザへのすべてのデータの編集権限付与を試してみました

一般ユーザへのすべてのデータの編集権限付与を試してみました。基本的に一般ユーザには設定画面を表示する必要はないと思っているので、すべてのデータの編集権限や設定・定義を参照する権限などは付与しない方がいいと思っているのですが、仮に権限を付与した場合、どこまでアクセスできるようになるか把握してない箇所もあったのでDeveloer組織で確認してみました。
f:id:tyoshikawa1106:20190421115156p:plain


今回の検証用に可能な限り権限を除外したプロファイルを用意して一般ユーザに割り当てます。
f:id:tyoshikawa1106:20190421115402p:plain


この状態で一般ユーザのSalesforceページを確認すると歯車アイコンが表示されず設定ページ自体に移動できないことが確認できます。
f:id:tyoshikawa1106:20190421120216p:plain


続いて一般ユーザにすべての変更権限を付与します。一部ユーザのみに付与するという場面を想定してプロファイルではなく権限セットで追加します。すべて変更権限を付与する場合は設定・定義を参照する権限を含むいくつかの権限付与も必要になります。(チェック時に自動追加されます。)
f:id:tyoshikawa1106:20190421120449p:plain


この権限セットを一般ユーザに割り当てると歯車アイコンが表示されるようになります。
f:id:tyoshikawa1106:20190421120615p:plain


歯車アイコンが表示されることでまず開発者コンソールにアクセスできるようになります。ですが、こちらはAPI権限が付与されていなければエラーメッセージが表示されるだけで先には進めませんでした。
f:id:tyoshikawa1106:20190421120939p:plain


続いて設定ページ側です。まず開発メニューが参照ができるか確認してみました。
f:id:tyoshikawa1106:20190421121422p:plain


DevHubメニューへのアクセスは可能で有効化も実行できました。(今回の話とは関係ないけどDevHub有効化したら無効に戻せなかった。。)
f:id:tyoshikawa1106:20190421121537p:plain


VisualforceやApexクラスのコード部分への参照は可能でした。ただし編集はできないようになっています。
f:id:tyoshikawa1106:20190421122357p:plain


オブジェクトマネージャについてです。こちらカスタムオブジェクトの新規作成はアクセス権限が付与されていませんでした。新規オブジェクトが作成されるといったことは気にしなくて良さそうです。
f:id:tyoshikawa1106:20190421121702p:plain


標準オブジェクトへの項目の追加はもちろん、ページレイアウトのカスタマイズも権限は無い状態でした。
f:id:tyoshikawa1106:20190421121843p:plain


Apexトリガはオブジェクトマネージャのページからもアクセスできます。コードは参照のみの状態となっていました。
f:id:tyoshikawa1106:20190421122025p:plain


検索レイアウトは参照できましたが、設定の変更はできないみたいです。
f:id:tyoshikawa1106:20190421122130p:plain


Apexクラスの編集はできませんがApexテストの実行権限は付与されるみたいです。
f:id:tyoshikawa1106:20190421122554p:plain


重要な更新は内容の確認はできますが有効化はできませんでした。(たぶん)
f:id:tyoshikawa1106:20190421122702p:plain


リモートサイトの追加はできるようです。(Salesforce.com からこの Web アドレスにアクセスできるようできます。)
f:id:tyoshikawa1106:20190421122742p:plain


ユーザのページでは他ユーザ情報の参照と代理ログインが可能になっていました。念の為ヘルプを確認したところ「すべてのデータの編集」権限で代理ログインが可能になるので正しい挙動です。
f:id:tyoshikawa1106:20190421123151p:plain

他のユーザとしてログイン


代理ログインまでたどり着ければシステム管理者ユーザとしてログインしてプロファイルやApexコード、その他の設定も変更可能になります。
f:id:tyoshikawa1106:20190421123416p:plain


ということで一部の情報を見せるという目的で一般ユーザに「すべてのデータの編集権限」を付与するのはやめておいたほうが良さそうです。設定・定義を参照する権限も目的がなければ付与しなくて良いと思います。