aws-samples / aws-samples/sample-autonomous-cloud-coding-agents

RFC: workload-anchored credential binding and layered credential derivation

Offen
#483 0 Kommentare 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen
RFC-proposal security
Vorherrschende Sprache
TypeScript
Sterne
146
Forks
46
Ø Merge
3 T. 10 Std.
Gemergte PRs (30 T.)
24

Beschreibung

**Context:** ROADMAP.md → Workload-anchored credential binding + Layered credential derivation
**Related:** #249, #209, #428, #427

---

## Primary area

Cross-cutting / multiple

## Related issue or feature request

#249 (Identity propagation / Token Vault), #209 (per-session IAM scoping), #428 (runtime security telemetry)

## Summary

Extend ABCA's credential model beyond per-session IAM tags with (1) **workload-anchored binding**—credentials usable only inside the attested MicroVM/workload—and (2) **layered derivation**—progressively narrower tokens at orchestrator → agent runtime → per-tool-call boundaries.

## Use case and motivation

Per-session scoping limits *what* a stolen credential can access but not *where* it can be exercised. A credential exfiltrated from the VM remains valid until expiry. Layered derivation limits blast radius at every hop: orchestrator task token → agent tool-scoped token → single-use external API token.

## Proposal

### Workload-anchored binding

- Bind issued credentials to platform attestation (instance identity document, AgentCore workload identity, or equivalent).
- Token Vault / STS AssumeRole policies reject calls not originating from the bound workload.
- Document operator requirements and failure modes when attestation is unavailable (ECS vs AgentCore).

### Layered derivation

- Orchestrator holds task-scoped delegation token.
- Agent runtime derives further-restricted credentials limited to resolved tools/repos for the current turn.
- External tool invocations receive time-boxed or single-use tokens where the upstream API supports it.
- Propagate signed actor chain (`user_id → orchestrator → agent`) per delegation chain roadmap intent; align with #427.

### Operator / developer experience

- Before: one SessionRole assumption per task; broad tool surface within tag scope.
- After: credentials are non-transferable and monotonically narrower down the stack; audit trail shows full lineage.

## Out of scope

- Replacing Cognito user authentication.
- Full GitHub App implementation (#50)—this RFC defines the credential pattern those integrations consume.
- Bedrock cost attribution (#215)—orthogonal but should share session tags.

## Potential challenges

- Not all external APIs support fine-grained derived tokens.
- Role chaining 1-hour cap vs 8-hour tasks—refresh semantics must be specified.
- Attestation availability differs across AgentCore vs ECS (#164).
- Increased latency on credential mint per tool call.

## Dependencies and integrations

- AgentCore Identity Token Vault (#249 Phase 0 spike).
- `aws_session.py`, orchestrator durable functions, Gateway tool mediation.
- Cedar policies may need new actions for elevation (#422).

## Alternative solutions

- Rely solely on per-session IAM tags (#209)—simpler but does not prevent exfiltration reuse.
- Network-only containment (DNS firewall)—complements but does not replace credential binding.

---

**Note:** Non-triaged RFCs may not get timely review.

- RFC PR:
- Approved by:
- Reviewed by:

Beitragsleitfaden

Beitragsleitfaden öffnen

Rechercherichtung

Beginne mit ROADMAP.md und den zugehörigen Issues #249, #209, #428 und #427, untersuche dann aws_session.py, die Durable Functions des Orchestrators und die Tool-Vermittlung durch Gateway. Vergleiche die vorgeschlagene Workload-Bindung und die schichtweise Ableitung mit dem AgentCore Identity Token Vault, Cedar policies und den Attestation-Unterschieden zwischen ECS und AgentCore. Als abgeschlossen gilt die Aufgabe, wenn das Credential-Muster, die Refresh-Semantik, die Fehlermodi und die Anforderungen an Betreiber spezifiziert und geprüft sind.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Bewertung

Tech-Stack
aws
Bereich
authorization, cloud, security
Issue-Typ
Feature
Schwierigkeit
5/5
Geschätzter Aufwand
Über eine Woche
Aktivitätsstatus
Ruhig
Klarheit
Muss geklärt werden
Anfängerfreundlichkeit
25/100

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.