Amazon SES 액세스 제어 - Amazon Simple Email Service

Amazon SES 클래식의 사용 설명서입니다. 업데이트 및 새로운 기능은새로운 Amazon SES 개발자 가이드우리는 사용하는 것이 좋습니다.

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

Amazon SES 액세스 제어

Amazon SES (Amazon SES) 에서 AWS Identity and Access Management (IAM) 를 사용하여 IAM 사용자, 그룹 또는 역할이 수행할 수 있는 Amazon SES API 작업을 지정할 수 있습니다. (이 주제에서는 이러한 엔터티를 모두 사용자라고 칭합니다.) 또한 사용자가 이메일의 "From", 수신자 및 "Return-Path" 주소에 사용할 수 있는 이메일 주소를 제어할 수 있습니다.

예를 들어, 조직의 사용자가 이메일은 보낼 수 있지만 전송 통계 확인 등의 관리 작업은 수행하지 못하도록 하는 IAM 정책을 만들 수 있습니다. 또 다른 예를 들면, 사용자가 계정에서 Amazon SES 를 통해 이메일을 전송할 수 있지만 특정 “발신” 주소를 사용하는 경우에만 허용하는 정책을 작성할 수 있습니다.

을 사용하려면 권한을 명시적으로 정의하는 문서인 IAM 정책을 정의하고 사용자에게 해당 정책을 연결합니다. IAM 정책을 생성하는 방법을 알아보려면 를 참조하십시오.IAM 사용 설명서를 선택합니다. 정책에서 설정하는 제한 사항의 적용 외에는 사용자가 Amazon SES와 상호 작용하는 방법 또는 Amazon SES 요청을 수행하는 방법이 변경되지 않습니다.

참고

전송 권한 부여 정책을 사용하여 Amazon SES 에 대한 액세스를 제어할 수도 있습니다. IAM 정책은 개별 IAM 사용자가 수행할 수 있는 작업을 제한하지만 전송 권한 부여 정책은 확인된 개별 자격 증명을 사용할 수 있는 방법을 제한합니다. 또한 전송 권한 부여 정책만 교차 계정 액세스 권한을 부여할 수 있습니다. 권한 부여 전송에 대한 자세한 내용은 Amazon SES 에서 전송 권한 부여 사용 단원을 참조하십시오.

기존 IAM 사용자를 위한 Amazon SES SMTP 자격 증명을 생성하는 방법에 대한 자세한 내용은 단원을 참조하십시오.Amazon SES SMTP 자격 증명 받기를 선택합니다.

Amazon SES 에 액세스하기 위한 IAM 정책 생성

이 단원에서는 특히 Amazon SES 에서 IAM 정책을 사용하는 방법에 대해 설명합니다. 일반적으로 IAM 정책을 생성하는 방법을 알아보려면 를 참조하십시오.IAM 사용 설명서를 선택합니다.

Amazon SES 에서 IAM 을 사용할 수 있는 이유는 다음과 같습니다.

  • 이메일 전송 작업을 제한하기 위해

  • 사용자가 전송하는 이메일의 "From", 수신자 및 "Return-Path" 주소를 제한하기 위해

  • 일반적인 API 사용을 제어하기 위해(예: 사용자가 사용 권한이 있는 API를 호출할 수 있는 시간)

작업 제한

사용자가 수행할 수 있는 Amazon SES 작업을 제어하려면 다음을 사용하십시오.Action요소를 나타냅니다. 다음을 설정할 수 있습니다.ActionAPI 이름에 소문자 문자열 를 접두사로 추가하여 Amazon SES API 작업에 추가합니다.ses:를 선택합니다. 예를 들어, 다음을 설정할 수 있습니다.Action아래로 변경합니다.ses:SendEmail,ses:GetSendStatistics또는ses:*(모든 작업의 경우).

그런 다음 Action에 따라 Resource 요소를 다음과 같이 지정합니다.

경우Action요소는 이메일 전송 API에 대한 액세스만 허용합니다 (즉,ses:SendEmail및/또는ses:SendRawEmail):

  • 사용자가 AWS 계정의 모든 자격 증명에서 전송하도록 허용하려면 Resource를 *로 설정합니다.

  • 사용자가 전송할 수 있는 자격 증명을 제한하려면 Resource를 사용자가 사용할 수 있도록 허용한 자격 증명의 ARN으로 설정합니다.

경우Action요소는 모든 API에 대한 액세스를 허용합니다.

  • 사용자가 전송할 수 있는 자격 증명을 제한하지 않으려면 Resource를 *로 설정합니다.

  • 사용자가 전송할 수 있는 자격 증명을 제한하려면 다음과 같은 두 가지 정책(또는 한 정책 안에 두 가지 문)을 만들어야 합니다.

    • 허용되는 비 이메일 전송 API의 명시적 목록으로 설정된 Action과 *로 설정된 Resource가 포함된 정책

    • 이메일 전송 API(ses:SendEmail 및/또는 ses:SendRawEmail) 중 하나로 설정된 Action과 사용자가 사용할 수 있도록 허용한 자격 증명의 ARN으로 설정된 Resource가 포함된 정책

사용할 수 있는 Amazon SES 작업의 목록은 단원을 참조하십시오.Amazon Simple Email Service API 참조Amazon Simple Email Service API v2 참조를 선택합니다. IAM 사용자가 SMTP 인터페이스를 사용할 경우 에 대한 액세스를 허용해야 합니다.ses:SendRawEmail최소한.

이메일 주소 제한

특정 이메일 주소로 사용자를 제한하려면 Condition 블록을 사용하면 됩니다. 에서Condition블록에서 설명한 대로 조건 키를 사용하여 조건을 지정합니다.IAM 사용 설명서를 선택합니다. 조건 키를 사용하여 다음과 같은 이메일 주소를 제어할 수 있습니다.

