授权 Amazon Cognito 代表您发送 Amazon SES 电子邮件(通过自定义 FROM 电子邮件地址) - Amazon Cognito
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 Amazon Web Services 服务入门

授权 Amazon Cognito 代表您发送 Amazon SES 电子邮件(通过自定义 FROM 电子邮件地址)

您可以将 Amazon Cognito 配置为从自定义 FROM 电子邮件地址而不是默认地址发送电子邮件。要使用自定义地址,您必须授予 Amazon Cognito 权限,才能从经过 Amazon SES 验证的身份发送电子邮件。大多数情况下,您可以创建发送授权策略来授予权限。有关更多信息,请参阅《Amazon Simple Email Service 开发人员指南》中的使用 Amazon SES 的发送授权

当您将用户池配置为使用 Amazon SES 处理电子邮件时,Amazon Cognito 会在您的账户中创建 AWSServiceRoleForAmazonCognitoIdpEmailService 角色来授予对 Amazon SES 的访问权限。使用 AWSServiceRoleForAmazonCognitoIdpEmailService 服务相关角色时无需发送授权策略。只需在用户池中使用默认电子邮件功能经过验证的 Amazon SES 身份作为 FROM 地址时,才需要添加发送授权策略。

有关 Amazon Cognito 创建的服务相关角色的更多信息,请参阅对 Amazon Cognito 使用服务相关角色

以下示例发送授权策略授予 Amazon Cognito 使用经 Amazon SES 验证的身份的有限能力。Amazon Cognito 在代表 aws:SourceArn 中的用户池和 aws:SourceAccount 条件中的账户时才能发送电子邮件。有关更多示例,请参阅《Amazon Simple Email Service 开发人员指南》中的 Amazon SES 发送授权策略示例

注意

在此示例中,“Sid”值为唯一标识语句的任意字符串。有关策略语法的更多信息,请参阅《Amazon Simple Email Service 开发人员指南》中的 Amazon SES 发送授权策略

{ "Version": "2012-10-17", "Statement": [ { "Sid": "stmnt1234567891234", "Effect": "Allow", "Principal": { "Service": [ "email.cognito-idp.amazonaws.com" ] }, "Action": [ "SES:SendEmail", "SES:SendRawEmail" ], "Resource": "<your SES identity ARN>", "Condition": { "StringEquals": { "AWS:SourceAccount": "<your account number>" }, "ArnLike": { "AWS:SourceArn": "<your identity pool ARN>" } } } ] }

当您从下拉菜单中选择 Amazon SES 身份时,Amazon Cognito 控制台会为您添加相似策略。如果您使用 CLI 或 API 配置用户池,则必须将与前例结构相同的策略附加到您的 Amazon SES 身份。