전송 정책 예시 - Amazon Simple Email Service

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

전송 정책 예시

전송 권한 부여에서는 사용자가 위임 발신자에게 사용자를 대신하여 이메일을 전송하도록 허용하는 세부 조건을 지정할 수 있습니다.

전송 권한 부여와 관련된 조건

조건(condition)은 문에 지정된 권한에 대한 제한입니다. 문에서 조건을 지정하는 부분이 가장 세부적일 수 있습니다. 키(key)는 요청의 날짜 및 시간과 같이 액세스 제한의 기준이 되는 구체적인 특성입니다.

조건과 키를 함께 사용하여 제한을 표현합니다. 예를 들어, 위임 발신자가 2019년 7월 30일 이후로는 사용자를 대신하여 Amazon SES에 요청을 하지 못하게 제한하려면 DateLessThan 조건을 사용합니다. aws:CurrentTime이라는 키를 사용하여 그 값을 2019-07-30T00:00:00Z로 설정합니다.

IAM 사용 설명서사용 가능한 키에 나열된 AWS 전체 키 중 어느 것이나 사용할 수 있습니다. 또는 전송 권한 부여 정책에 유용한 SES 고유의 다음 키 중 하나를 사용할 수 있습니다.

조건 키

설명

ses:Recipients

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

ses:FromAddress

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

ses:FromDisplayName

"From" 표시 이름(때때로 "대화명"으로 부름)으로 사용되는 문자열의 내용을 제한합니다. 예를 들어 "John Doe <johndoe@example.com>"의 표시 이름은 John Doe입니다.

ses:FeedbackAddress

이메일 피드백 전달로 반송 메일과 수신 거부를 전송할 수 있는 주소인 "Return Path" 주소를 제한합니다. 이메일 피드백 전달에 대한 자세한 내용은 이메일을 통해 Amazon SES 알림 수신 단원을 참조하세요.

Amazon SES 키와 함께 StringEqualsStringLike 조건을 사용할 수 있습니다. 이러한 조건은 대/소문자 구분 문자열 매칭을 위한 것입니다. StringLike의 경우 문자열 어디에서나 다중 문자 매칭 와일드카드(*) 또는 단일 문자 매칭 와일드카드(?)를 값에 포함할 수 있습니다. 예를 들어 다음 조건은 위임 발신자가 invoicing으로 시작하고 @example.com으로 끝나는 "From" 주소에서만 이메일을 전송할 수 있게 지정합니다.

"Condition": { "StringLike": { "ses:FromAddress": "invoicing*@example.com" } }

또한 위임 발신자가 특정 이메일 주소에서 이메일을 전송하지 못하도록 StringNotLike 조건을 사용할 수 있습니다. 예를 들어, 정책 설명문에 다음 조건을 포함하여 admin@example.com"admin"@example.com, admin+1@example.com, sender@admin.example.com 등의 유사 주소에서 전송을 허용하지 않을 수 있습니다.

"Condition": { "StringNotLike": { "ses:FromAddress": "*admin*example.com" } }

조건 지정 방법에 대한 자세한 내용은 IAM 사용 설명서IAM JSON 정책 요소: 조건을 참조하십시오.

위임 발신자 지정

사용자가 권한을 부여하는 엔터티인 보안 주체는 AWS 계정 계정, AWS Identity and Access Management(IAM) 사용자 또는 AWS 서비스일 수 있습니다.

다음 예제는 AWS ID 123456789012에 확인된 자격 증명 example.com(AWS 계정 888888888888 소유)에서 이메일을 전송하도록 허용하는 간단한 정책을 보여줍니다. 이 정책의 Condition 문은 위임자(즉, AWS ID 123456789012)가 주소 marketing+.*@example.com에서만 이메일을 보내도록 허용합니다. 여기서 *는 발신자가 marketing+ 다음에 추가하려는 임의의 문자열입니다.

{ "Id":"SampleAuthorizationPolicy", "Version":"2012-10-17", "Statement":[ { "Sid":"AuthorizeMarketer", "Effect":"Allow", "Resource":"arn:aws:ses:us-east-1:888888888888:identity/example.com", "Principal":{ "AWS":[ "123456789012" ] }, "Action":[ "ses:SendEmail", "ses:SendRawEmail" ], "Condition":{ "StringLike":{ "ses:FromAddress":"marketing+.*@example.com" } } } ] }

