forcedotcom / forcedotcom/web-console-feedback

Provide and document web console permissions

Open
#13 1 comment 0 reactions 0 assignees View on GitHub
Dominant language
No language data
Stars
1
Forks
0
Avg merge
1m
Merged PRs (30d)
1

Description

Web console documentation current does not identified the Salesforce permission(s) required.

This request is two-fold:
1) Update web console documentation specifically enumerating the Salesforce permission(s) required and the functionality controlled by each, and

2) Presumably, identification of permissions is lacking because this is an area that is still in flux and you are looking for feedback. I will offer some feedback. Admittedly, I have not taken the time to reverse-engineer the permissions needed by Web Console, but I assume the permissions are comparable to Developer Console and provide feedback in that vein while also focusing on the features currently available.

A) Web Console access: While having an org-level control to enable/disable Web Console is good, additional control is needed at the user level to determine who can/cannot access the tool. Access to Web Console should be controlled via PermSet and granted just like any other App/Connected App/ECA.

A.1) An implication of the above is that traffic from Web Console should be readily identifiable in events/logs, distinguishable from other UI traffic.

B) Ideally, a distinct permission is provide to control access to low-risk actions like Viewing Debug Logs, Query Plan Tool, and viewing source code.

B.1) Existing "Author Apex" permission is too broad -- viewing source code via Web Console is one thing, but granting "Author Apex" would enable the user to actually make changes by any other tool available to the user (CLI, change set, etc.)

B.2) Requiring "View All Data" is too broad -- yes, it is acknowledged that viewing debug logs is likely to reveal data, but requiring the actual "View All Data" permission grants too much access. Now the user has the ability to view/export all records by any means or tool available to them, but I only want to grant the user access to Debug Logs only. Do not make "View All Data" permission a required dependency; distinct permission is needed. Requiring "View All Data" exceeds least privilege / minimum access goals.

C) Anonymous Apex -- please, please, please provide a mechanism to control/prevent Anonymous Apex execution. (Again, "Author Apex" is not the answer.) Arbitrary Code Execution (ACE) is a recognize software security vulnerability, it bypasses change controls, deployment pipelines, code reviews, cannot be logged or audited, [etc](https://medium.com/@feldhacker.chris/execute-anonymous-apex-risks-and-alternatives-9cc1595c78a6). Many companies prohibit the execution of anonymous apex in production orgs for reasons such as these and consider it a critical security risk.

Overall, Web Console permissions should be carefully devised and documented, ensuring that low-risk activities can be granted and remain independent from high-risk capabilities.

Thank you!

Contributor guide

No contributing guide indexed for this repository

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.