aws-samples / aws-samples/sample-autonomous-cloud-coding-agents
chore(compute): re-tighten MicroVM-facing IAM if AWS exposes usable condition keys
- 主要言語
- TypeScript
- スター
- 143
- フォーク
- 46
- 平均マージ
- 3日 10時間
- マージ済み PR(30日)
- 24
説明
### Context
ADR-021's Lambda MicroVMs backend runs with deliberately relaxed IAM in two places, both proven necessary by controlled live experiments (evidence: ADR-021 §4 + `docs/verification/645-p2-smoke-runbook.md`):
1. **Role trust**: the build, execution, and connector-operator roles trust `lambda.amazonaws.com` with **no** `aws:SourceAccount`/`aws:SourceArn` condition — the service presents no source key when assuming them (conditioned trust → deterministic `CREATE_FAILED` / unassumable role).
2. **PassRole**: the orchestrator's grant on the execution role and the bootstrap `MicrovmPassRoles` statement carry **no** `iam:PassedToService` condition — the condition is denied on the `RunMicrovm` and CloudFormation paths (two-arm experiments, verbatim denials in the ADR). Candidate service principals (`microvms.lambda.amazonaws.com` etc.) were all `implicitDeny`, and CloudTrail emits no `lambda-microvms` events, so the value the authorizer would match cannot currently be observed.
Compensating controls in place: exact-ARN / name-prefix resource scoping, backend-conditional bootstrap policy, orchestrator-only pass path for the execution role.
### Ask
When AWS documents (or the service starts presenting) usable condition keys for Lambda MicroVMs role assumption and PassRole:
- add the trust conditions back to all three roles
- restore `iam:PassedToService` on both PassRole grants
- delete the compensating-control prose from ADR-021 §4 / SECURITY.md / DEPLOYMENT_ROLES.md
The ADR says "revisit if AWS documents it" — this issue is that revisit's handle. Consider also raising via internal AWS channels: the service team may simply need to publish the authorization-context documentation.
Refs #645, PR #733, ADR-021.
コントリビューションガイド
調査の方向性
ADR-021 §4 と docs/verification/645-p2-smoke-runbook.md から始め、次に issue で説明されている 3 つのロール trust policy と 2 つの PassRole grant を調査してください。AWS が利用可能な Lambda MicroVM condition key を文書化または公開するまで先に進まないでください。完了とは、trust と iam:PassedToService の条件を復元し、ADR-021 §4、SECURITY.md、DEPLOYMENT_ROLES.md から補償的制御に関する記述を削除することです。
索引モデルが issue の本文から書いたものです。
評価
- 技術スタック
- aws
- 領域
- authorization, cloud, security
- issue の種類
- 機能追加
- 難易度
- 5/5
- 見積もり時間
- 1週間以上
- 活発さ
- 静か
- 明瞭さ
- おおむね明確
- 初心者へのやさしさ
- 25/100