다음 정책 예제는 두 IAM 사용자에게 자격 증명 example.com에서 이메일을 전송할 수 있는 권한을 부여합니다. IAM 사용자는 Amazon Resource Name(ARN)으로 지정됩니다.

{ "Id":"ExampleAuthorizationPolicy", "Version":"2012-10-17", "Statement":[ { "Sid":"AuthorizeIAMUser", "Effect":"Allow", "Resource":"arn:aws:ses:us-east-1:888888888888:identity/example.com", "Principal":{ "AWS":[ "arn:aws:iam::111122223333:user/John", "arn:aws:iam::444455556666:user/Jane" ] }, "Action":[ "ses:SendEmail", "ses:SendRawEmail" ] } ] }

다음 정책 예제는 Amazon Cognito에게 자격 증명 example.com에서 이메일을 전송할 수 있는 권한을 부여합니다.

{ "Id":"ExampleAuthorizationPolicy", "Version":"2012-10-17", "Statement":[ { "Sid":"AuthorizeService", "Effect":"Allow", "Resource":"arn:aws:ses:us-east-1:888888888888:identity/example.com", "Principal":{ "Service":[ "cognito-idp.amazonaws.com" ] }, "Action":[ "ses:SendEmail", "ses:SendRawEmail" ], "Condition": { "StringEquals": { "aws:SourceAccount": "888888888888", "aws:SourceArn": "arn:aws:cognito-idp:us-east-1:888888888888:userpool/your-user-pool-id-goes-here" } } } ] }

다음 정책 예제는 AWS Organizations에게 자격 증명 example.com에서 이메일을 전송할 수 있는 권한을 부여합니다. AWS Organization은 PrincipalOrgID 전역 조건 키를 사용하여 지정됩니다.

{ "Id":"ExampleAuthorizationPolicy", "Version":"2012-10-17", "Statement":[ { "Sid":"AuthorizeOrg", "Effect":"Allow", "Resource":"arn:aws:ses:us-east-1:888888888888:identity/example.com", "Principal":"*", "Action":[ "ses:SendEmail", "ses:SendRawEmail" ], "Condition":{ "StringEquals":{ "aws:PrincipalOrgID":"o-xxxxxxxxxxx" } } } ] }

"From" 주소 제한

확인된 도메인을 사용하면 위임 발신자만 지정된 이메일 주소에서 전송하도록 허용하는 정책을 생성할 수 있습니다. "From" 주소를 제한하려면 ses:FromAddress 키에서 조건을 설정합니다. 다음 정책은 AWS 계정 ID 123456789012가 자격 증명 example.com에서 이메일을 전송하도록 허용하지만 이메일 주소 sender@example.com만 사용하도록 한정합니다.

{ "Id":"ExamplePolicy", "Version":"2012-10-17", "Statement":[ { "Sid":"AuthorizeFromAddress", "Effect":"Allow", "Resource":"arn:aws:ses:us-east-1:888888888888:identity/example.com", "Principal":{ "AWS":[ "123456789012" ] }, "Action":[ "ses:SendEmail", "ses:SendRawEmail" ], "Condition":{ "StringEquals":{ "ses:FromAddress":"sender@example.com" } } } ] }

위임자가 이메일을 전송할 수 있는 시간 제한

위임 발신자가 특정 시간대 또는 특정 날짜 범위 내에서만 이메일을 전송할 수 있도록 발신자 권한 부여 정책을 구성할 수도 있습니다. 예를 들어 이메일 캠페인 전송이 2021년 9월 한 달 동안 예정되어 있는 경우 다음 정책을 사용하여 위임자가 해당 월에만 이메일을 전송할 수 있도록 제한할 수 있습니다.

{ "Id":"ExamplePolicy", "Version":"2012-10-17", "Statement":[ { "Sid":"ControlTimePeriod", "Effect":"Allow", "Resource":"arn:aws:ses:us-east-1:888888888888:identity/example.com", "Principal":{ "AWS":[ "123456789012" ] }, "Action":[ "ses:SendEmail", "ses:SendRawEmail" ], "Condition":{ "DateGreaterThan":{ "aws:CurrentTime":"2021-08-31T12:00Z" }, "DateLessThan":{ "aws:CurrentTime":"2021-10-01T12:00Z" } } } ] }

