Vertical Access Control

Published
Length
3 min read

Luis Felipe Dias

All posts

Vertical access control restricts features and actions based on a user role tier. You set it up by grouping permissions into ranks like reader or admin. Most engineering teams map these role ranks to job titles in an identity provider. When roles are too broad, junior staff or scripts can run risky admin tasks. A single stolen login can then expose every high-level function in the system. How vertical access control works in practice This model separates users into strict levels of authority

Role-Based Access Control (RBAC): the complete guide

Architecture patterns, implementation strategies, and security best practices. Delivered to your inbox.

Free white paper. No spam. Unsubscribe anytime.

Vertical access control restricts features and actions based on a user role tier. You set it up by grouping permissions into ranks like reader or admin. Most engineering teams map these role ranks to job titles in an identity provider. When roles are too broad, junior staff or scripts can run risky admin tasks. A single stolen login can then expose every high-level function in the system.

How vertical access control works in practice

This model separates users into strict levels of authority from top to bottom. Lower tiers get basic read rights, while higher tiers get write and delete rights. When a user logs in, the system checks their assigned role rank first. If the user tries to open an admin page, the app checks their tier. If the tier is too low, the app blocks the request right away.

Teams set this up inside databases, cloud consoles, and internal web apps. First, you list every sensitive action that your system can run. Next, you group those actions into three or four clear role tiers. Standard users sit at the bottom and can only view standard data. Support engineers sit in the middle and can update records or fix bugs. System admins sit at the top and can drop tables or change billing. Each tier inherits the rights of the tier below it plus new powers. You then link these tiers to groups in your central login tool.

What native role tiers solve and where they fall short

Role tiers are great for keeping regular users out of admin settings. They give auditors a clear map of who holds high-level rights in an app. They also make onboarding fast because new hires just join an existing group.

Still, static role tiers only check who logs in at the start. They do not inspect the exact queries or commands a user runs next. An engineer who needs write rights for one small fix gets broad power. While logged in, that engineer can run a bulk delete by mistake. Static roles also fail to mask sensitive fields inside valid query results. If a support role can read a customer table, it pulls all columns by default. Even when masking rewrites matched fields like emails, phone numbers, card numbers, or national IDs, basic roles do not apply this on the fly. Standing high-tier permissions stay active all day, even when no ticket is open.

Role-Based Access Control (RBAC): architecture patterns and best practices

Continue reading? Get the full guide.

Free. No spam. Unsubscribe anytime.

How to tighten role tiers across your systems

Start by auditing every account that sits in your top admin tier today. Move daily user accounts down to a read-only tier by default. Require a human check before anyone steps up to a higher role rank. Split broad admin roles into smaller task roles for databases and servers. Review your role groups every month to drop unused rights and stale accounts. Combine static tiers with runtime checks that inspect each command before it runs.

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

What is the difference between vertical and horizontal controls?

Vertical controls separate users by rank, such as standard user versus system admin. Horizontal controls keep users at the same rank from seeing each other's data.

What is a vertical privilege escalation attack?

It happens when a low-tier user finds a flaw to run admin commands. The attacker bypasses the role check and gains full control of the system.

How do you prevent standing admin rights in database tiers?

Give engineers read-only roles for daily work and require approval for write commands. You can also mask sensitive columns like card numbers in query results.

Save the open-source gateway.

hoop is MIT-licensed infrastructure for controlling how AI agents reach production data. Star hoophq/hoop so you can inspect it, deploy it, or share it when your team starts governing agent access.