Amazon Simple Email Service(Amazon SES)를 사용하여 이메일을 보내려고 하니 "Unauthorized"라는 오류가 나타났습니다.
해결 방법
IAM 권한 확인
AWS Identity and Access Management(IAM) 자격 증명에 이메일을 보내는 데 필요한 권한이 있는지 확인하려면 다음 단계를 완료하십시오.
-
IAM 콘솔을 엽니다.
-
이메일을 보내는 데 사용되는 IAM 사용자 또는 역할을 선택합니다.
-
이메일을 보내는 데 사용하는 IAM 자격 증명 이름을 선택합니다.
-
IAM ID의 권한 탭에서 각 정책을 확장하여 해당 JSON 정책 문서를 확인합니다.
-
Amazon SES 액세스와 관련된 정책을 검색합니다. 그런 다음 ses:SendEmail 또는 ses:SendRawEmail 작업에 대한 권한이 있는지 확인합니다.<br id=hardline_break/>
다음 예시 IAM 정책에서는 IAM 자격 증명이 이메일을 보낼 수 있도록 허용합니다.
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"ses:SendEmail",
"ses:SendRawEmail"
],
"Resource": "*"
}
]
}
참고: IAM 정책이 없는 경우 이전 예시 정책을 사용하여 이메일을 보낼 수 있는 액세스 권한을 부여하는 ](https://docs.aws.amazon.com/ses/latest/dg/control-user-access.html#iam-and-ses)IAM 정책을 생성[하십시오.
액세스를 차단하는 거부 문이 있는지 확인
IAM 정책에서 이메일 전송에 대한 액세스를 거부할 수 있는 거부 문이 있는지 확인하십시오.
거부 문이 있는 경우 액세스를 제한하는 다음 조건을 제거하거나 수정하십시오.
- ses:Recipients
- ses:FromAddress
- ses:FromDisplayName
- ses:FeedbackAddress
- aws:CurrentTime
- aws:EpochTime
- aws:SecureTransport
- aws:SourceIp
- aws:UserAgent
IAM 권한 범위가 Amazon SES에 대한 액세스를 허용하는지 확인
Amazon SES에 액세스하려고 시도한 IAM 자격 증명에 설정된 IAM 권한 경계를 검토합니다. IAM 권한 경계가 Amazon S3에 대한 액세스를 허용하는지 확인합니다. 자세한 내용은 권한 경계를 사용하여 다른 사람에게 책임 위임하기를 참조하십시오.
AWS Organizations의 SCP가 Amazon SES 액세스를 거부하지 않는지 확인
AWS Organizations를 사용하는 경우 서비스 제어 정책(SCP)에서 ses:SendEmail 및 ses:SendRawEmail 작업을 명시적으로 거부하는 문이 있는지 확인합니다. 조직의 보안 정책에 따라 Amazon SES 작업을 명시적으로 거부하는 SCP를 삭제합니다.
다음 예시 정책은 모든 Amazon SES 작업에 대한 액세스를 거부합니다.
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Deny",
"Action": "ses:*",
"Resource": "*"
}
]
}
Amazon SES의 발신자 권한 부여 정책이 위임 발신자에게 권한을 부여하는지 확인
다른 사용자가 자신이 소유한 자격 증명으로 이메일을 보내도록 승인할 때는 권한 부여 정책에 올바른 권한이 있는지 확인하십시오. 자격 증명을 확인한 AWS 리전에서 발신자가 동일한 Amazon SES 엔드포인트를 사용하는지 확인하십시오. 위임 발신자가 확인되지 않은 주소로 이메일을 보내려면 먼저 샌드박스에서 위임 발신자의 AWS 계정을 제거해야 합니다. 정책을 확인, 편집 또는 제거하려면 Amazon SES의 자격 증명 권한 부여 정책 관리를 참조하십시오.