AWS SES 使用 Lightsail 验证电子邮件身份

问题描述 投票:0回答:1

我正在尝试在Python中使用SESVerifyEmailIdentity。它在我的本地系统上运行得很好,但是当我们在 Lightsail 实例上托管时,会出现以下错误:

调用VerifyEmailIdentity操作时发生错误(AccessDenied):用户:arn:aws:sts::480862114276:assumed-role/AmazonLightsailInstanceRole/i-0e2s3ff15c45e0eb1无权执行:ses:VerifyEmailIdentity,因为没有基于身份的策略允许ses:验证电子邮件身份操作

Python 代码在本地主机上运行,但在 Lightsail 上托管时出现上述错误

import boto3

ses_client = boto3.client('ses', region_name='ap-south-1')  

def verify_email_address(email):
    response = ses_client.verify_email_identity(EmailAddress=email)
    return response

我尝试过,但无法将角色附加到 AWS 中的 Lightsail 实例,以便我可以附加权限。预期结果是它在本地运行良好,并将电子邮件发送到预期地址进行验证。

django amazon-web-services amazon-ses
1个回答
0
投票

既然您可以配置运行 LightSail 实例的角色,我建议您创建一个 IAM 用户并附加一个具有足够权限的角色,并将用户凭证传递给客户端:

import boto3

client = boto3.client(
    's3',
    aws_access_key_id=ACCESS_KEY,
    aws_secret_access_key=SECRET_KEY,
    aws_session_token=SESSION_TOKEN
)
© www.soinside.com 2019 - 2024. All rights reserved.