Skip to content

Commit dad9080

Browse files
committed
fix it
1 parent 30e0731 commit dad9080

File tree

4 files changed

+36
-59
lines changed

4 files changed

+36
-59
lines changed

Makefile

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -102,15 +102,14 @@ cdk-synth:
102102
npx cdk synth \
103103
--quiet \
104104
--app "npx ts-node --prefer-ts-exts packages/cdk/bin/EpsAssistMeApp.ts" \
105-
--context accountId=undefined \
105+
--context accountId=123456789012 \
106106
--context stackName=epsam \
107107
--context versionNumber=undefined \
108108
--context commitId=undefined \
109109
--context logRetentionInDays=30 \
110110
--context slackBotToken=dummy \
111111
--context slackSigningSecret=dummy \
112112
--context cfnDriftDetectionGroup=dummy
113-
./scripts/fix_cfn_guard.sh
114113

115114
cdk-diff:
116115
npx cdk diff \

packages/cdk/bin/utils/appUtils.ts

Lines changed: 6 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ const findResourcesByPattern = (construct: IConstruct, patterns: Array<string>):
1010
const search = (node: IConstruct): void => {
1111
if (node instanceof CfnResource) {
1212
for (const pattern of patterns) {
13-
if (node.logicalId.includes(pattern) && !seen.has(node.logicalId)) {
13+
if (node.node.id.includes(pattern) && !seen.has(node.logicalId)) {
1414
matches.push(node)
1515
seen.add(node.logicalId)
1616
break
@@ -63,23 +63,9 @@ export const applyCfnGuardSuppressions = (stack: Stack): void => {
6363
// Suppress all cfn-guard checks for all Lambda functions (including implicit CDK-generated ones)
6464
const allLambdas = findResourcesByType(stack, "AWS::Lambda::Function")
6565
addSuppressions(allLambdas, ["LAMBDA_DLQ_CHECK", "LAMBDA_INSIDE_VPC", "LAMBDA_CONCURRENCY_CHECK"])
66-
67-
// Suppress S3 bucket guard checks
68-
const bucketResources = findResourcesByPattern(stack, ["Bucket", "Docs", "Storage"])
69-
addSuppressions(
70-
bucketResources,
71-
[
72-
"S3_BUCKET_REPLICATION_ENABLED",
73-
"S3_BUCKET_LOGGING_ENABLED",
74-
"S3_BUCKET_DEFAULT_LOCK_ENABLED"
75-
]
76-
)
77-
78-
// Suppress S3 policy guard checks
79-
const policyResources = findResourcesByPattern(stack, ["Policy", "BucketPolicy"])
80-
addSuppressions(policyResources, ["S3_BUCKET_SSL_REQUESTS_ONLY"])
81-
82-
// Suppress API Gateway stage guard checks
83-
const stageResources = findResourcesByPattern(stack, ["Stage", "DeploymentStage"])
84-
addSuppressions(stageResources, ["API_GW_CACHE_ENABLED_AND_ENCRYPTED"])
66+
const permissionResources = findResourcesByPattern(stack, [
67+
"ApiPermission.Test.EpsAssistMeStackApisEpsAssistApiGateway1E1CF19C.POST..slack.events",
68+
"AllowBucketNotificationsToEpsAssistMeStackFunctionsSyncKnowledgeBaseFunctionepsamSyncKnowledgeBaseFunction94D011F3"
69+
])
70+
addSuppressions(permissionResources, ["LAMBDA_FUNCTION_PUBLIC_ACCESS_PROHIBITED"])
8571
}

packages/cdk/constructs/S3Bucket.ts

Lines changed: 29 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,9 @@ import {
44
Bucket,
55
BucketEncryption,
66
BlockPublicAccess,
7-
ObjectOwnership
7+
ObjectOwnership,
8+
CfnBucket,
9+
CfnBucketPolicy
810
} from "aws-cdk-lib/aws-s3"
911
import {Key} from "aws-cdk-lib/aws-kms"
1012

@@ -38,6 +40,32 @@ export class S3Bucket extends Construct {
3840
objectOwnership: ObjectOwnership.BUCKET_OWNER_ENFORCED
3941
})
4042

43+
const cfnBucket = bucket.node.defaultChild as CfnBucket
44+
cfnBucket.cfnOptions.metadata = {
45+
...cfnBucket.cfnOptions.metadata,
46+
guard: {
47+
SuppressedRules: [
48+
"S3_BUCKET_REPLICATION_ENABLED",
49+
"S3_BUCKET_VERSIONING_ENABLED",
50+
"S3_BUCKET_DEFAULT_LOCK_ENABLED",
51+
"S3_BUCKET_LOGGING_ENABLED"
52+
]
53+
}
54+
}
55+
56+
const policy = bucket.policy!
57+
const cfnBucketPolicy = policy.node.defaultChild as CfnBucketPolicy
58+
cfnBucketPolicy.cfnOptions.metadata = (
59+
{
60+
...cfnBucketPolicy.cfnOptions.metadata,
61+
guard: {
62+
SuppressedRules: [
63+
"S3_BUCKET_SSL_REQUESTS_ONLY"
64+
]
65+
}
66+
}
67+
)
68+
4169
this.kmsKey = kmsKey
4270
this.bucket = bucket
4371
}

scripts/fix_cfn_guard.sh

Lines changed: 0 additions & 36 deletions
This file was deleted.

0 commit comments

Comments
 (0)