对于 CDK 实现,“AWS CloudFormation 目前不支持”属性通常意味着什么,具体来说:
在 Cognito 用户池 Lambda 配置的 CloudFormation 属性中,它显示: CustomEmailSender - AWS CloudFormation 目前不支持。 https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpool-lambdaconfig.html
在 Cognito.CfnUssrPool 的 CDK 中描述了此属性: https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-cognito.CfnUserPool.LambdaConfigProperty.html#customemailsender
我现在的问题是这是否可以用CDK来实现?目前,我们的 Cognito 完全通过 CDK 提供,我希望保持这种状态。
编辑:
我找到了一个链接( Using CustomEmailSender with CFN ),其中显示与文档相反,它似乎确实有效,并且只有文档尚未更新,我将对其进行测试并提供反馈。
最佳答案
测试 CustomEmailSender CDK 实现后,我不得不说 AWS CloudFormation 文档尚未处于当前状态。所以CFN和CDK都可以使用这个功能。 AWS Doc CFN Cognito CustomEmailSender
CDK 中的待办事项:
- 配置 Cognito:您必须使用
lambdaConfig
,而不是使用属性emailConfiguration
:
lambdaConfig: {
customEmailSender: { lambdaArn: customSenderEmailLambdaArn, lambdaVersion: 'V1_0' },
// the version is an ENUM so be careful when you set it
kmsKeyId: kmsKeyArn,
},
- 正如您在此处看到的,您还必须设置 KMS key (您可以调整现有 key 或创建新的 KMS key )。这里最重要的是您允许 Cognito 和 Lambda 函数执行
kms:CreateGrant
操作! - 另一个重要的待办事项是为您的 Lambda 添加 Cognito 操作
cognito-idp:InvokeFunction
的权限。 - 使用 CustomEmailSender 而不是常见 Lambda 触发器的一大优势是,您无需在 CDK 代码或 Cognito 控制台中设置所有触发器(所有电子邮件事件都会自动发送到您的 lambda)。<
关于amazon-web-services - AWS 云形成 : Cognito LambdaTrigger CustomEmailSender - Property "Not currently supported by AWS CloudFormation." and CDK usage,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/69737227/