He utilizado Amazon Simple Email Service (Amazon SES) para enviar un correo electrónico y he recibido un error "Unauthorized".
Resolución
Verificación de los permisos de IAM
Para comprobar que tu identidad de AWS Identity and Access Management (IAM) tiene los permisos correctos para enviar correos electrónicos, sigue estos pasos:
-
Abre la consola de IAM.
-
Selecciona el usuario o rol de IAM que se usa para enviar correos electrónicos.
-
Selecciona el nombre de identidad de IAM que usas para enviar correos electrónicos.
-
En la pestaña Permisos de tu identidad de IAM, expande cada política para consultar tu documento de política de JSON.
-
Busca políticas relacionadas con el acceso a Amazon SES. A continuación, confirma que tienes permisos para las acciones ses:SendEmail o ses:SendRawEmail.<br id=hardline_break/>
El siguiente ejemplo de política de IAM permite que la identidad de IAM envíe correos electrónicos:
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"ses:SendEmail",
"ses:SendRawEmail"
],
"Resource": "*"
}
]
}
Nota: Si no existe una política de IAM, crea una que te conceda acceso para enviar correos electrónicos con la política del ejemplo anterior.
Comprobación de si hay alguna instrucción de denegación que bloquee el acceso
Consulta las políticas de IAM para ver si hay instrucciones de denegación que puedan denegar el acceso al envío de correos electrónicos.
Si hay instrucciones de denegación, elimina o modifica las siguientes condiciones que restringen el acceso:
- ses:Recipients
- ses:FromAddress
- ses:FromDisplayName
- ses:FeedbackAddress
- aws:CurrentTime
- aws:EpochTime
- aws:SecureTransport
- aws:SourceIp
- aws:UserAgent
Confirmación de si los límites de los permisos de IAM permiten el acceso a Amazon SES
Revisa los límites de permisos de IAM establecidos en la identidad de IAM que intentó acceder a Amazon SES. Asegúrate de que los límites de los permisos de IAM permiten el acceso a Amazon SES. Para obtener más información, consulta Delegación de responsabilidades en otras personas mediante el uso de límites de permisos.
Comprobación de que las SCP de AWS Organizations no denieguen el acceso a Amazon SES
Si usas AWS Organizations, consulta la política de control de servicio (SCP) para ver si hay instrucciones que denieguen explícitamente las acciones ses:SendEmail y ses:SendRawEmail. Elimina las SCP que denieguen explícitamente las acciones de Amazon SES de acuerdo con las políticas de seguridad de tu organización.
El siguiente ejemplo de política deniega el acceso a todas las acciones de Amazon SES:
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Deny",
"Action": "ses:*",
"Resource": "*"
}
]
}
Comprobación de que la política de autorización del remitente de Amazon SES conceda permisos al remitente delegado
Cuando autorices a otros usuarios a enviar correos electrónicos desde las identidades que posees, verifica que la política de autorización tenga los permisos correctos. Asegúrate de que el remitente utilice el mismo punto de enlace de Amazon SES en la región de AWS en la que verificaste la identidad. Debes eliminar la cuenta de AWS del remitente delegado del entorno de pruebas para poder enviar correos electrónicos a direcciones no verificadas. Para ver, editar o eliminar una política, consulta Administración de las políticas de autorización de identidad de Amazon SES.