

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

# Amazon SNS API 권한: 작업 및 리소스 참조
<a name="sns-access-policy-language-api-permissions-reference"></a>

다음 목록은 액세스 제어의 Amazon SNS 구현에 대한 정보를 제공합니다.
+ 각각의 정책은 하나의 주제에만 적용(규제 작성 시 다른 주제에 적용하는 문구를 포함하지 마세요)해야 합니다.
+ 각각의 정책에는 고유한 규제가 있어야 합니다. `Id` 
+ 정책의 각 문구에는 고유한 문구가 있어야 합니다. `sid` 

## 정책 할당량
<a name="sns-policy-quotas"></a>

다음 표에는 정책 정보에 대한 최대 할당량이 나열되어 있습니다.


| 이름 | 최대 할당량 | 
| --- | --- | 
|  바이트  |  30kb  | 
|  Statement  |  100  | 
|  Principal  |  1\$1200(0은 유효하지 않음)  | 
|  Resource  |  1(0은 유효하지 않습니다. 값은 정책 주제의 ARN과 일치해야 합니다)  | 

## 유효한 Amazon SNS 정책 작업
<a name="sns-valid-policy-actions"></a>

Amazon SNS는 다음의 표에 표시된 작업을 지원합니다.


| 작업 | 설명 | 
| --- | --- | 
| sns:AddPermission | 주제 정책에 권한을 추가할 권한을 부여합니다. | 
| sns:DeleteTopic | 주제를 삭제할 권한을 부여합니다. | 
| sns:GetDataProtectionPolicy | 주제의 데이터 보호 정책을 검색할 수 있는 권한을 부여합니다. | 
| sns:GetTopicAttributes  | 모든 주제 속성을 수신할 권한을 부여합니다. | 
| sns:ListSubscriptionsByTopic | 특정 주제에 대한 모든 구독을 검색할 권한을 부여합니다. | 
| sns:ListTagsForResource | 지정된 주제에 추가된 모든 태그를 나열할 수 있는 권한을 부여합니다. | 
| sns:Publish  | 주제 또는 엔드포인트에 게시 및 배치 게시 모두에 대한 권한을 부여합니다. 자세한 정보는 Amazon Simple Notification Service API 참조의 [Publish](https://docs.aws.amazon.com/sns/latest/api/API_Publish.html) 및 [PublishBatch](https://docs.aws.amazon.com/sns/latest/api/API_BatchPublish.html)를 참조하세요. | 
| sns:PutDataProtectionPolicy | 주제의 데이터 보호 정책을 설정할 수 있는 권한을 부여합니다. | 
| sns:RemovePermission  | 주제 정책에서 모든 권한을 제거할 권한을 부여합니다. | 
| sns:SetTopicAttributes  | 주제의 속성을 설정할 권한을 부여합니다. | 
| sns:Subscribe  | 주제를 구독할 권한을 부여합니다. | 

## 서비스별 키
<a name="sns-service-specific-keys"></a>

Amazon SNS는 다음과 같은 서비스별 키를 사용합니다. `Subscribe` 요청에 대한 액세스를 제한하는 정책에서 이러한 키를 사용할 수 있습니다.
+ **sns:endpoint—** `Subscribe` 요청 또는 이전에 확인된 구독의 URL, 이메일 주소 또는 ARN입니다. 특정 엔드포인트(예: \$1@example.com)에 대한 액세스를 제한하려면 문자열 조건과 함께 사용합니다([Amazon SNS에 대한 정책 예제](sns-using-identity-based-policies.md#sns-example-policies) 참조).
+ **sns:protocol—** `Subscribe` 요청 또는 이전에 확인한 구독의 `protocol` 값입니다. 특정 전송 프로토콜(예: https)에 대한 게시를 제한하려면 문자열 조건과 함께 사용합니다([Amazon SNS에 대한 정책 예제](sns-using-identity-based-policies.md#sns-example-policies) 참조).

**중요**  
sns:Endpoint로 액세스를 규제하는 정책 사용 시 DNS 문제가 향후 엔드포인트 이름 확인에 영향을 미칠 수 있습니다.

# Amazon Simple Notification Service ID 및 액세스 문제 해결
<a name="security_iam_troubleshoot"></a>

다음 정보를 사용하여 Amazon SNS 및 IAM으로 작업할 때 발생할 수 있는 일반적인 문제를 진단하고 수정할 수 있습니다.

## Amazon SNS에서 작업을 수행할 권한이 없음
<a name="security_iam_troubleshoot-no-permissions"></a>

작업을 수행할 수 있는 권한이 없다는 오류가 수신되면 작업을 수행할 수 있도록 정책을 업데이트해야 합니다.

다음 예제 오류는 `mateojackson` 사용자가 콘솔을 사용하여 가상 `my-example-widget` 리소스에 대한 세부 정보를 보려고 하지만 가상 `sns:GetWidget` 권한이 없을 때 발생합니다.

```
User: arn:aws:iam::123456789012:user/mateojackson is not authorized to perform: sns:GetWidget on resource: my-example-widget
```

이 경우 Mateo의 정책은 `sns:GetWidget` 작업을 사용하여 `my-example-widget` 리소스에 액세스하도록 허용하도록 업데이트해야 합니다.

도움이 필요한 경우 AWS 관리자에게 문의하세요. 관리자는 로그인 자격 증명을 제공한 사람입니다.

## iam:PassRole을 수행하도록 인증되지 않음
<a name="security_iam_troubleshoot-passrole"></a>

`iam:PassRole` 작업을 수행할 수 있는 권한이 없다는 오류가 수신되면 Amazon SNS에 역할을 전달할 수 있도록 정책을 업데이트해야 합니다.

일부 AWS 서비스 에서는 새 서비스 역할 또는 서비스 연결 역할을 생성하는 대신 기존 역할을 해당 서비스에 전달할 수 있습니다. 이렇게 하려면 역할을 서비스에 전달할 권한이 있어야 합니다.

다음 예제 오류는 `marymajor`라는 IAM 사용자가 콘솔을 사용하여 Amazon SNS에서 태스크를 수행하려고 하는 경우에 발생합니다. 하지만 작업을 수행하려면 서비스 역할이 부여한 권한이 서비스에 있어야 합니다. Mary는 서비스에 역할을 전달할 권한이 없습니다.

```
User: arn:aws:iam::123456789012:user/marymajor is not authorized to perform: iam:PassRole
```

이 경우, Mary가 `iam:PassRole`작업을 수행할 수 있도록 Mary의 정책을 업데이트해야 합니다.

도움이 필요한 경우 AWS 관리자에게 문의하세요. 관리자는 로그인 자격 증명을 제공한 사람입니다.

## 내 외부의 사람이 내 Amazon SNS 리소스 AWS 계정 에 액세스하도록 허용하고 싶습니다.
<a name="security_iam_troubleshoot-cross-account-access"></a>

다른 계정의 사용자 또는 조직 외부의 사람이 리소스에 액세스할 때 사용할 수 있는 역할을 생성할 수 있습니다. 역할을 수임할 신뢰할 수 있는 사람을 지정할 수 있습니다. 리소스 기반 정책 또는 액세스 제어 목록(ACL)을 지원하는 서비스의 경우, 이러한 정책을 사용하여 다른 사람에게 리소스에 대한 액세스 권한을 부여할 수 있습니다.

자세한 내용은 다음을 참조하세요.
+ Amazon SNS에서 이러한 기능을 지원하는지 여부를 알아보려면 [Amazon SNS에서 IAM을 사용하는 방법](security_iam_service-with-iam.md) 섹션을 참조하세요.
+ 소유 AWS 계정 한의 리소스에 대한 액세스 권한을 제공하는 방법을 알아보려면 [IAM 사용 설명서의 소유한 다른의 IAM 사용자에게 액세스 권한 제공을 참조 AWS 계정 하세요](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_common-scenarios_aws-accounts.html). ** 
+ 타사에 리소스에 대한 액세스 권한을 제공하는 방법을 알아보려면 *IAM 사용 설명서*의 [타사가 AWS 계정 소유한에 대한 액세스 권한 제공을](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_common-scenarios_third-party.html) AWS 계정참조하세요.
+ ID 페더레이션을 통해 액세스 권한을 제공하는 방법을 알아보려면 *IAM 사용 설명서*의 [외부에서 인증된 사용자에게 액세스 권한 제공(ID 페더레이션)](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_common-scenarios_federated-users.html)을 참조하세요.
+ 크로스 계정 액세스에 대한 역할과 리소스 기반 정책 사용의 차이점을 알아보려면 *IAM 사용 설명서*의 [IAM의 크로스 계정 리소스 액세스](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies-cross-account-resource-access.html)를 참조하세요.