Skip to content

feat(sandbox): add delegated identity for token exchange - #2772

Open
grs wants to merge 8 commits into
NVIDIA:mainfrom
grs:delegated-sandbox-identity
Open

feat(sandbox): add delegated identity for token exchange#2772
grs wants to merge 8 commits into
NVIDIA:mainfrom
grs:delegated-sandbox-identity

Conversation

@grs

@grs grs commented Aug 17, 2026

Copy link
Copy Markdown

Summary

Add opt-in delegated OIDC identity support for sandboxes so token-exchange provider profiles can use the sandbox creator’s bounded identity instead of a stored provider subject credential. This adds gateway managed delegated credential storage, sandbox delegation lifecycle APIs, CLI commands for enabling, extending, withdrawing, and administering delegation.

Note this builds on PR #1970, which adds the basic token exchange capability.

Example CLI flow:

openshell sandbox create \
  --provider protected-services \
  --delegate-identity-for=8h

openshell sandbox delegated-identity status my-sandbox
openshell sandbox delegated-identity extend my-sandbox --for=12h
openshell sandbox delegated-identity withdraw my-sandbox

Related Issue

Fixes #1987

Changes

  • Added sandbox_delegated_identity as a token-exchange subject source.
  • Added sandbox delegation status, withdraw, and extend APIs.
  • Added platform-admin delegated credential list, status, revoke, and delete APIs.
  • Added openshell sandbox create --delegate-identity-for and related CLI commands.
  • Updated provider docs, sandbox architecture docs, tests, and generated Go proto bindings.

Testing

  • mise run pre-commit passes
  • Unit tests added/updated
  • E2E tests added/updated (if applicable)
  • Manual testing with different users/roles

Checklist

  • Follows Conventional Commits
  • Commits are signed off (DCO)
  • Architecture docs updated (if applicable)

grs added 8 commits August 16, 2026 12:24
…nt credentials as OAuth grant_type

Signed-off-by: Gordon Sim <gsim@redhat.com>
Signed-off-by: Gordon Sim <gsim@redhat.com>
Signed-off-by: Gordon Sim <gsim@redhat.com>
Signed-off-by: Gordon Sim <gsim@redhat.com>
…ervisor

Signed-off-by: Gordon Sim <gsim@redhat.com>
…cache

Signed-off-by: Gordon Sim <gsim@redhat.com>
Signed-off-by: Gordon Sim <gsim@redhat.com>
Signed-off-by: Gordon Sim <gsim@redhat.com>
@grs
grs requested review from a team, derekwaynecarr, mrunalp and sjenning as code owners August 17, 2026 11:01
@copy-pr-bot

copy-pr-bot Bot commented Aug 17, 2026

Copy link
Copy Markdown

This pull request requires additional validation before any workflows can run on NVIDIA's runners.

Pull request vetters can view their responsibilities here.

Contributors can view more details about this message here.

@zanetworker

zanetworker commented Aug 17, 2026

Copy link
Copy Markdown
Contributor

The --delegate-identity-for flag name makes this feel like infrastructure plumbing when it's really a trust decision. Something like --act-as-me (or something like that) immediately communicates what the user is agreeing to without requiring identity semantics knowledge.

# Current
openshell sandbox create --provider svc --delegate-identity-for=8h

# Options
openshell sandbox create --provider svc --act-as-me-for=8h
openshell sandbox create --provider svc --act-on-my-behalf-for=8h
...

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

feat: support user-subject dynamic token grants for sandbox agents

2 participants