이메일 전송 작업 제한

발신자가 Amazon SES에서 이메일을 전송할 수 있는 작업은 발신자가 이메일의 형식을 어느 정도 제어하기를 원하는가에 따라 SendEmailSendRawEmail 두 가지가 있습니다. 전송 권한 부여 정책을 통해 위임 발신자가 두 작업 중 하나만 사용하도록 제한할 수 있습니다. 하지만 많은 자격 증명 소유자는 이메일 전송 호출의 세부 정보를 위임 발신자가 선택할 수 있도록 정책에서 두 작업을 모두 활성화합니다.

참고

위임 발신자가 SMTP 인터페이스를 통해 Amazon SES에 액세스하도록 허용하려면 최소한 SendRawEmail을(를) 선택해야 합니다.

작업을 제한하려는 사용 사례라면 전송 권한 부여 정책에 작업 중 하나만 포함시킵니다. 다음 예제는 작업을 SendRawEmail로 제한하는 방법을 보여줍니다.

{ "Id":"ExamplePolicy", "Version":"2012-10-17", "Statement":[ { "Sid":"ControlAction", "Effect":"Allow", "Resource":"arn:aws:ses:us-east-1:888888888888:identity/example.com", "Principal":{ "AWS":[ "123456789012" ] }, "Action":[ "ses:SendRawEmail" ] } ] }

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

일부 이메일 클라이언트는 실제 "From" 주소가 아니라 이메일 발신자의 "대화명" 이름을 표시합니다(이메일 헤더가 제공하는 경우). 예를 들어 "John Doe <johndoe@example.com>"의 표시 이름은 John Doe입니다. 예를 들어, user@example.com에서 이메일을 보낼 수 있지만 수신자에게 user@example.com이 아니라 Marketing에서 발송된 것으로 보여지기를 원합니다. 다음 정책은 AWS 계정 ID 123456789012가 자격 증명 example.com에서 이메일을 전송하도록 허용하지만 "발신" 주소의 표시 이름에 Marketing이 포함되도록 한정합니다.

{ "Id":"ExamplePolicy", "Version":"2012-10-17", "Statement":[ { "Sid":"AuthorizeFromAddress", "Effect":"Allow", "Resource":"arn:aws:ses:us-east-1:888888888888:identity/example.com", "Principal":{ "AWS":[ "123456789012" ] }, "Action":[ "ses:SendEmail", "ses:SendRawEmail" ], "Condition":{ "StringLike":{ "ses:FromDisplayName":"Marketing" } } } ] }

복수의 설명문 사용

전송 권한 부여 정책에는 여러 문이 포함될 수 있습니다. 다음의 정책 예제에는 문이 2개입니다. 첫 번째 설명문은 “From” 주소와 피드백 주소가 모두 example.com 도메인을 사용하는 한 두 개의 AWS 계정이 sender@example.com에서 전송하도록 권한을 부여합니다. 두 번째 설명문은 수신자의 이메일 주소가 example.com 도메인에 속하는한 IAM 사용자가 sender@example.com에서 이메일을 전송하도록 권한을 부여합니다.

{ "Version":"2012-10-17", "Statement":[ { "Sid":"AuthorizeAWS", "Effect":"Allow", "Resource":"arn:aws:ses:us-east-1:999999999999:identity/sender@example.com", "Principal":{ "AWS":[ "111111111111", "222222222222" ] }, "Action":[ "ses:SendEmail", "ses:SendRawEmail" ], "Condition":{ "StringLike":{ "ses:FromAddress":"*@example.com", "ses:FeedbackAddress":"*@example.com" } } }, { "Sid":"AuthorizeInternal", "Effect":"Allow", "Resource":"arn:aws:ses:us-east-1:999999999999:identity/sender@example.com", "Principal":{ "AWS":"arn:aws:iam::333333333333:user/Jane" }, "Action":[ "ses:SendEmail", "ses:SendRawEmail" ], "Condition":{ "ForAllValues:StringLike":{ "ses:Recipients":"*@example.com" } } } ] }