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

최종 업데이트 날짜: 2022년 11월 4일

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

간략한 설명

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

해결 방법

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

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

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

중요: snsTopicArn을 주제의 ARN으로 바꿉니다. 그런 다음 myOrgId를 조직의 ID로 바꿉니다.

{
  "Version": "2012-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)을 수행하도록 허용하려면 정책의 Action(작업) 아래에 작업을 추가합니다.

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

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

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

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