

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

# Amazon SES의 Identity and Access Management
<a name="control-user-access"></a>

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

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

IAM을 사용하려면 권한을 명시적으로 정의하는 문서인 IAM 정책을 정의하고 사용자에게 해당 정책을 연결합니다. IAM 정책을 생성하는 방법을 알아보려면 [IAM 사용 설명서](https://docs.aws.amazon.com/IAM/latest/UserGuide/policies_overview.html)를 참조하십시오. 정책에서 설정하는 제한 사항의 적용 외에는 사용자가 SES와 상호 작용하는 방법 또는 SES에서 요청을 수행하는 방법이 변경되지 않습니다.

**참고**  
계정이 SES 샌드박스에 있는 경우 해당 제한으로 인해 일부 정책을 구현하지 못합니다. [프로덕션 액세스 권한 요청](request-production-access.md) 단원을 참조하세요.
또한 전송 권한 부여 정책을 사용하여 SES에 대한 액세스를 제어할 수 있습니다. IAM 정책은 개별 사용자가 수행할 수 있는 작업을 제한하지만 전송 권한 부여 정책은 확인된 개별 ID를 사용할 수 있는 방법을 제한합니다. 또한 전송 권한 부여 정책만 교차 계정 액세스 권한을 부여할 수 있습니다. 권한 부여 전송에 대한 자세한 내용은 [Amazon SES에서 전송 권한 부여 사용](sending-authorization.md) 단원을 참조하세요.

기존 사용자의 SES SMTP 보안 인증 정보를 생성하는 방법에 대한 자세한 내용은 [Amazon SES SMTP 자격 증명 획득](smtp-credentials.md) 섹션을 참조하세요.

## SES에 액세스하기 위한 IAM 정책 생성
<a name="iam-and-ses"></a>

이 단원에서는 특히 SES에서 IAM 정책을 사용하는 방법을 설명합니다. 일반적으로 IAM 정책을 생성하는 방법을 알아보려면 [IAM 사용 설명서](https://docs.aws.amazon.com/IAM/latest/UserGuide/AccessPolicyLanguage_ElementDescriptions.html)를 참조하십시오.

다음 세 가지 이유로 SES에서 IAM을 사용할 수 있습니다.
+ 이메일 전송 작업을 제한하기 위해
+ 사용자가 전송하는 이메일의 "From", 수신자 및 "Return-Path" 주소를 제한하기 위해
+ 일반적인 API 사용을 제어하기 위해(예: 사용자가 사용 권한이 있는 API를 호출할 수 있는 시간)

### 작업 제한
<a name="iam-and-ses-restrict-action"></a>

사용자가 수행할 수 있는 SES 작업을 제어하려면 IAM 정책의 `Action` 요소를 사용합니다. API 이름에 소문자 문자열 `ses:`를 접두사로 추가하여 `Action` 요소를 모든 SES API 작업으로 설정할 수 있습니다. 예를 들어, `Action`을 (모든 작업에 대해) `ses:SendEmail`, `ses:GetSendStatistics` 또는 `ses:*`로 설정할 수 있습니다.

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

**`Action` 요소가 이메일 전송 API(즉 `ses:SendEmail` 및/또는 `ses:SendRawEmail`)에 대한 액세스만 허용하는 경우:**
+ 사용자가의 자격 증명에서 전송하도록 허용하려면 \*`Resource`로 AWS 계정설정합니다.
+ 사용자가 전송할 수 있는 자격 증명을 제한하려면 `Resource`를 사용자가 사용할 수 있도록 허용한 자격 증명의 ARN으로 설정합니다.

**`Action` 요소가 모든 API에 대한 액세스를 허용하는 경우:**
+ 사용자가 전송할 수 있는 자격 증명을 제한하지 않으려면 `Resource`를 \*로 설정합니다.
+ 사용자가 전송할 수 있는 자격 증명을 제한하려면 다음과 같은 두 가지 정책(또는 한 정책 안에 두 가지 문)을 만들어야 합니다.
  + 허용되는 비 이메일 전송 API의 명시적 목록으로 설정된 `Action`과 \*로 설정된 `Resource`가 포함된 정책
  + 이메일 전송 API(`ses:SendEmail` 및/또는 `ses:SendRawEmail`) 중 하나로 설정된 `Action`과 사용자가 사용할 수 있도록 허용한 자격 증명의 ARN으로 설정된 `Resource`가 포함된 정책

사용 가능한 SES 작업 목록은 [Amazon Simple Email Service API 참조](https://docs.aws.amazon.com/ses/latest/APIReference/)를 참조하세요. 사용자가 SMTP 인터페이스를 사용할 경우 `ses:SendRawEmail`에 대한 액세스를 최소로 허용해야 합니다.

### 이메일 주소 제한
<a name="iam-and-ses-restrict-addresses"></a>

특정 이메일 주소로 사용자를 제한하려면 `Condition` 블록을 사용하면 됩니다. `Condition` 블록에서 [IAM 사용 설명서](https://docs.aws.amazon.com/IAM/latest/UserGuide/AccessPolicyLanguage_ElementDescriptions.html#Condition)의 설명과 같이 조건 키를 사용하여 조건을 지정합니다. 조건 키를 사용하여 다음과 같은 이메일 주소를 제어할 수 있습니다.

**참고**  
이러한 이메일 주소 조건 키는 아래 표에 나와 있는 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 알림 수신](monitor-sending-activity-using-notifications-email.md) 단원을 참조하세요. | `SendEmail`, `SendRawEmail` | 
| `ses:MultiRegionEndpointId` | 이메일을 보낼 때 사용되는 엔드포인트 ID를 제어할 수 있습니다. | `SendEmail`, `SendBulkEmail` | 

### SES API 버전별 제한
<a name="iam-and-ses-restrict-api-version"></a>

`ses:ApiVersion` 조건 키를 사용하여 SES API 버전에 따라 SES에 대한 액세스를 제한할 수 있습니다.

**참고**  
SES SMTP 인터페이스는 `ses:SendRawEmail`의 SES API 버전 2를 사용합니다.

### 일반 API 사용 제한
<a name="iam-and-ses-restrict-API-usage"></a>

조건에서 AWS전체 키를 사용하면 사용자가 APIs. SES는 다음과 같은 AWS전체 정책 키만 구현합니다.
+ `aws:CurrentTime`
+ `aws:EpochTime`
+ `aws:SecureTransport`
+ `aws:SourceIp`
+ `aws:SourceVpc`
+ `aws:SourceVpce`
+ `aws:UserAgent`
+ `aws:VpcSourceIp`

이러한 키에 대한 자세한 내용은 [IAM 사용 설명서](https://docs.aws.amazon.com/IAM/latest/UserGuide/AccessPolicyLanguage_ElementDescriptions.html#Condition)를 참조하십시오.

## SES에 대한 예제 IAM 정책
<a name="iam-and-ses-examples"></a>

이 주제에서는 사용자의 SES에 대한 액세스를 특정 조건에서만 허용하는 정책 예를 다룹니다.

**Topics**
+ [모든 SES 작업에 대한 모든 액세스 허용](#iam-and-ses-examples-full-access)
+ [SES API 버전 2에 대한 액세스만 허용](#iam-and-ses-examples-access-specific-ses-api-version)
+ [이메일 전송 작업에 대한 액세스만 허용](#iam-and-ses-examples-email-sending-actions)
+ [전송 기간 제한](#iam-and-ses-examples-time-period)
+ [수신자 주소 제한](#iam-and-ses-examples-recipients)
+ ["From" 주소 제한](#iam-and-ses-examples-from-address)
+ [이메일 발신자의 표시 이름 제한](#iam-and-ses-examples-display-name)
+ [반송 메일 및 수신 거부 피드백 대상 제한](#iam-and-ses-examples-feedback)

### 모든 SES 작업에 대한 모든 액세스 허용
<a name="iam-and-ses-examples-full-access"></a>

다음 정책은 사용자가 모든 SES 작업을 호출할 수 있도록 허용합니다.

------
#### [ JSON ]

****  

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

------

### SES API 버전 2에 대한 액세스만 허용
<a name="iam-and-ses-examples-access-specific-ses-api-version"></a>

다음 정책은 사용자가 API 버전 2의 SES 작업만 호출할 수 있도록 허용합니다.

------
#### [ JSON ]

****  

```
{
  		                 "Version":"2012-10-17",		 	 	 
  		                 "Statement":[
  		                     {
  		                         "Effect":"Allow",
  		                         "Action":[
  		                         "ses:*"
  		                         ],
  		                         "Resource":"*",
  		                         "Condition": {
  		                             "StringEquals" : {
  		                             "ses:ApiVersion" : "2"
  		                             }
  		                         }
  		                     }
  		                 ]
  		             }
```

------

### 이메일 전송 작업에 대한 액세스만 허용
<a name="iam-and-ses-examples-email-sending-actions"></a>

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

------
#### [ JSON ]

****  

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

------

### 전송 기간 제한
<a name="iam-and-ses-examples-time-period"></a>

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

------
#### [ JSON ]

****  

```
{
  "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"
        }
      }
    }
  ]
}
```

------

### 수신자 주소 제한
<a name="iam-and-ses-examples-recipients"></a>

다음 정책은 사용자가 SES 이메일 전송 API를 호출하도록 허용하지만 *example.com* 도메인(`StringLike`는 *대소문자 구분*)의 수신자 주소에만 호출하도록 허용합니다.

------
#### [ JSON ]

****  

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

------

### "From" 주소 제한
<a name="iam-and-ses-examples-from-address"></a>

다음 정책은 사용자가 SES 이메일 전송 API를 호출하도록 허용하지만 "From" 주소가 *marketing@example.com*인 경우에만 적용됩니다.

------
#### [ JSON ]

****  

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

------

다음 정책은 사용자가 [SendBounce](https://docs.aws.amazon.com/ses/latest/APIReference/API_SendBounce.html) API를 호출하도록 허용하지만 "From" 주소가 *bounce@example.com인* 경우에만 적용됩니다.

------
#### [ JSON ]

****  

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

------

### 이메일 발신자의 표시 이름 제한
<a name="iam-and-ses-examples-display-name"></a>

다음 정책은 사용자가 SES 이메일 전송 API를 호출하도록 허용하지만 "From" 주소의 표시 이름에 *Marketing*(`StringLike`는 *대소문자 구분)*이 포함된 경우에만 적용됩니다.

------
#### [ JSON ]

****  

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

------

### 반송 메일 및 수신 거부 피드백 대상 제한
<a name="iam-and-ses-examples-feedback"></a>

다음 정책은 사용자가 SES 이메일 전송 API를 호출하도록 허용하지만 이메일의 "Return-Path"가 *feedback@example.com으*로 설정된 경우에만 적용됩니다.

------
#### [ JSON ]

****  

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

------