조직의 AWS 계정이 내 계정의 Amazon SNS 주제에 메시지를 게시하도록 허용하려면 어떻게 해야 합니까?

최종 업데이트 날짜: 2021년 9월 20일

Amazon Simple Notification Service(Amazon SNS) 주제가 AWS Organizations의 조직 내 모든 AWS 계정으로부터 메시지를 수락하도록 하고 싶습니다. 어떻게 설정해야 합니까?

간략한 설명

조직의 모든 계정이 주제에 메시지를 게시할 수 있도록 Amazon SNS 주제의 액세스 정책을 구성합니다. 액세스 정책에서 전역 조건 키 aws:PrincipalOrgID를 포함하고 조직의 ID를 지정합니다.

해결 방법

1.    Organizations 콘솔에서 조직의 ID를 찾습니다. 자세한 내용은 관리 계정에서 조직 세부 정보 보기를 참조하십시오.

2.    Amazon SNS 콘솔에서 주제를 생성합니다. 새로운 주제의 Amazon 리소스 이름(ARN)을 기록해둡니다.

3.    Amazon SNS 콘솔에서 다음을 수행하여 주제를 편집합니다.
탐색 창에서 주제를 선택합니다.
생성한 주제를 선택합니다. 그런 다음 편집(Edit)을 선택합니다.
<topicName> 편집 페이지에서 액세스 정책(선택 사항)을 확장합니다.
다음 예제 정책을 JSON 편집기에 붙여 넣은 다음 변경 사항 저장을 선택합니다.

중요: snsTopicArn주제의 ARN으로 바꿔야 합니다. 그런 다음 myOrgId를 조직의 ID로 바꾸십시오.

{
  "Version": "2008-10-17",
  "Id": "__default_policy_ID",
  "Statement": [
    {
      "Sid": "allow-publish-from-organization-accounts",
      "Effect": "Allow",
      "Principal": {
        "AWS": "*"
      },
      "Action": [
        "sns:Publish"
      ],
      "Resource": "snsTopicArn",
      "Condition": {
        "StringEquals": {
          "aws:PrincipalOrgID": "myOrgId"
        }
      }
    }
  ]
}

팁: 조직의 계정이 더 많은 Amazon SNS API 작업(예: GetTopicAttributes)을 수행하도록 허용하려면 정책의 "작업" 아래에 작업을 추가합니다.

4.    테스트를 위해 이메일 주소의 SNS 주제 구독을 생성합니다. 구독을 생성할 때 주제의 ARN을 지정해야 합니다.

5.    이메일에서 AWS Notifications로부터 받은 구독 확인 메시지를 찾아 구독을 확인합니다.

6.    조직 내 AWS 계정을 사용하여 계정의 SNS 주제에 메시지를 게시합니다. 게시 요청에서 주제의 ARN을 지정해야 합니다.

게시된 메시지가 이메일에 표시됩니다.