id = 10 for support ticket CX-4821.” SELECT · public.users · 5m · read-only replica psql> SELECT address FROM users WHERE id = 10; address ----------------------------------------- 221B Baker Street, London (1 row)
Your developers now hand real tasks to Claude Code, Kiro, Cursor and Codex — “fix that S3 bucket,” “query the prod DB,” “add a user to Sendgrid.” Coding Agent JIT is how you let them do it safely: short-lived credentials over MCP, optional human approval, complete audit, automatic revoke.
prod-logs. Invoking
cloudanix-jit MCP…
{
"resource": "arn:aws:s3:::prod-logs",
"actions": ["s3:PutBucketPolicy"],
"reason": "Enforce aws:SecureTransport=true",
"duration": "15m"
} Agents like Claude can execute real work — but every path to letting them do it ends in a long-lived secret living somewhere it shouldn't.
AWS access keys, DB connection strings and SaaS admin tokens
end up in ~/.aws, .env and MCP
server configs. The blast radius is the full lifetime of
that key — not the 47 seconds the agent actually needed.
When Claude runs under a shared service account, CloudTrail and DB logs all read “svc-deploy”. You can't tell which human asked, which agent acted, or why. Approvals, reviews, forensics — all blind.
Read a prod table? Drop a Sendgrid list? Rotate a KMS key? Today the only controls are “has the key or doesn't.” There is no tiered approval, no intent-scoped grant, no policy that understands an agent is asking on behalf of a human.
The Cloudanix JIT MCP server is the only thing the agent ever sees. It mints, scopes, and destroys credentials on your behalf.
Over MCP: “I want to do X on Y for reason Z, for N minutes.” The agent never sees a credential.
Scope, blast radius, environment, identity of the human, history of the agent. Most read intents auto-approve; risky writes escalate.
Slack / Teams / email approval with full context. Approve once, for this intent only. No silent re-use.
Scoped to the exact action, resource and TTL. STS on AWS, brokered session on DBs, minted-and-revoked API keys on SaaS.
Credentials destroyed the moment work ends or TTL expires. Every hop — intent, approval, execution — linked to a real human identity.
Databases, SaaS admin APIs, internal MCP endpoints, cloud control planes — anywhere a human would need a key, Cloudanix brokers it for the agent instead.
Query prod-db for a single user. Read-only, one
table, 5-minute session — no DB root password on disk.
Append a contact to a list without minting an admin API key. Cloudanix brokers a minted-and-revoked key behind the scenes.
Rotate a restricted key used by the billing worker. High blast radius → human approval gate kicks in.
Drain a specific node for patching. Scoped to one verb on one node, not a kubeconfig with cluster-admin.
id = 10 for support ticket CX-4821.” SELECT · public.users · 5m · read-only replica psql> SELECT address FROM users WHERE id = 10; address ----------------------------------------- 221B Baker Street, London (1 row)
new@example.com to the Launch Waitlist list — please don't ask me for the admin key.” contacts:create · lists.launch-waitlist:append · 2m POST /v3/marketing/contacts
{"list_ids": ["launch-waitlist"],
"contacts": [{"email": "new@example.com"}]}
→ 201 Created billing-worker. The old one was posted in a GitHub PR.” api_keys:create · api_keys:revoke · account=acct_live · 10m POST /v1/api_keys (restricted, scoped to billing-worker) → new key: rk_live_•••••RM9w POST /v1/api_keys/rk_live_•••••prevQ/revoke → old key: revoked
ip-10-0-42-17 on prod-eks so platform can patch the kernel.” nodes:cordon · nodes:drain · node=ip-10-0-42-17 · 15m $ kubectl cordon ip-10-0-42-17 node/ip-10-0-42-17 cordoned $ kubectl drain ip-10-0-42-17 --ignore-daemonsets evicting pod/checkout-svc-7d4-x8qz evicting pod/payments-api-6f2-lt9n node/ip-10-0-42-17 drained
cloudanix-jit.request_access(intent) Not bound to a vendor, a protocol variant, or a single agent. Point any MCP client at the Cloudanix JIT server and your developers get keyless access the same day.
TTL-bound credentials tied to a specific action, resource and reason — never a broad role.
Auto-approve read intents. Escalate writes on prod to Slack. Tune blast-radius thresholds per team.
Every intent, approval and action tied to a real human identity. CloudTrail and DB logs, correlated.
TTL expiry + explicit release + idle revoke. Zombie credentials can't outlive the task.
Not just AWS STS. Mint-and-revoke flows for Sendgrid, Stripe, Snowflake, Postgres, and more.
Same policy engine, same approval flows, same audit — whether the actor is a person or an LLM.
Connect a cloud account in under 30 minutes. See every finding rooted in identity, asset, and blast radius — with a fix path attached.
Book a Demo