참고

이러한 이메일 주소 조건 키는 아래 표에 나와 있는 API에만 적용됩니다.

조건 키

설명

API

ses:Recipients

To:, "CC" 및 "BCC" 주소가 포함된 수신자 주소를 제한합니다.

SendEmail, SendRawEmail

ses:FromAddress

"From" 주소를 제한합니다.

SendEmail, SendRawEmail, SendBounce

ses:FromDisplayName

표시 이름으로 사용된 "From" 주소를 제한합니다.

SendEmail, SendRawEmail

ses:FeedbackAddress

이메일 피드백 전달로 반송 메일과 불만 제기를 전송할 수 있는 주소인 "Return-Path" 주소를 제한합니다. 이메일 피드백 전달에 대한 자세한 내용은 이메일로 전송된 Amazon SES 알림 단원을 참조하십시오.

SendEmail, SendRawEmail

일반 API 사용 제한

AWS 차원 조건 키를 사용하여 사용자가 API에 액세스할 수 있는 날짜와 시간 등의 요소를 기반으로 Amazon SES 액세스를 제한할 수 있습니다. Amazon SES 는 다음 AWS 전체 정책 키만 구현합니다.

  • aws:CurrentTime

  • aws:EpochTime

  • aws:SecureTransport

  • aws:SourceIp

  • aws:UserAgent

이러한 키에 대한 자세한 내용은 단원을 참조하십시오.IAM 사용 설명서를 선택합니다.

Amazon SES 예제 IAM 정책

이 주제에서는 사용자가 Amazon SES 에 액세스할 수 있지만 특정 조건에서만 허용하는 정책 예를 다룹니다.

모든 Amazon SES 작업에 대한 모든 액세스 허용

다음 정책은 사용자가 Amazon SES 작업을 호출하도록 허용합니다.

{ "Version":"2012-10-17", "Statement":[ { "Effect":"Allow", "Action":[ "ses:*" ], "Resource":"*" } ] }

이메일 전송 작업에 대한 액세스만 허용

다음 정책은 사용자가 Amazon SES를 사용하여 이메일을 전송하는 것을 허용하지만 Amazon SES 전송 통계에 액세스하는 것과 같은 관리 작업을 수행하는 것은 허용하지 않습니다.

{ "Version":"2012-10-17", "Statement":[ { "Effect":"Allow", "Action":[ "ses:SendEmail", "ses:SendRawEmail" ], "Resource":"*" } ] }

전송 기간 제한

다음 정책은 사용자가 2018년 9월에만 Amazon SES 이메일 전송 API를 호출하도록 허용합니다.

{ "Version":"2012-10-17", "Statement":[ { "Effect":"Allow", "Action":[ "ses:SendEmail", "ses:SendRawEmail" ], "Resource":"*", "Condition":{ "DateGreaterThan":{ "aws:CurrentTime":"2018-08-31T12:00Z" }, "DateLessThan":{ "aws:CurrentTime":"2018-10-01T12:00Z" } } } ] }

수신자 주소 제한

다음 정책은 사용자가 Amazon SES 이메일 전송 API를 호출하도록 허용하지만 도메인의 수신자 주소로만 허용합니다.example.com를 선택합니다.

{ "Version":"2012-10-17", "Statement":[ { "Effect":"Allow", "Action":[ "ses:SendEmail", "ses:SendRawEmail" ], "Resource":"*", "Condition":{ "ForAllValues:StringLike":{ "ses:Recipients":[ "*@example.com" ] } } } ] }

"From" 주소 제한

다음 정책은 사용자가 Amazon SES 이메일 전송 API를 호출하도록 허용하지만 “발신” 주소가marketing@example.com를 선택합니다.

{ "Version":"2012-10-17", "Statement":[ { "Effect":"Allow", "Action":[ "ses:SendEmail", "ses:SendRawEmail" ], "Resource":"*", "Condition":{ "StringEquals":{ "ses:FromAddress":"marketing@example.com" } } } ] }

다음 정책은 사용자가SendBounceAPI를 사용할 수 있지만 “From” 주소가bounce@example.com를 선택합니다.

{ "Version":"2012-10-17", "Statement":[ { "Effect":"Allow", "Action":[ "ses:SendBounce" ], "Resource":"*", "Condition":{ "StringEquals":{ "ses:FromAddress":"bounce@example.com" } } } ] }

이메일 발신자의 표시 이름 제한

다음 정책은 사용자가 Amazon SES 이메일 전송 API를 호출하도록 허용하지만 “발신” 주소의 표시 이름에마케팅를 선택합니다.

{ "Version":"2012-10-17", "Statement":[ { "Effect":"Allow", "Action":[ "ses:SendEmail", "ses:SendRawEmail" ], "Resource":"*", "Condition":{ "StringLike":{ "ses:FromDisplayName":"Marketing" } } } ] }

반송 메일 및 수신 거부 피드백 대상 제한

다음 정책은 사용자가 Amazon SES 이메일 전송 API를 호출하도록 허용하지만, 이메일의 “Return Path”가feedback@example.com를 선택합니다.

{ "Version":"2012-10-17", "Statement":[ { "Effect":"Allow", "Action":[ "ses:SendEmail", "ses:SendRawEmail" ], "Resource":"*", "Condition":{ "StringEquals":{ "ses:FeedbackAddress":"feedback@example.com" } } } ] }

Amazon SES 관련 다양한 주제에 대한 정보와 토론은 를 참조하십시오.AWS 메시징 및 타깃팅 블로그를 선택합니다. 질문을 찾아보거나 게시하려면Amazon SES 포럼를 선택합니다.