All posts

Segregation of Duties Best Practices for Tool Use

Many teams assume that simply assigning different users to separate tools automatically enforces segregation of duties. In reality, without a central enforcement point, those assignments can be bypassed, leaving critical systems exposed to accidental or malicious misuse. The core of segregation of duties is not just who can click a button, but where the control boundary lives. Current practice: shared credentials and direct access In most organizations the status quo looks like this: a handfu

Free White Paper

DPoP (Demonstration of Proof-of-Possession) + AWS IAM Best Practices: The Complete Guide

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

Free. No spam. Unsubscribe anytime.

Many teams assume that simply assigning different users to separate tools automatically enforces segregation of duties. In reality, without a central enforcement point, those assignments can be bypassed, leaving critical systems exposed to accidental or malicious misuse. The core of segregation of duties is not just who can click a button, but where the control boundary lives.

Current practice: shared credentials and direct access

In most organizations the status quo looks like this: a handful of privileged accounts hold the keys to production databases, Kubernetes clusters, and internal services. Engineers often copy a static SSH key or a service‑account token into their local machine, then connect directly to the target system. The same credential may be used by multiple people, and the connection bypasses any audit trail. Because the gateway is missing, there is no place to inspect commands, no way to mask sensitive columns in query results, and no opportunity to require an approver before a destructive operation runs.

What segregation of duties alone does not solve

Introducing a policy that says “only the DBA may run DROP statements” sounds like progress, but the request still travels straight to the database engine. The database sees a valid credential and executes the command without any external check. No session is recorded, no inline masking occurs, and there is no record of who issued the statement. The enforcement gap remains because the control point is inside the target, not in the path the request takes.

Why a data‑path gateway is required

To truly achieve segregation of duties, the enforcement must happen where the request flows, not after it has already been accepted. This is where a layer‑7 gateway becomes essential. By placing a proxy between the identity provider and the infrastructure, every request can be inspected, approved, or blocked before it reaches the target system.

Setup: defining who can ask for access

The first step is to configure identity sources – OIDC or SAML providers such as Okta, Azure AD, or Google Workspace. Tokens issued by these providers identify the caller and convey group membership. Least‑privilege roles are then granted to those groups, limiting which resources each identity may request. This setup decides who the request is and whether it may start, but on its own it does not enforce any policy.

The data path: hoop.dev as the enforcement boundary

hoop.dev sits in the data path, acting as an identity‑aware proxy for databases, Kubernetes clusters, SSH hosts, and internal HTTP services. When a user or an automated agent initiates a connection, the request is routed through hoop.dev before it reaches the target. Because the gateway controls the wire‑protocol, it can apply policies in real time.

Continue reading? Get the full guide.

DPoP (Demonstration of Proof-of-Possession) + AWS IAM Best Practices: Architecture Patterns & Best Practices

Free. No spam. Unsubscribe anytime.

Enforcement outcomes delivered by hoop.dev

Once the request passes through the gateway, hoop.dev can enforce several outcomes that are essential for segregation of duties:

  • It records every session, creating a replayable audit trail that shows exactly which command was issued and what data was returned.
  • It masks sensitive fields – for example, credit‑card numbers or personal identifiers – in query results before they reach the client.
  • It requires just‑in‑time approval for high‑risk actions, such as schema changes or privileged pod exec, routing the request to a human reviewer.
  • It blocks disallowed commands outright, preventing accidental or malicious execution of destructive statements.
  • It ensures the agent never sees the underlying credential, because the gateway holds the secret and presents short‑lived tokens to the target.

All of these outcomes exist only because hoop.dev occupies the data path; remove the gateway and the protections vanish.

Practical steps to embed segregation of duties

Begin by cataloguing the critical tools in your environment – databases, Kubernetes clusters, SSH bastion hosts, and internal APIs. For each tool, define the roles that should be allowed to perform read‑only, read‑write, and admin actions. Map those roles to groups in your identity provider. Then deploy hoop.dev near the resources, following the quick‑start guide. Register each resource as a connection in the gateway, associate the appropriate role mappings, and enable session recording and inline masking. Finally, train your teams to request access through the gateway and to review audit logs regularly.

Further reading and resources

For a step‑by‑step walkthrough of the initial deployment, see the getting‑started documentation. The learn section provides deeper coverage of masking policies, approval workflows, and replay tools.

FAQ

Does hoop.dev replace existing IAM policies?

No. Existing IAM or RBAC policies still decide who can authenticate. hoop.dev complements them by enforcing policies at the connection level.

Can I use hoop.dev with existing service accounts?

Yes. The gateway holds the service‑account credentials and presents short‑lived tokens to the target, so no code changes are required.

How does hoop.dev handle compliance reporting?

Because every session is recorded and approvals are logged, hoop.dev generates the evidence needed for audits that require proof of segregation of duties.

Explore the source code, contribute improvements, and see the full feature set on the GitHub repository.

Open source

Save the open-source gateway for agent data access

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.

Star and save the repo →More posts