Amazon SNS トピックへのアクセス許可 - AWS Config

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

Amazon SNS トピックへのアクセス許可

このトピックでは、別のアカウントが所有する Amazon SNS トピックを配信 AWS Config するように を設定する方法について説明します。 には、Amazon SNS トピックに通知を送信するために必要なアクセス許可 AWS Config が必要です。同じアカウント設定の場合、 AWS Config コンソールで Amazon SNS トピックを作成するか、自分のアカウントから Amazon SNS トピックを選択すると、 は Amazon SNS トピックに必要なアクセス許可が含まれ、セキュリティのベストプラクティスに従って AWS Config いることを確認します。

注記

AWS Config は現在、同じリージョンおよびアカウント間のアクセスのみをサポートしています。修復 AWS Systems Manager (SSM) ドキュメントまたはレコーダー配信チャネルに使用される SNS トピックをクロスリージョンにすることはできません。

IAM ロール使用時に Amazon SNS トピックに必要なアクセス許可

アクセス許可ポリシーは、別のアカウントが所有する Amazon SNS トピックに適用できます。他のアカウントから Amazon SNS トピックを使用する場合は、既存の Amazon SNS トピックに以下のポリシーを適用します。

{ "Id": "Policy_ID", "Statement": [ { "Sid": "AWSConfigSNSPolicy", "Action": [ "sns:Publish" ], "Effect": "Allow", "Resource": "arn:aws:sns:region:account-id:myTopic", "Principal": { "AWS": [ "account-id1", "account-id2", "account-id3" ] } } ] }

Resource キーの場合、account-id はトピック所有者の AWS アカウント番号です。account-id1account-id2account-id3 AWS アカウント の場合は、Amazon SNS トピックにデータを送信する を使用します。regionmyTopic は適切な値に置き換えることができます。

が Amazon SNS トピックに通知 AWS Config を送信すると、まず IAM ロールを使用しようとしますが、ロールまたはトピックに発行するアクセス許可がない場合、この試行 AWS アカウント は失敗します。このイベントでは、 AWS Config は再度通知を送信します。今回はサービス AWS Config プリンシパル名 (SPN) として通知を送信します。配信が正常に実行される前に、オピックのためのアクセスポリシーは sns:Publish プリンシパル名にconfig.amazonaws.com アクセスを許可する必要があります。IAM ロールにトピックへの公開権限がない場合、 AWS Config に Amazon SNS トピックへのアクセスを許可するには、次のセクションで説明するアクセスポリシーを、Amazon SNS トピックにアタッチする必要があります。

サービスでリンクされたロールを使用する際 Amazon SNS トピックに必要なアクセス許可

AWS Config サービスにリンクされたロールには、Amazon SNS トピックにアクセスするアクセス許可がありません。したがって、サービスにリンクされたロール (SLR) AWS Config を使用して をセットアップした場合、 AWS Config は代わりにサービスプリンシパルとして AWS Config 情報を送信します。Amazon SNS トピックに情報を送信するためのアクセス権を付与するには、以下で説明する AWS Config アクセスポリシーを Amazon SNS トピックにアタッチする必要があります。

同じアカウント設定の場合、Amazon SNS トピックと SLR が同じアカウントにあり、Amazon SNS ポリシーが SLR に「sns:Publish」を許可する場合、 AWS Config SPN を使用する必要はありません。以下のアクセス許可ポリシーとセキュリティのベストプラクティスの推奨事項は、クロスアカウント設定のためのものです。

Amazon SNS トピック AWS Config へのアクセス権の付与。

このポリシーにより AWS Config 、 は Amazon SNS トピックに通知を送信できます。別のアカウントから Amazon SNS トピック AWS Config へのアクセスを許可するには、次のアクセス許可ポリシーをアタッチする必要があります。

注記

セキュリティのベストプラクティスとして、 AWS Config が AWS:SourceAccount条件にリストされているアカウントへのアクセスを制限することによってのみ、想定ユーザーに代わって リソースにアクセスすることを強くお勧めします。

{ "Id": "Policy_ID", "Statement": [ { "Sid": "AWSConfigSNSPolicy", "Effect": "Allow", "Principal": { "Service": "config.amazonaws.com" }, "Action": "sns:Publish", "Resource": "arn:aws:sns:region:account-id:myTopic", "Condition" : { "StringEquals": { "AWS:SourceAccount": [ "account-id1", "account-id2", "account-id3" ] } } } ] }

Resource キーの場合、account-id はトピック所有者の AWS アカウント番号です。account-id1account-id2account-id3 AWS アカウント の場合は、Amazon SNS トピックにデータを送信する を使用します。regionmyTopic は適切な値に置き換えることができます。

前の Amazon SNS トピックポリシーの AWS:SourceAccount条件を使用して、特定のアカウントに代わってオペレーションを実行するときに Amazon SNS トピックとのみやり取りするように AWS Config サービスプリンシパル名 (SPN) を制限できます。

AWS Config は、特定の AWS Config 配信チャネルに代わってオペレーションを実行するときに、 AWS Config サービスプリンシパル名 (SPN) が S3 バケットとのみやり取りするように制限する AWS:SourceArn条件もサポートします。 AWS Config サービスプリンシパル名 (SPN) を使用する場合、 AWS:SourceArnプロパティは常に に設定されます。arn:aws:config:sourceRegion:sourceAccountID:*ここで、 sourceRegion は配信チャネルのリージョンであり、 sourceAccountIDは配信チャネルを含むアカウントの ID です。 AWS Config 配信チャネルの詳細については、「配信チャネルの管理」を参照してください。例えば、アカウント のus-east-1リージョン の配信チャネルに代わってのみ S3 バケットとやり取りするように AWS Config サービスプリンシパル名 (SPN) を制限するには、次の条件を追加します123456789012"ArnLike": {"AWS:SourceArn": "arn:aws:config:us-east-1:123456789012:*"}

Amazon SNS トピックのトラブルシューティング

AWS Config には、Amazon SNS トピックに通知を送信するアクセス許可が必要です。Amazon SNS トピックが通知を受信できない場合は、引き受け AWS Config ていた IAM ロールに必要なsns:Publishアクセス許可があることを確認します。