diff --git a/lib/seahaven-site-hcptf-stack.ts b/lib/seahaven-site-hcptf-stack.ts index aa57cf7..a3b44af 100644 --- a/lib/seahaven-site-hcptf-stack.ts +++ b/lib/seahaven-site-hcptf-stack.ts @@ -60,7 +60,16 @@ export class SeahavenSiteHcptfStack extends cdk.Stack { policies: [ { policyName: "seahaven-site-plan-refresh", - policyDocument: planPolicy(account, bucket, functionArn, deployParams, wafParam, githubOidc, deployRole), + policyDocument: planPolicy( + account, + bucket, + functionArn, + deployParams, + wafParam, + githubOidc, + deployRole, + boundary, + ), }, ], tags: roleTags(), @@ -251,7 +260,10 @@ function scopedIamPolicy(account: string, deployRole: string, boundary: string): "iam:DeletePolicyVersion", "iam:GetPolicy", "iam:GetPolicyVersion", + "iam:ListPolicyTags", + "iam:SetDefaultPolicyVersion", "iam:TagPolicy", + "iam:UntagPolicy", ], Resource: boundary, }, @@ -349,6 +361,7 @@ function planPolicy( wafParam: string, githubOidc: string, deployRole: string, + boundary: string, ): iam.PolicyDocument { return iam.PolicyDocument.fromJson({ Version: "2012-10-17", @@ -381,6 +394,12 @@ function planPolicy( Action: ["iam:GetPolicy", "iam:GetPolicyVersion"], Resource: "*", }, + { + Sid: "RefreshDeployBoundaryTags", + Effect: "Allow", + Action: "iam:ListPolicyTags", + Resource: boundary, + }, { Sid: "RefreshOriginBucket", Effect: "Allow",