一般是什么意思属性"目前不支持AWS cloudformation ";对于CDK实现,特别是:
在CloudFormation属性中为Cognito Userpool Lambda配置它说:CustomEmailSender——AWS CloudFormation目前不支持。https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpool-lambdaconfig.html
在Cognito的CDK中。CfnUssrPool这个属性被描述为:https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-cognito.CfnUserPool.LambdaConfigProperty.html customemailsender
我现在的问题是这是否可以与CDK实现?目前,我们的Cognito完全通过CDK提供,我希望保持这种方式。
编辑:我发现了一个链接(使用CustomEmailSender与CFN),它说,与文档相反,它似乎确实有效,只有文档没有更新,我将对此进行测试并给出反馈。
在测试了CustomEmailSender CDK实现后,我不得不说AWS CloudFormation文档没有当前状态。因此CFN和CDK可以使用这个函数。AWS Doc CFN Cognito CustomEmailSender
ToDos in CDK:
- 配置Cognito:而不是使用属性
emailConfiguration
你必须使用lambdaConfig
:
lambdaConfig: {
customEmailSender: { lambdaArn: customSenderEmailLambdaArn, lambdaVersion: 'V1_0' },
// the version is an ENUM so be careful when you set it
kmsKeyId: kmsKeyArn,
},
- 正如您在这里看到的,您还必须设置KMS密钥(您可以调整现有的KMS密钥或创建新的KMS密钥)。这里最重要的事情是,您允许动作
kms:CreateGrant
到认知和Lambda函数! - 另一个重要的待办事项是为您的Lambda添加Cognito操作
cognito-idp:InvokeFunction
的权限。 - 使用CustomEmailSender而不是常见的Lambda触发器的最大优点是,您不必在CDK代码或Cognito控制台设置所有触发器(所有电子邮件事件将自动发送到您的Lambda)。