- Newest
- Most votes
- Most comments
https://docs.aws.amazon.com/IAM/latest/UserGuide/id_users.html
Here is a link to the IAM User documentation. Basically, you need to setup a user that has the correct permissions to send via SES. If you are unclear about IAM users, you are probably logging into the console with the root user (account owner) that has full access. This is not recommended. For your use case, you should create an IAM user (perhaps name ses_sender) with permissions only to send via SES or a few other items to complete your use case. Then create an API key for that user and configure that API key on your instance or local machine for authentication.
Since you are doing this on an EC2 instance you can create an IAM role (rather than a user) and then an Instance Profile referencing the role. Then by assigning the Instance Profile to the instance, it will get and renew API keys for the role.
Hope this helps!
Hi,
Did you set the boto3 credentials with a IAM user having credentials to access SES ?
My preferred way of doing is to use the 2 standard env vars expected by boto3: https://boto3.amazonaws.com/v1/documentation/api/latest/guide/credentials.html
I user AWS_ACCESS_KEY_ID and AWS_SECRET_ACCESS_KEY (+ AWS_SESSION_TOKEN when needed) as it keeps credentials management totally external to my code.
Best,
Didier
Relevant content
- asked 4 years ago
- asked 7 years ago
- asked 6 months ago
- AWS OFFICIALUpdated 10 months ago

Hi Didier,
Thx for your reply.
What is IAM user? I set up SES in AWS management console.