feat: Identity — JWT Federation Lifecycle
Nobody has claimed this yet.
Assessment
- Difficulty
- 5/5
- Estimated time
- Over a week
- Newbie friendliness
- 42/100
- Issue type
- Feature
- Clarity
- Mostly clear
- Activity status
- Quiet
- Tech stack
- aws, python
- Domain
- authentication, authorization, cloud
Research direction
Start with the IdentityClient token-exchange and credential-provider entry points, then compare them with the referenced helpers in src/bedrock_agentcore_starter_toolkit/operations/identity/helpers.py: setup_aws_jwt_federation(), get_aws_jwt_federation_info(), ensure_identity_permissions(), and ensure_aws_jwt_permissions(). Define the SDK surface and integration-test coverage for idempotent federation setup, issuer lookup, role policies, and JWT signing conditions; done means all acceptance criteria pass in CI.
Written by the indexing model from the issue text.
Description
Problem
The SDK's IdentityClient lets customers exchange tokens and manage credential providers at runtime, but the IAM prerequisites that make these features work have no SDK support. Before @requires_access_token, @requires_iam_access_token, or get_token() can function, customers must:
- Enable AWS IAM Outbound Web Identity Federation at the account level — an obscure one-time IAM API call (
enable_outbound_web_identity_federation) that isn't documented alongside the SDK's identity features - Configure the agent's execution role with the correct trust policy (
bedrock-agentcore.amazonaws.comas trusted principal) and inline policies for workload token exchange, Secrets Manager access, and JWT signing permissions
Without this, customers follow the SDK docs, try @requires_access_token, get cryptic auth failures, and have to reverse-engineer the IAM setup themselves. The starter toolkit automates this with setup_aws_jwt_federation() and ensure_identity_permissions() — the SDK should provide the same so that identity features work out of the box.
Acceptance Criteria
- Customers can enable AWS IAM Outbound Web Identity Federation (idempotent)
- Customers can check whether JWT federation is enabled and retrieve the issuer URL
- Customers can configure execution role trust policies and inline policies for identity flows
- Customers can configure execution role permissions for AWS JWT signing with audience/algorithm/duration conditions
- All functionality is verified via integration tests running in CI
Relevant Links
- Dominant language
- Python
- Stars
- 764
- Forks
- 149
- Avg merge
- 1d 19h
- Merged PRs (30d)
- 7
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from aws/bedrock-agentcore-sdk-python
-
Difficulty 2/5 1-3 hours Newbie friendliness 68/100
-
Difficulty 2/5 1-3 hours Newbie friendliness 68/100
-
Difficulty 2/5 1-3 hours Newbie friendliness 72/100
aws/bedrock-agentcore-sdk-python#496 · 1 comment ·
-
Pydantic deprecation warning: Support for class-based `config` is deprecated, use ConfigDict instead Open
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
aws/bedrock-agentcore-sdk-python#320 · 2 comments · 3 reactions ·
-
Difficulty 1/5 Under an hour Newbie friendliness 72/100
All issues in aws/bedrock-agentcore-sdk-python
Similar issues
-
documentation help wanted
Difficulty 2/5 1-3 hours Newbie friendliness 90/100
-
Difficulty 2/5 1-3 hours Newbie friendliness 90/100
simonw/sqlite-utils#872 ·
-
Difficulty 2/5 1-3 hours Newbie friendliness 88/100
-
Difficulty 2/5 1-3 hours Newbie friendliness 82/100
-
Difficulty 2/5 1-3 hours Newbie friendliness 78/100