How does GitHub deploy to AWS without stored AWS keys?
After this you can answer: How does GitHub deploy to AWS without stored AWS keys?
Say it in 30 seconds
Section titled “Say it in 30 seconds”The deeper answer
Section titled “The deeper answer”There are two questions: who may assume the role, and what that role may do. The trust conditions require the AWS audience and the expected GitHub subject. The publish job needs id-token: write to request the token; that permission does not grant repository write access.
A job using a GitHub environment has an environment-shaped subject rather than the ordinary branch subject. MiniTickets matches the deploy environment to the Pulumi stack. The deploy role is broader than the ECR publish role because it applies infrastructure.
An environment subject alone does not prove which branch or workflow produced it. Branch restrictions, required reviewers and self-review rules need their own protection settings. The repository bootstrap currently permits self-review; that limitation is documented rather than treated as a completed hardening step. I would also review third-party action pinning and what executable code runs after credentials become available.
Counter-questions
Section titled “Counter-questions”Why does AssumeRoleWithWebIdentity fail before an ECR call?
Does OIDC make the deploy role harmless?
Could another workflow use the environment role?
Where in MiniTickets
Section titled “Where in MiniTickets”Read the path chapter, select the relevant map piece →, then inspect infra/src/cicd.ts → createCicd. Work through the related case for a diagnostic example.
Read this book online: https://book.theversehub.in/