Access Rights Review
You run an access rights review by checking who holds roles across your apps and databases. Managers check each user role and remove permissions that people no longer need. Most teams export user lists from their identity provider every quarter to start this check. When teams skip this step, broad roles pile up and leave live data open to mistakes. How an access rights review works in practice A good access rights review starts with a complete list of every user and service account. Security
Code Review Security: the complete guide
Architecture patterns, implementation strategies, and security best practices. Delivered to your inbox.
You run an access rights review by checking who holds roles across your apps and databases. Managers check each user role and remove permissions that people no longer need. Most teams export user lists from their identity provider every quarter to start this check. When teams skip this step, broad roles pile up and leave live data open to mistakes.
How an access rights review works in practice
A good access rights review starts with a complete list of every user and service account. Security teams pull role data from directory tools, cloud consoles, and database tables. They group these permissions by team so managers can read them without guessing.
Next, each team lead checks the list for their own staff members. They look for people who changed jobs, left the company, or finished a project. If an engineer moved to a new team, the manager marks the old role for removal.
Admins also check shared accounts and automated keys during this step. Service keys often hold wide write rules that nobody remembers setting up. Teams rotate these keys and drop unused permissions from the system.
Finally, admins update the directory groups and save the signed logs for auditors. This workflow proves that the company checks user roles on a regular schedule. It keeps role sprawl down across cloud accounts and internal apps.
Why static role checks leave a runtime gap
Periodic role checks fix permission creep, but they only govern who can log in. A quarterly check looks at static group assignments at a single point in time. It does not govern what a user does after the session starts.
During an incident, an engineer often needs write permissions to fix a broken table. An auditor will approve that role because the engineer needs it to do the job. Yet that same role allows the engineer to drop a table or read all rows by default.
Code Review Security: architecture patterns and best practices
Continue reading? Get the full guide.
Free. No spam. Unsubscribe anytime.
Static role checks cannot stop a bad query or hide private data in flight. When someone runs a broad read query, the database returns emails, phone numbers, and card numbers. The role check passed months ago, so the database trusts every command in that session.
Moving from quarterly checks to runtime controls
To reduce risk, teams pair periodic role checks with controls on individual actions. Instead of giving an engineer standing write roles all year, teams approve single commands. A peer checks the exact query or script before it runs on the host.
Teams also add data masking to rewrite sensitive fields in query results. When an approved user queries a customer table, masking rewrites card numbers and national IDs on the fly. This makes future reviews much simpler because standing roles hold far less power.
Govern statements and responses across databases and APIs
Good config and scoped roles are needed setup. They do not check single queries in flight or mask sensitive fields in returned rows. Across Postgres, MySQL, SQL Server, MongoDB, ClickHouse, Kubernetes APIs, SSH, and internal HTTP endpoints, hoop.dev runs beside each supported service as an open-source proxy, a sidecar for your database or API.
First, hoop.dev guardrails block banned queries before they run. Then hoop.dev data masking rewrites matched sensitive values in responses in memory. The audit trail records every statement and verdict per resource. Furthermore, hoop.dev holds SOC 2 Type II and is open source on GitHub.
Frequently asked questions
How often should a team run an access rights review?
Most teams check critical database and cloud roles every quarter. High-risk roles or admin groups often get a monthly check to catch changes early.
Who should approve roles during the review process?
Direct managers or system owners should check and approve roles for their teams. They know best which daily tasks each engineer needs to run.
How do you handle shared admin accounts during a review?
Teams should tie every action back to an individual user identity. Remove shared passwords and make people log in with their own directory accounts.
Related guides
In this post