-
Notifications
You must be signed in to change notification settings - Fork 4.2k
feat(appconfig): support customer managed key for hosted configuration #34256
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
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.
Thank you for your contribution! I've added only a nit comment.
@mazyu36 I'm curious that is it unnecessary to set a key policy for CMK? {
"Version": "2012-10-17",
"Statement": [
{
"Sid": "Allow use of the key",
"Effect": "Allow",
"Principal": {
"AWS": "arn:aws:iam::account_ID:role/role_name" // this
},
"Action": [
"kms:Decrypt",
"kms:GenerateDataKey"
],
"Resource": "*"
}
] |
Co-authored-by: Kazuho Cryer-Shinozuka <[email protected]>
@badmintoncryer Hosted Configuration itself does not have roles. |
@@ -442,6 +449,7 @@ export class HostedConfiguration extends ConfigurationBase { | |||
description: this.description, | |||
type: this.type, | |||
validators: this.validators, | |||
kmsKeyIdentifier: props.kmsKey?.keyArn, |
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.
What if props
is undefined.
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 kmsKeyIdentifier is set to undefined.
In that case, the configuration is encrypted by AWS Managed Key.
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.
do we need to do this instead props?.kmsKey?.keyArn
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 think this is not needed because props
is required.
constructor(scope: Construct, id: string, props: HostedConfigurationProps) { |
The other properties are same.
this.content = props.content.content; |
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.
Minor comment added above
This PR cannot be merged because it has conflicts. Please resolve them. The PR will be considered stale and closed if it remains in an unmergeable state. |
Pull request has been modified.
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 14 days if no action is taken. |
Exemption Request: I'm waiting for the maintainer's response. |
AWS CodeBuild CI Report
Powered by github-codebuild-logs, available on the AWS Serverless Application Repository |
Issue # (if applicable)
N/A
Reason for this change
Missing property.
Description of changes
Add kmsKey property to AppConfig Hosted Configuration
Describe any new or updated permissions being added
N/A
Description of how you validated changes
Add a unit test and an integ test.
Checklist
By submitting this pull request, I confirm that my contribution is made under the terms of the Apache-2.0 license