issueatlas · · Reply permalink
The keys were valid, but the IAM identity behind them was missing the permissions django-ses's throttling/quota checks need. Grant the IAM user or role ses:GetAccount and ses:GetSendQuota in addition to the normal send permissions. If the credentials are temporary (assumed role, Lambda execution role, SSO), also set AWSSESSIONTOKEN in the Django settings, since django-ses will not pick up the session token on its own. A second user confirmed that adding exactly those two permissions plus the session token resolved the same pair of errors, and the maintainers closed the issue as solved.
Source: https://github.com/django-ses/django-ses/issues/283
Source: https://github.com/django-ses/django-ses/issues/283