-
Notifications
You must be signed in to change notification settings - Fork 4.1k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
feat(s3-deployment): support securityGroups in BucketDeploymentProps #33233
base: main
Are you sure you want to change the base?
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The pull request linter fails with the following errors:
❌ Features must contain a change to an integration test file and the resulting snapshot.
If you believe this pull request should receive an exemption, please comment and provide a justification. A comment requesting an exemption should contain the text Exemption Request
. Additionally, if clarification is needed, add Clarification Request
to a comment.
✅ A exemption request has been requested. Please wait for a maintainer's review.
e9003c1
to
ba8b378
Compare
Exemption Request - I don't think this requires a change to integration tests, per other similar PR guidance. There is also no integration tests for this module it seems. |
packages/aws-cdk-lib/aws-s3-deployment/lib/bucket-deployment.ts
Outdated
Show resolved
Hide resolved
8da326c
to
a2a7583
Compare
33c979d
to
71b57fa
Compare
Any traction on getting this one looked at reviewed? I can't see the build logs as to why it is failing. |
AWS CodeBuild CI Report
Powered by github-codebuild-logs, available on the AWS Serverless Application Repository |
Codecov ReportAll modified and coverable lines are covered by tests ✅
Additional details and impacted files@@ Coverage Diff @@
## main #33233 +/- ##
=======================================
Coverage 80.84% 80.84%
=======================================
Files 236 236
Lines 14230 14230
Branches 2487 2487
=======================================
Hits 11504 11504
Misses 2442 2442
Partials 284 284
Flags with carried forward coverage won't be shown. Click here to find out more.
|
The CI is still failing. Looks like this is the start of the failing point
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@@ -489,6 +489,65 @@ new cdk.CfnOutput(this, 'ObjectKey', { | |||
}); | |||
``` | |||
|
|||
## Specifying a Custom VPC, Subnets, and Security Groups in BucketDeployment |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
really nice README, thanks for adding
* Only used if 'vpc' is supplied. | ||
* | ||
* @default undefined - If the function is placed within a VPC and a security group is | ||
* not specified, either by this or securityGroup prop, a dedicated security |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
there's another securityGroup
prop?
/** | ||
* The list of security groups to associate with the lambda handlers network interfaces. | ||
* | ||
* Only used if 'vpc' is supplied. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
should we throw err if this is supplied without vpc?
// if the user specifies security groups, we define another singleton handler | ||
// with this configuration. otherwise, it won't be possible to use multiple | ||
// configurations since we have a singleton. | ||
if (securityGroups && securityGroups.length > 0) { | ||
const sortedSecurityGroupIds = securityGroups | ||
.map(sg => sg.securityGroupId) | ||
.sort() // Ensure a consistent order | ||
.join('-'); // Join into a single string | ||
uuid += `-${sortedSecurityGroupIds}`; | ||
} |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I'm not too familiar with this area of the codebase. Can you give me a short explainer on what this is doing and why we need it?
This PR has been in the CHANGES REQUESTED state for 3 weeks, and looks abandoned. Note that PRs with failing linting check or builds are not reviewed, please ensure your build is passing To prevent automatic closure:
This PR will automatically close in 7 days if no action is taken. |
Issue # (if applicable)
closes #33229
Reason for this change
The
BucketDeployment
construct in AWS CDK allows deploying assets to S3 buckets, often requiring a Lambda function to perform the deployment. Currently, users can specify a custom VPC viaBucketDeploymentProps
, ensuring the deployment happens within a restricted network.However, many organizations require more granular network security control. While specifying a VPC is helpful, allowing custom security groups would enable teams to define specific ingress/egress rules, meeting stricter compliance and security requirements.
Description of changes
BucketDeploymentProps
to include an optionalsecurityGroups?: ec2.ISecurityGroup[]
property.BucketDeployment
constructor to passsecurityGroups
to the Lambda function.securityGroups
optional.vpc
,vpcSubnets
, andsecurityGroups
parameters.Describe any new or updated permissions being added
N/A
Description of how you validated changes
Added unit tests to the relevant code modules to cover feature usage.
Checklist
By submitting this pull request, I confirm that my contribution is made under the terms of the Apache-2.0 license