DEV Community

Cover image for πŸ” Access Control β€” 5 ways to decide β€œWho can access what?
Shani Tiwari
Shani Tiwari

Posted on

πŸ” Access Control β€” 5 ways to decide β€œWho can access what?

πŸ” Access Control β€” 5 ways to decide β€œWho can access what?”

RBAC asks β€œWhat is your role?”

ReBAC asks β€œHow are you related?”

PBAC asks β€œWhat does the policy say?”

ABAC asks β€œWhat are your attributes?”

FGAC asks β€œExactly what are you allowed to touch?”

  1. RBAC β€” Role-Based Access Control

Permissions are based on the user's role.
β†’ A Developer can access code, while an Admin can manage users.

  1. ReBAC β€” Relationship-Based Access Control

Permissions are based on the relationship between the user and resource.
β†’ You can edit a GitHub repo because you are its owner.

  1. PBAC β€” Policy-Based Access Control

Access is decided by rules/policies defined by the system.
β†’ Allow deployment only when the branch is main and tests have passed.

  1. ABAC β€” Attribute-Based Access Control

Access depends on attributes of the user, resource, or request.
β†’ Allow access if role = developer and environment = staging.

  1. FGAC β€” Fine-Grained Access Control

Permissions are controlled at a very specific level, rather than giving broad access.
β†’ A developer can edit user.name but cannot access user.password.

Now you know something new, feel free to ask question or search for more information and grow.

Connect:

Github - https://github.com/shani-tiwari

IG - https://instagram.com/shani.develops

X - https://x.com/shanidevelops

Top comments (0)