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 コンソールで、次を実行してトピックを編集します。 ナビゲーション ペインで、[Topics] (トピック) を選択します。 作成したトピックを選択します。その後、[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 トピックに E メールアドレスをサブスクライブします。サブスクリプションを作成するときは、トピックの ARN を指定してください。
5. お客様の E メールの中から、AWS 通知で受信したサブスクリプション確認メッセージを検索して、サブスクリプションを確認します。
6. 組織内の任意の AWS アカウントを使用して、アカウントの SNS トピックにメッセージを発行します。発行リクエストで、トピックの ARN を指定していることを確認します。
発行したメッセージは E メールに記載されます。
AWS グローバル条件コンテキストキー
Amazon SNS アクセスコントロールの例
Amazon SNS でのアクセス管理の概要
AWS Organizations で使用できる AWS のサービス