diff --git a/source/patterns/@aws-solutions-constructs/aws-lambda-secretsmanager/lib/index.ts b/source/patterns/@aws-solutions-constructs/aws-lambda-secretsmanager/lib/index.ts index 86532f365..39f955eac 100644 --- a/source/patterns/@aws-solutions-constructs/aws-lambda-secretsmanager/lib/index.ts +++ b/source/patterns/@aws-solutions-constructs/aws-lambda-secretsmanager/lib/index.ts @@ -144,7 +144,7 @@ export class LambdaToSecretsmanager extends Construct { // Enable read permissions for the Lambda function by default this.secret.grantRead(this.lambdaFunction); - if (props.grantWriteAccess) { + if (props.grantWriteAccess === 'ReadWrite') { this.secret.grantWrite(this.lambdaFunction); } } diff --git a/source/patterns/@aws-solutions-constructs/aws-lambda-secretsmanager/test/__snapshots__/lambda-secretsmanager.test.js.snap b/source/patterns/@aws-solutions-constructs/aws-lambda-secretsmanager/test/__snapshots__/lambda-secretsmanager.test.js.snap index 330cffdbb..89ca08827 100644 --- a/source/patterns/@aws-solutions-constructs/aws-lambda-secretsmanager/test/__snapshots__/lambda-secretsmanager.test.js.snap +++ b/source/patterns/@aws-solutions-constructs/aws-lambda-secretsmanager/test/__snapshots__/lambda-secretsmanager.test.js.snap @@ -81,7 +81,6 @@ Object { }, "Environment": Object { "Variables": Object { - "AWS_NODEJS_CONNECTION_REUSE_ENABLED": "1", "SECRET_NAME": Object { "Fn::Select": Array [ 6, @@ -301,7 +300,6 @@ Object { }, "Environment": Object { "Variables": Object { - "AWS_NODEJS_CONNECTION_REUSE_ENABLED": "1", "SECRET_NAME": Object { "Fn::Select": Array [ 6, @@ -432,6 +430,16 @@ Object { }, "lambdatosecretsmanagerstacksecretBA684E34": Object { "DeletionPolicy": "Retain", + "Metadata": Object { + "cfn_nag": Object { + "rules_to_suppress": Array [ + Object { + "id": "W77", + "reason": "Secrets Manager Secret should explicitly specify KmsKeyId. Besides control of the key this will allow the secret to be shared cross-account", + }, + ], + }, + }, "Properties": Object { "GenerateSecretString": Object {}, }, diff --git a/source/patterns/@aws-solutions-constructs/aws-lambda-secretsmanager/test/lambda-secretsmanager.test.ts b/source/patterns/@aws-solutions-constructs/aws-lambda-secretsmanager/test/lambda-secretsmanager.test.ts index 02f94302a..92c7625c5 100755 --- a/source/patterns/@aws-solutions-constructs/aws-lambda-secretsmanager/test/lambda-secretsmanager.test.ts +++ b/source/patterns/@aws-solutions-constructs/aws-lambda-secretsmanager/test/lambda-secretsmanager.test.ts @@ -301,6 +301,9 @@ test('Test lambda function custom environment variable', () => { runtime: lambda.Runtime.NODEJS_14_X, handler: 'index.handler', code: lambda.Code.fromAsset(`${__dirname}/lambda`), + environment: { + AWS_NODEJS_CONNECTION_REUSE_ENABLED: '1', + } }, secretEnvironmentVariableName: 'CUSTOM_SECRET_NAME' });