ID 기반 정책 사용 Amazon SNS - Amazon Simple Notification Service

문서의 영문과 번역 사이에 충돌이 있는 경우에는 영문 버전을 따릅니다. 번역 버전은 기계 번역을 사용하여 제공합니다.

ID 기반 정책 사용 Amazon SNS

Amazon Simple Notification Service 와(과) 통합 AWS Identity and Access Management (IAM)를 사용하여 Amazon SNS AWS 계정의 사용자가 수행할 수 있는 작업 Amazon SNS 리소스. 다음을 지정할 수 있습니다. 정책의 특정 주제. 예를 들어, 만들 때 변수를 사용할 수 있습니다. 조직의 특정 사용자에게 Publish AWS 계정의 특정 항목이 있는 작업. 추가 정보 정보, 참조 정책 변수 에서 IAM 사용 가이드.

중요

사용 Amazon SNS 및 IAM 사용 방법을 바꾸지 않습니다 Amazon SNS. 변경 사항이 없습니다. ~까지 Amazon SNS 새로운 Amazon SNS 사용자 및 액세스와 관련된 작업 컨트롤.

다음을 포함하는 정책의 예는 Amazon SNS 작업 및 리소스, 참조 예제 정책 Amazon SNS.

IAM 및 Amazon SNS 정책 통합

귀하는 IAM 정책을 사용하여 사용자의 액세스를 다음으로 제한 Amazon SNS 조치 및 주제. 안 IAM 정책은 AWS 내의 사용자로만 액세스를 제한할 수 있습니다. 계정, 다른 AWS 계정 에 대한 것이 아닙니다.

귀하는 Amazon SNS 특정 항목이 포함된 정책을 사용하여 작업 가능 대상을 제한할 수 있습니다. 해당 주제(예: 메시지를 게시할 수 있는 사람, 메시지를 구독할 수 있는 사람, 등). Amazon SNS 다른 AWS 계정 또는 자신의 AWS 계정.

사용자 권한을 부여하려면 Amazon SNS 주제, 사용 가능 IAM 정책, Amazon SNS 정책 또는 둘 다 대부분의 경우, 동일한 결과를 얻을 수 있습니다. 개 결과 중 하나. 예를 들어 다음 다이어그램은 IAM 정책 및 와 Amazon SNS 동등한 정책을 의미합니다. IAM 정책은 Amazon SNS Subscribe AWS에서 entice_xyz라는 주제에 대한 작업 계정. IAM 정책은 사용자 Bob과 Susan에 첨부됩니다. 즉, Bob과 Susan은 정책에 명시된 권한을 가지고 있습니다.) 더 Amazon SNS 정책 마찬가지로 Bob과 Susan에게 Subscribe 에 대해 항목_xyz.


            동등한 IAM 및 Amazon SNS 정책
참고

앞의 예에서는 조건이 없는 간단한 정책을 보여 줍니다. 여러분은 두 정책에서 특정 조건을 지정하고 결과.

AWS IAM과 Amazon SNS 정책: 더 Amazon SNS 정책 다른 AWS 계정에 권한을 부여할 수 있는 반면, IAM 정책 은(는) 이(가) 아닙니다.

두 시스템을 함께 사용하여 권한, 사용자의 필요에 따라 다음 예는 두 정책이 어떻게 시스템이 함께 작동합니다.

예 1

이 예에서는 IAM 정책 및 Amazon SNS 정책이 Bob 에 적용됩니다. 더 IAM 정책에서 그에게 다음에 대한 권한을 부여합니다. Subscribe 다음 중 하나에 AWS 계정의 주제는 Amazon SNS 정책에서 허락하는 경우 사용 Publish 특정 주제(topic_xyz)에 대한 정보입니다. 다음 다이어그램은 개념을 보여줍니다.


              IAM 및 Amazon SNS Bob을 위한 정책

Bob이 AWS의 특정 주제에 대한 구독 요청을 보내는 경우 계정, IAM 정책이 동작을 허용합니다. 밥이 메시지 게시 요청_xyz, Amazon SNS 정책을 통해 작업.

예 2

이 예에서는 예제 1을 기반으로 합니다. Bob은 적용). Bob이 메시지를 화제_xyz에 게시한다고 가정해 보겠습니다. 은(는) 이(가) 없어야 하므로, 에 게시하는 그의 능력을 완전히 제거하고자 합니다. 주제. 가장 쉬운 방법은 IAM 그를 거절하는 정책 에 대한 액세스 Publish 모든 항목에 대한 작업. 이 세 번째 정책은 이(가) Amazon SNS 원래 게시 권한을 부여한 정책 enticate_xyz, 명시적 거부가 항상 허용보다 우선하므로(자세한 내용은 정책 평가 로직에 대한 정보는 다음을 참조하십시오. 평가 로직). 다음 다이어그램은 개념을 보여줍니다.


              "거부" 정책은 Amazon SNS 정책

다음을 포함하는 정책의 예는 Amazon SNS 작업 및 리소스, 참조 예제 정책 Amazon SNS. 대상 쓰기에 대한 자세한 정보 Amazon SNS 정책을 보려면 기술 문서 Amazon SNS.

Amazon SNS 리소스 ARN 형식

대상 Amazon SNS항목은 정책에서 지정할 수 있는 유일한 리소스 유형입니다. 다음은 주제에 대한 Amazon 리소스 이름(ARN) 형식입니다.

arn:aws:sns:region:account_ID:topic_name

ARN에 대한 자세한 내용은 ARN 에서 IAM 사용 설명서.

다음은 us-east-2 AWS 계정에 속하는 지역 123456789012.

arn:aws:sns:us-east-2:123456789012:MyTopic

