Skip to content

Replace ECS broker deployment with scoped OIDC and no parameter access - #62

Draft
jmgasper wants to merge 4 commits into
masterfrom
security/ecs-oidc-deployment
Draft

jmgasper wants to merge 4 commits into
masterfrom
security/ecs-oidc-deployment

Conversation

@jmgasper

@jmgasper jmgasper commented Nov 3, 2026 •

Copy link
Copy Markdown
Contributor

This replaces the shared Auth0/SSM deployment flow for projects-api-v6 with per-service CircleCI OIDC. Builds run without the deployment context; a separate approval-gated job promotes scanned image digests. The deployment role, its permissions boundary and its STS session explicitly deny Parameter Store, Secrets Manager, KMS decryption and role chaining.

The production manifest, privately maintained IAM/CloudFormation documents and health-check proposal use the actual ECS service/task identifiers observed on 2026-11-03. Existing application/execution roles and runtime secret references are preserved. The suite and executor are pinned; depends on tc-deploy-scripts #40.

Removes DB-reset build controls; startup always uses migrate deploy. A stubbed startup check with RESET_DB=true confirmed no reset command executes.

Draft — infrastructure and dev verification are required before merge. The new IAM provider/role, restricted empty CircleCI contexts, ECR immutability/scanning and task health checks must be installed through infrastructure administration. The saved development AWS session is expired, so deploy/dev.json is intentionally absent rather than guessed; the dev job fails closed until its verified manifest is committed here and its IAM configuration is maintained privately. No AWS resources have been changed. See deploy/MIGRATION.md for the exact adoption steps and rollback test.

Validation: CircleCI CLI config validation; manifest/policy consistency and fail-closed checks; shell syntax and git diff checks; AWS IAM Access Analyzer permission-policy validation. Concrete trust policies have no errors or security warnings (only its audience-claim reminder, handled with unqualified StringEquals); parameterized trust requires the real project UUID before installation. The shared suite has 61 passing offline tests, including tests inside the pinned executor. Full application builds and real OIDC/dev deployment remain acceptance gates; no successful live rollout is claimed.

IAM templates and detailed AWS baselines are maintained in the private v6-services-iac directory for this service. They have been removed from every commit on this PR branch. Required application manifests and health-check proposals remain here; infrastructure provisioning is separate from CI. No AWS resources were changed by this move.

@jmgasper
jmgasper force-pushed the security/ecs-oidc-deployment branch from c2e65cd to 2ddac76 Compare November 3, 2026 21:26
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant