Skip to content

jitsudo request

Submit a request for temporary elevated cloud permissions.

jitsudo request --provider <provider> --role <role> --scope <scope> --duration <duration> --reason <reason> [flags]

jitsudo request submits a new elevation request to the jitsudo control plane. The request enters an approval workflow defined by your organization’s OPA policies.

Workflow after submission:

  1. jitsudo checks eligibility policies — if you are not eligible, the request is rejected immediately.
  2. If eligible, the request enters PENDING state and approvers are notified.
  3. Once an approver runs jitsudo approve, credentials are issued and the state transitions to ACTIVE.
  4. At expiry, jitsudo automatically revokes the credentials (EXPIRED).

Use jitsudo status to track your request and jitsudo exec or jitsudo shell to use the granted credentials.

FlagRequiredDescription
--provider <name>YesCloud provider: aws, azure, gcp, kubernetes
--role <name>YesRole or permission set to request (provider-specific)
--scope <value>YesResource scope: AWS account ID, GCP project ID, Azure subscription ID, or Kubernetes namespace
--duration <duration>YesElevation window, e.g. 1h, 30m, 2h30m
--reason <text>YesJustification for the request (logged in the audit trail)
--break-glassNoEmergency break-glass mode: bypasses the approval workflow with immediate alerting
--waitNoBlock until the request reaches a terminal state (approved or denied)
FlagDefaultDescription
--server <url>Stored credentialsControl plane URL
--token <token>Stored credentialsBearer token override
-o, --output <format>tableOutput format: table, json, yaml
-q, --quietfalsePrint only the request ID
--debugfalseEnable debug logging
Terminal window
# Request AWS admin access for an incident
jitsudo request \
--provider aws \
--role prod-infra-admin \
--scope 123456789012 \
--duration 2h \
--reason "Investigating P1 ECS crash — INC-4421"
# Request a GCP role
jitsudo request \
--provider gcp \
--role roles/editor \
--scope my-gcp-project \
--duration 1h \
--reason "Deploy hotfix to staging"
# Request Azure contributor on a subscription
jitsudo request \
--provider azure \
--role Contributor \
--scope xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx \
--duration 30m \
--reason "Update AKS node pool"
# Request cluster-admin on Kubernetes (all namespaces)
jitsudo request \
--provider kubernetes \
--role cluster-admin \
--scope "*" \
--duration 15m \
--reason "Debug CrashLoopBackOff in kube-system"
# Emergency break-glass (no approver required, sends alerts)
jitsudo request \
--provider aws \
--role break-glass-admin \
--scope 123456789012 \
--duration 30m \
--reason "Production down, on-call not responding" \
--break-glass
Request ID: req_01J8KZ4F2EMNQZ3V7XKQYBD4W
State: PENDING
Provider: aws
Role: prod-infra-admin
Scope: 123456789012
Provider--role value--scope value
awsIAM role name (e.g. prod-infra-admin)AWS account ID (12-digit number)
gcpGCP role (e.g. roles/editor, roles/viewer)GCP project ID
azureAzure built-in role name (e.g. Contributor, Reader)Subscription ID (UUID)
kubernetesClusterRole name (e.g. cluster-admin, view)Namespace name, or * for cluster-wide

Break-glass bypasses the normal approval workflow for emergency scenarios. When --break-glass is set:

  • The request transitions directly from PENDING to ACTIVE without approver action.
  • All configured notification channels (Slack, email) are immediately alerted.
  • The event is recorded in the audit log with break_glass: true.

Break-glass is subject to OPA policy enforcement — your organization can restrict which users and roles can use it.