각 지역에서 MyTopic이라는 주제가 있는 경우 Amazon SNS 에서는 다음 ARN 을 사용하여 항목을 지정할 수 있습니다.

arn:aws:sns:*:123456789012:MyTopic

항목 이름에 * 및 ? 와일드카드를 사용할 수 있습니다. 예를 들어, Bob이 만든 주제 중 접두사가 붙은 모든 주제를 참조할 수 있습니다. bob_.

arn:aws:sns:*:123456789012:bob_*

편의상, 주제를 만들 때, Amazon SNS 주제의 ARN을 입력합니다.

Amazon SNS API 작업

에서 IAM 정책에 따라 Amazon SNS 행사. 그러나, 을 ConfirmSubscriptionUnsubscribe 동작이 인증이 필요합니다. 즉, 정책, IAM 은(는) 이러한 작업에 대한 사용자의 액세스를 제한하지 않습니다.

정책에서 지정하는 각 작업에는 소문자 문자열이 접두사로 있어야 합니다. sns:. 모두 지정 Amazon SNS 예를 들어, sns:*. 작업 목록을 보려면 Amazon Simple Notification Service API Reference.

Amazon SNS 정책 키

Amazon SNS 다음 AWS 전체 정책 키를 구현하고, 서비스별 키.

각 AWS 제품이 지원하는 조건 키 목록은 IAM 사용 설명서AWS 제품에 대한 작업, 리소스 및 조건 키를 참조하십시오. 여러 AWS 제품에서 사용할 수 있는 조건 키 목록은 IAM 사용 설명서AWS 전역 조건 컨텍스트 키를 참조하십시오.

Amazon SNS 은(는) 을 참조하십시오. 액세스를 제한하는 정책에서 이 키 사용 ~까지 Subscribe 요청.

  • SNS:엔드포인트—URL, 이메일 ARN을 Subscribe 요청 또는 이전 개의 구독이 확인되었습니다. 문자열 조건과 함께 사용(참조: 예제 정책 Amazon SNS) 특정 끝점(예: *@yourcompany.com)을 참조하십시오.

  • sns:프로토콜—protocolSubscribe 요청 또는 이전에 확인된 서비스 이용권. 문자열 조건과 함께 사용(참조: 예제 정책 Amazon SNS(으)로 게시를 제한합니다. 특정 전달 프로토콜(예: https).

예제 정책 Amazon SNS

이 섹션에서는 다음에 대한 사용자 액세스를 제어하는 몇 가지 간단한 정책을 보여 줍니다. Amazon SNS.

참고

앞으로는 Amazon SNS 논리적으로 명시된 정책에 따라 다음 정책 중 하나에 포함됨 목표.

예 1: 그룹이 주제를 생성하고 관리하도록 허용

이 예에서는 에 대한 액세스 권한을 부여하는 정책을 만듭니다. CreateTopic, ListTopics, SetTopicAttributes, 및 DeleteTopic.

{ "Statement": [{ "Effect": "Allow", "Action": ["sns:CreateTopic", "sns:ListTopics", "sns:SetTopicAttributes", "sns:DeleteTopic"], "Resource": "*" }] }

예 2: IT 그룹이 특정 주제에 메시지를 게시하도록 허용

이 예에서는 IT 그룹을 생성하고 액세스 대상 Publish 특정 관심 주제에 대해.

{ "Statement": [{ "Effect": "Allow", "Action": "sns:Publish", "Resource": "arn:aws:sns:*:123456789012:MyTopic" }] }

예 3: AWS 계정 내 사용자에게 항목 구독 권한 부여

이 예제에서는 Subscribe동작, 문자열 일치 조건 포함 sns:Protocolsns:Endpoint 정책 키.

{ "Statement": [{ "Effect": "Allow", "Action": ["sns:Subscribe"], "Resource": "*", "Condition": { "StringLike": { "SNS:Endpoint": "*@example.com" }, "StringEquals": { "sns:Protocol": "email" } } }] }

예 4: 파트너가 특정 주제에 메시지를 게시하도록 허용

다음을 사용할 수 있습니다. Amazon SNS 정책 또는 IAM 정책을 사용하여 파트너가 특정 항목에 게시합니다. 파트너가 AWS 계정을 가지고 있다면 더 쉽게 사용할 수 있는 Amazon SNS 정책. 그러나 파트너의 회사에서 은(는) AWS 보안 자격 증명을 소유하여 메시지를 주제에 게시할 수 있습니다. 이 예제에서는 특정 사용자에 대한 액세스를 제한하고자 한다고 가정합니다. (또는 애플리케이션). 이렇게 하려면 파트너를 사용자처럼 취급해야 합니다. 회사 내에서 사용할 수 있으며, IAM 정책 대신 Amazon SNS 정책.

이 예제에서는 WidgetCo라는 그룹을 만듭니다. 파트너 회사, 특정 개인(또는 애플리케이션)에 대한 사용자 생성 액세스 권한이 필요한 파트너 회사에서 그룹.

그런 다음 그룹에 권한을 부여하는 정책을 첨부합니다. Publish 액세스 특정 주제에 대해 위젯파트너주제.

우리는 또한 WidgetCo 그룹이 다른 어떤 일을 하지 못하도록 따라서 우리는 Amazon SNS 조치 다음 외 Publish 를 참조하십시오. 이는 시스템의 다른 곳에 광범위한 정책이 있는 경우에만 필요합니다. 사용자에게 다양한 액세스 권한을 Amazon SNS.

{ "Statement": [{ "Effect": "Allow", "Action": "sns:Publish", "Resource": "arn:aws:sns:*:123456789012:WidgetPartnerTopic" }, { "Effect": "Deny", "NotAction": "sns:Publish", "NotResource": "arn:aws:sns:*:123456789012:WidgetPartnerTopic" } ] }