Commit 0d9c7e2
The custom least-privilege CFN execution-role policy (ADR-002) scopes
secretsmanager:CreateSecret to per-integration ARN prefixes, but the Jira
integration shipped without its pattern. A fresh `mise //cdk:bootstrap` +
deploy of current main therefore rolls back with:
cdk-hnb659fds-cfn-exec-role is not authorized to perform
secretsmanager:CreateSecret (on JiraIntegrationWebhookSecre-...)
jira-integration.ts creates `new secretsmanager.Secret(this, 'WebhookSecret')`
under construct id `JiraIntegration`, which CloudFormation names
`JiraIntegrationWebhookSecre-...`, matching no allow-listed prefix.
Add `arn:aws:secretsmanager:*:*:secret:JiraIntegration*` to the SecretsManager
statement and regenerate the bootstrap artifacts (application.json,
bootstrap-template.yaml). Add the same pattern to the DEPLOYMENT_ROLES.md
golden source-of-truth (+ Starlight mirror) so the golden-baseline parity
test passes.
Add a regression guard in policies.test.ts asserting the allow-list carries a
pattern for every integration that creates a secret — the existing
service-prefix check can't catch a missing resource ARN (it's still
`secretsmanager:`), which is how this reached main.
Fixes #402
Co-authored-by: bgagent <bgagent@noreply.github.com>
1 parent a55495d commit 0d9c7e2
6 files changed
Lines changed: 37 additions & 0 deletions
File tree
- cdk
- bootstrap
- policies
- src/bootstrap/policies
- test/bootstrap
- docs
- design
- src/content/docs/architecture
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1129 | 1129 | | |
1130 | 1130 | | |
1131 | 1131 | | |
| 1132 | + | |
1132 | 1133 | | |
1133 | 1134 | | |
1134 | 1135 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
205 | 205 | | |
206 | 206 | | |
207 | 207 | | |
| 208 | + | |
208 | 209 | | |
209 | 210 | | |
210 | 211 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
246 | 246 | | |
247 | 247 | | |
248 | 248 | | |
| 249 | + | |
249 | 250 | | |
250 | 251 | | |
251 | 252 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
148 | 148 | | |
149 | 149 | | |
150 | 150 | | |
| 151 | + | |
| 152 | + | |
| 153 | + | |
| 154 | + | |
| 155 | + | |
| 156 | + | |
| 157 | + | |
| 158 | + | |
| 159 | + | |
| 160 | + | |
| 161 | + | |
| 162 | + | |
| 163 | + | |
| 164 | + | |
| 165 | + | |
| 166 | + | |
| 167 | + | |
| 168 | + | |
| 169 | + | |
| 170 | + | |
| 171 | + | |
| 172 | + | |
| 173 | + | |
| 174 | + | |
| 175 | + | |
| 176 | + | |
| 177 | + | |
| 178 | + | |
| 179 | + | |
| 180 | + | |
| 181 | + | |
| 182 | + | |
151 | 183 | | |
152 | 184 | | |
153 | 185 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
473 | 473 | | |
474 | 474 | | |
475 | 475 | | |
| 476 | + | |
476 | 477 | | |
477 | 478 | | |
478 | 479 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
477 | 477 | | |
478 | 478 | | |
479 | 479 | | |
| 480 | + | |
480 | 481 | | |
481 | 482 | | |
482 | 483 | | |
| |||
0 commit comments