Alternative: IAM for AWS, SPIFFE for Non-AWS
A more pragmatic architecture for your service:
Lambda → calls AWS services (ACM PCA, DynamoDB) → use IAM role ← simple, native
Lambda → calls internal peer services inside VPC → use IAM SigV4 or mTLS with long-lived cert
Lambda → calls external non-AWS services → OIDC federation → SVID
You don't need SPIFFE for everything. IAM is already a workload identity system —
it's just AWS-specific. SPIFFE adds value when:
- You have non-AWS peers that need portable identity
- You want a unified identity model across AWS and non-AWS compute
- You're building something that will survive a future cloud migration
For Amazon Leo specifically: all infrastructure is AWS-native.
IAM + VPC + mTLS with ACM-issued certs may be sufficient.