

0 / 2 embers
0 / 3000 xp
click for more info
Complete a lesson to start your streak
click for more info
Still calibrating
click for more info
Not enough gems
Cost: 6 gems
1: Principle of Least Privilege
incomplete
2: Preventing Broken Access Control
incomplete
3: Don't Trust the Client
incomplete
4: Access Control Models
incomplete
5: Attribute-Based Access Control
incomplete
6: RBAC vs. ABAC
incomplete
7: Insecure Direct Object References
incomplete
8: Securing File Downloads
incomplete
9: Signed URLs
incomplete
Back
ctrl+,
Next
ctrl+.
This lesson's interactive features are locked, please to keep using them
In web security, you're gonna hear about the principle of least privilege all the time. In basic terms:
Give users and systems only the access they need and nothing more.
Every permission is a potential liability. Over-privileged accounts can turn small mistakes into major breaches.
Most systems don't start over-privileged; they become that way over time, often due to laziness or convenience:
Permissions should be:
Don't grant a permission just because it might be useful later. Ask one question for every permission:
What breaks if this permission is removed?
"Nothing"? Remove it.
Bearly Secure's product edit and update routes give support agents access to product editing and internal cost data. Support agents don't need either permission to help customers. Restrict product editing to administrators.
npm run db:reset
npm run dev
With Bearly Secure still running, run and submit the CLI tests from the project root.