You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Anthropic Workload Identity Federation exchanges an OIDC JWT at POST /v1/oauth/token (RFC 7523 jwt-bearer) for a short-lived Authorization: Bearer token. Actors have no JWT to exchange, and egress injection only supports static Secret values or a raw Actor JWT. The only option today is a long-lived API key.
Proposal
A token-exchange credential provider on credprovider.v1:
URI ate-secret://token-exchange/<namespace>/<name> names an exchange: token URL, extra form params (federation_rule_id, organization_id, service_account_id, …), and audience. It uses the same atespace→namespace grant as k8s.io.
The assertion is the provider's ServiceAccount token, from a fresh TokenRequest for every exchange (Anthropic rejects a reused jti).
Should the default identity be the provider's ServiceAccount, or the calling Actor's JWT (MintActorJwt)? The latter lets the authorization server tell Actors apart. authz_util_test.go already lists a token-exchange identity with the egress-gateway role.
Activity