AWS SES VerifyEmailIdentity с помощью lightsail
Я пытаюсь использовать SES VerifyEmailIdentity в python. Он работает совершенно нормально на моей локальной системе, но когда мы хостимся на экземпляре lughtsail, возникает следующая ошибка:
При вызове операции VerifyEmailIdentity произошла ошибка (AccessDenied): Пользователь: arn:aws:sts::480862114276:assumed-role/AmazonLightsailInstanceRole/i-0e2s3ff15c45e0eb1 не уполномочен выполнять: ses:VerifyEmailIdentity, поскольку ни одна политика на основе идентификации не разрешает действие ses:VerifyEmailIdentity
Код Python работает на localhost, но при размещении на 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
Я пытался, но нет способа прикрепить роль к экземпляру lightsail в AWS, через которую я могу прикрепить разрешение. Ожидаемый результат - просто все работает нормально, как на локальном, и отправка электронной почты на указанный адрес для проверки.
Ну, поскольку вы можете (правка: здесь ошибка, из-за которой мое объяснение не имеет смысла, я хотел написать не может) настроить роль, с которой запускается экземпляр 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
)