기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.
SESAmazon에 이메일 수신 권한 부여
Amazon Simple Storage Service (Amazon S3) 버킷으로 이메일을 보내거나 함수를 호출하는 등 이메일을 수신할 때 수행할 수 AWS Lambda 있는 일부 작업에는 특별한 권한이 필요합니다. SES 이 단원에서는 일반 사용 사례에 대한 정책 예제를 보여줍니다.
이 단원의 주제:
Delivery to S3 버킷 작업에 대한 IAM 역할 권한 설정
이 IAM 역할에는 다음과 같은 사항이 적용됩니다.
-
용도로만 사용할 수 S3 버킷으로 전송 작업 있습니다.
-
사용할 수 SES 이메일 수신 없는 지역에 있는 S3 버킷에 쓰려는 경우 사용해야 합니다.
S3 버킷에 쓰려는 경우 관련 리소스에 액세스할 수 있는 권한이 있는 IAM 역할을 제공할 수 S3 버킷으로 전송 작업 있습니다. 또한 다음 섹션에 설명된 것처럼 IAM 신뢰 정책을 통해 작업을 수행하려면 해당 역할을 수임할 SES 권한을 부여해야 합니다.
이 권한 정책은 IAM 역할의 인라인 정책 편집기에 붙여넣어야 합니다. 역할 항목에 나와 있는 단계를 S3 버킷으로 전송 작업 참조하고 따르십시오. IAM (다음 예에는 S3 작업에서 SNS 주제 알림 또는 고객 관리 키를 사용하려는 경우를 위한 선택적 권한도 포함되어 있습니다.)
{ "Version": "2012-10-17", "Statement": [ // Required: allows SES to write in the bucket { "Sid": "S3Access", "Effect": "Allow", "Action": "s3:PutObject", "Resource": "arn:aws:s3:::
my-bucket
/*" }, // Optional: use if an SNS topic is used in the S3 action { "Sid": "SNSAccess", "Effect": "Allow", "Action": "sns:Publish", "Resource": "arn:aws:sns:region
:111122223333
:my-topic
" }, // Optional: use if a customer managed key is used in the S3 action { "Sid": "KMSAccess", "Effect": "Allow", "Action": "kms:GenerateDataKey*", "Resource": "arn:aws:kms:region
::111122223333
:key/key-id
" } ] }
이전 정책 예제에서 다음과 같이 변경합니다.
-
Replace
my-bucket
기록하려는 S3 버킷의 이름과 함께. -
Replace
region
수신 규칙을 생성한 AWS 리전 위치와 함께 -
Replace
111122223333
AWS 계정 ID로 -
Replace
my-topic
알림을 게시하려는 SNS 주제의 이름을 포함하세요. -
Replace
key-id
KMS키 ID와 함께
S3 작업 IAM 역할에 대한 신뢰 정책
해당 역할을 맡을 수 있도록 SES 하려면 IAM 역할의 신뢰 관계에 다음과 같은 신뢰 정책을 추가해야 합니다.
참고
S3 버킷으로 전송 작업워크플로의 역할 항목에 제공된 단계를 사용하여 SES 콘솔에서 IAM 역할을 만들지 않은 경우에만 이 신뢰 정책을 수동으로 추가해야 합니다. IAM 콘솔에서 IAM 역할을 만들면 이 신뢰 정책이 자동으로 생성되어 해당 역할에 적용되므로 이 단계가 필요하지 않습니다.
{ "Version": "2012-10-17", "Statement": [ { "Sid": "AllowSESAssume", "Effect": "Allow", "Principal": { "Service": "ses.amazonaws.com" }, "Action": "sts:AssumeRole", "Condition": { "StringEquals": { "AWS:SourceAccount":"
111122223333
", "AWS:SourceArn": "arn:aws:ses:region
:111122223333
:receipt-rule-set/rule_set_name
:receipt-rule/receipt_rule_name
" } } } ] }
이전 정책 예제에서 다음과 같이 변경합니다.
-
Replace
region
수신 규칙을 생성한 AWS 리전 위치를 사용합니다. -
Replace
111122223333
AWS 계정 ID로 -
Replace
rule_set_name
Amazon S3로 전송 버킷으로 전송 작업이 포함된 수신 규칙이 포함된 규칙 세트의 이름을 사용합니다. -
Replace
receipt_rule_name
Amazon S3로 전송 버킷으로 전송 작업이 포함된 수신 규칙의 이름을 사용합니다.
S3 버킷에 쓸 수 있는 SES 권한을 부여하십시오.
다음 정책을 S3 버킷에 적용하면 이메일 수신이 가능한 지역에 버킷이 있는 한 해당 버킷에 쓸 수 있는 SES 권한이 부여됩니다. SES 이메일 수신 지역 외부의 버킷에 쓰려면 을 참조하십시오. Delivery to S3 버킷 작업에 대한 IAM 역할 권한 설정 Amazon S3로 수신 이메일을 전송하는 수신 규칙을 생성하는 방법에 대한 자세한 내용은 S3 버킷으로 전송 작업 단원을 참조하십시오.
S3의 버킷 정책에 대한 자세한 내용은 Amazon Simple Storage Service 사용 설명서의 버킷 정책 및 사용자 정책 사용을 참조하십시오.
{ "Version":"2012-10-17", "Statement":[ { "Sid":"AllowSESPuts", "Effect":"Allow", "Principal":{ "Service":"ses.amazonaws.com" }, "Action":"s3:PutObject", "Resource":"arn:aws:s3:::
myBucket
/*", "Condition":{ "StringEquals":{ "AWS:SourceAccount":"111122223333
", "AWS:SourceArn": "arn:aws:ses:region
:111122223333
:receipt-rule-set/rule_set_name
:receipt-rule/receipt_rule_name
" } } } ] }
이전 정책 예제에서 다음과 같이 변경합니다.
-
Replace
myBucket
기록하려는 S3 버킷의 이름과 함께. -
Replace
region
수신 규칙을 생성한 AWS 지역과 함께 -
Replace
111122223333
AWS 계정 ID로 -
Replace
rule_set_name
Amazon S3로 전송 버킷으로 전송 작업이 포함된 수신 규칙이 포함된 규칙 세트의 이름을 사용합니다. -
Replace
receipt_rule_name
Amazon S3로 전송 버킷으로 전송 작업이 포함된 수신 규칙의 이름을 사용합니다.
AWS KMS 키 SES 사용 권한을 부여하십시오.
이메일을 SES 암호화하려면 수신 규칙을 설정할 때 지정한 AWS KMS 키를 사용할 권한이 있어야 합니다. 계정의 기본 KMS 키 (aws/ses) 를 사용하거나 직접 생성한 고객 관리 키를 사용할 수 있습니다. 기본 KMS 키를 사용하는 경우 사용 SES 권한을 부여하기 위해 추가 단계를 수행할 필요가 없습니다. 고객 관리 키를 사용하는 경우 키 정책에 설명을 추가하여 사용 SES 권한을 부여해야 합니다.
다음 정책 설명을 키 정책으로 사용하여 도메인에서 이메일을 수신할 때 고객 관리 키를 사용할 수 있도록 SES 허용하십시오.
{ "Sid": "AllowSESToEncryptMessagesBelongingToThisAccount", "Effect": "Allow", "Principal": { "Service":"ses.amazonaws.com" }, "Action": [ "kms:GenerateDataKey*" ], "Resource": "*", "Condition":{ "StringEquals":{ "AWS:SourceAccount":"
111122223333
", "AWS:SourceArn": "arn:aws:ses:region
:111122223333
:receipt-rule-set/rule_set_name
:receipt-rule/receipt_rule_name
" } } }
이전 정책 예제에서 다음과 같이 변경합니다.
-
Replace
region
수신 규칙을 생성한 AWS 지역과 함께 -
Replace
111122223333
AWS 계정 ID로 -
Replace
rule_set_name
이메일 수신과 연계한 수신 규칙이 포함된 규칙 세트의 이름을 입력하세요. -
Replace
receipt_rule_name
이메일 수신과 연계한 수신 규칙의 이름을 포함합니다.
서버 측 암호화가 활성화된 상태에서 암호화된 메시지를 S3 버킷으로 보내는 AWS KMS 데 사용하는 경우 정책 작업 을 추가해야 합니다. "kms:Decrypt"
앞의 예를 다시 사용하여 이 작업을 정책에 추가하면 다음과 같이 표시됩니다.
{ "Sid": "AllowSESToEncryptMessagesBelongingToThisAccount", "Effect": "Allow", "Principal": { "Service":"ses.amazonaws.com" }, "Action": [ "kms:Decrypt", "kms:GenerateDataKey*" ], "Resource": "*", "Condition":{ "StringEquals":{ "AWS:SourceAccount":"
111122223333
", "AWS:SourceArn": "arn:aws:ses:region
:111122223333
:receipt-rule-set/rule_set_name
:receipt-rule/receipt_rule_name
" } } }
AWS KMS 키에 정책을 연결하는 방법에 대한 자세한 내용은 개발자 안내서의 키 정책 사용을 참조하십시오. AWS KMSAWS Key Management Service
함수를 호출할 수 있는 SES 권한을 부여하십시오. AWS Lambda
AWS Lambda 함수를 호출할 수 있게 SES 하려면 SES 콘솔에서 수신 규칙을 생성할 때 함수를 선택하면 됩니다. 그러면 함수에 필요한 권한이 SES 자동으로 추가됩니다.
또는 의 AddPermission
작업을 사용하여 함수에 정책을 AWS Lambda
API 연결할 수도 있습니다. 다음 호출은 Lambda 함수를 호출할 수 있는 SES 권한을 AddPermission
API 부여합니다. Lambda 함수에 정책을 연결하는 방법에 대한 자세한 내용은 AWS Lambda 개발자 가이드의 AWS Lambda
권한을 참조하십시오.
{ "Action": "lambda:InvokeFunction", "Principal": "ses.amazonaws.com", "SourceAccount": "
111122223333
", "SourceArn": "arn:aws:ses:region
:111122223333
:receipt-rule-set/rule_set_name
:receipt-rule/receipt_rule_name
" "StatementId": "GiveSESPermissionToInvokeFunction" }
이전 정책 예제에서 다음과 같이 변경합니다.
-
Replace
region
수신 규칙을 생성한 AWS 리전과 함께 -
Replace
111122223333
AWS 계정 ID로 -
Replace
rule_set_name
Lambda 함수를 생성한 수신 규칙을 포함하는 규칙 세트의 이름을 사용합니다. -
Replace
receipt_rule_name
Lambda 함수를 포함하는 수신 규칙의 이름을 포함합니다.
다른 AWS 계정에 속한 Amazon SNS 주제에 게시할 수 있는 SES 권한 부여
별도의 AWS 계정에서 주제에 알림을 게시하려면 Amazon SNS 주제에 정책을 연결해야 합니다. SNS주제는 도메인 및 수신 규칙 세트와 동일한 지역에 있어야 합니다.
다음 정책은 Amazon SNS 주제를 별도의 AWS 계정으로 게시할 수 있는 SES 권한을 부여합니다.
{ "Version":"2012-10-17", "Statement":[ { "Effect":"Allow", "Principal":{ "Service":"ses.amazonaws.com" }, "Action":"SNS:Publish", "Resource":"arn:aws:sns:
topic_region
:sns_topic_account_id
:topic_name
", "Condition":{ "StringEquals":{ "AWS:SourceAccount":"aws_account_id
", "AWS:SourceArn": "arn:aws:ses:receipt_region
:aws_account_id
:receipt-rule-set/rule_set_name
:receipt-rule/receipt_rule_name
" } } } ] }
이전 정책 예제에서 다음과 같이 변경합니다.
-
Replace
topic_region
Amazon SNS 주제가 생성된 AWS 리전 것을 사용해서 말이죠. -
Replace
sns_topic_account_id
Amazon SNS 주제를 소유한 AWS 계정의 ID와 함께 -
Replace
topic_name
알림을 게시하려는 Amazon SNS 주제의 이름을 입력합니다. -
Replace
aws_account_id
이메일을 수신하도록 구성된 AWS 계정의 ID와 함께 -
Replace
receipt_region
수신 규칙을 생성한 AWS 리전 위치와 함께 -
Replace
rule_set_name
Amazon에 게시 SNS 주제 작업을 생성한 수신 규칙이 포함된 규칙 세트의 이름을 입력합니다. -
Replace
receipt_rule_name
Amazon에 게시 SNS 주제 작업이 포함된 수신 규칙의 이름과 함께
Amazon SNS 주제에서 서버 측 암호화를 사용하는 AWS KMS 경우 AWS KMS 키 정책에 권한을 추가해야 합니다. 키 정책에 다음 정책을 추가하여 권한을 추가할 수 있습니다. AWS KMS
{ "Version": "2012-10-17", "Statement": [ { "Sid": "AllowSESToUseKMSKey", "Effect": "Allow", "Principal": { "Service": "ses.amazonaws.com" }, "Action": [ "kms:GenerateDataKey", "kms:Decrypt" ], "Resource": "*" } ] }