Multicloud JIT

Published
Length
3 min read

Luis Felipe Dias

All posts

To set up multicloud jit, link your identity provider to cloud roles with short timers. Grant those roles only after a team member gets approval for a task. Most teams start by giving engineers standing admin rights in AWS, Azure, and GCP. Over time, those permanent roles pile up and create huge risk across every cloud account. If an attacker steals one key, they can read or delete data everywhere. How to build a native multicloud jit workflow A working multicloud jit setup starts with one ce

JIT: the complete guide

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

Free white paper. No spam. Unsubscribe anytime.

To set up multicloud jit, link your identity provider to cloud roles with short timers. Grant those roles only after a team member gets approval for a task. Most teams start by giving engineers standing admin rights in AWS, Azure, and GCP. Over time, those permanent roles pile up and create huge risk across every cloud account. If an attacker steals one key, they can read or delete data everywhere.

How to build a native multicloud jit workflow

A working multicloud jit setup starts with one central identity provider for your whole team. You connect this provider to AWS, Azure, and Google Cloud using standard federation trust rules. Instead of making local users in each cloud, you map central groups to cloud roles. Next, you remove users from those groups so nobody holds standing rights by default.

When an engineer needs to fix a bug, they ask for a role in chat. A peer or manager checks the request and clicks approve in the chat app. An automation script then adds the engineer to the right identity group for one hour. The engineer logs into the cloud console or runs a command to get a session. When the timer runs out, the script removes the user from the group right away. Each cloud provider still lets active sessions run until their local token clock runs out. Because of this, you must set short token lifetimes inside each cloud account too.

What native cloud role timers solve and what they miss

Temporary cloud roles shrink the time window where an attacker can use a stolen key. They also give audit teams a clear log of who asked for a role and why. Cloud admins no longer need to clean up stale accounts by hand every quarter. This setup solves the problem of who can log in at a given hour.

Still, cloud role timers do not watch what happens after the session starts. Once an engineer assumes a database admin role, they have full power for that hour. They can run a bad query that drops a table or reads customer card numbers. Native cloud logs show that the user logged in, not every query they ran. Also, managing separate role policies across three clouds takes a lot of daily work. A role in AWS does not work the same way as a role in GCP. Teams often make roles too broad just to get their work done fast.

JIT: architecture patterns and best practices

Continue reading? Get the full guide.

Free. No spam. Unsubscribe anytime.

How to keep cloud roles tight across providers

To keep roles small, split your cloud rights by the exact job someone needs to do. Make one role for reading logs and a different role for restarting app servers. Never bundle database write rights into a general cloud admin role. Review your approval logs every month to see which roles people ask for the most. If a role is never used, delete it from your cloud accounts right away. Set your identity group timers to the shortest time needed to finish a normal task.

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 does multicloud jit handle active sessions when the timer ends?

Removing a user from an identity group stops them from starting new cloud sessions. Existing sessions often stay live until the cloud provider token expires on its own. To fix this, set short token lifetimes inside AWS, Azure, and GCP role settings.

Why are cloud roles alone not enough to protect production databases?

Cloud roles only control who can reach the database network or log into the console. They do not check individual SQL queries or mask emails and phone numbers in results. A user with a temporary role can still dump a whole table during their window.

How can teams avoid approval delays during an urgent outage?

You can set up automatic rules for on-call engineers based on your paging schedule. If the paging tool shows an active alert, the system grants the role right away. Every action still gets logged for the team to review after the fix is done.

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.