翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
ステップ 5: オプション - Amazon SNSトピックに発行するアクセス許可をユーザーに付与する
デフォルトでは、トピックの所有者にはトピックを発行するアクセス権限があります。他のユーザーまたはアプリケーションがトピックにパブリッシュできるようにするには、 AWS Identity and Access Management (IAM) を使用してトピックにパブリッシュアクセス許可を付与する必要があります。Amazon SNSアクションのアクセス許可をIAMユーザーに付与する方法については、「」を参照してくださいAmazon でのアイデンティティベースのポリシーの使用 SNS。
トピックへのアクセスは、以下の 2 つの方法でコントロールできます。
-
IAM ユーザーまたはグループにポリシーを追加します。トピックへのアクセス権限をユーザーに付与する最も簡単な方法では、グループを作成し、適切なポリシーをグループに追加して、そのグループにユーザーを追加します。個々のユーザーに設定するポリシーを継続的に追跡するよりも、グループに対してユーザーを追加または削除する方がはるかに簡単です。
-
トピックにポリシーを追加します。別の AWS アカウントにトピックへのアクセス権限を追加する場合、そのプリンシパルとして、アクセス権限を付与する AWS アカウント を持っているポリシーを追加することが唯一の方法です。
ほとんどの場合は、最初の方法 (ポリシーをグループに適用し、適切なユーザーをグループに追加または削除することでアクセス権限を管理する) を使用します。別のアカウントのユーザーにアクセス権限を付与する必要がある場合は、2 番目の方法を使用します。
ユーザーIAMまたはグループに次のポリシーを追加した場合、そのユーザーまたはそのグループのメンバーに、トピック に対してsns:Publish
アクションを実行するアクセス許可を付与します MyTopic。
{ "Statement":[{ "Sid":"AllowPublishToMyTopic", "Effect":"Allow", "Action":"sns:Publish", "Resource":"arn:aws:sns:us-east-2:123456789012:MyTopic" }] }
以下の例のポリシーでは、トピックへのアクセス権限を別のアカウントに付与する方法を示しています。
注記
アカウント内のリソースへの別の AWS アカウント アクセスを許可すると、そのリソースへの管理者レベルのアクセス (ワイルドカードアクセス) アクセス許可を持つIAMユーザーにも付与されます。他のアカウントの他のすべてのIAMユーザーは、リソースへのアクセスを自動的に拒否されます。そのリソース AWS アカウント へのアクセスを特定のIAMユーザーに付与する場合、アカウントまたは管理者レベルのアクセス権限を持つIAMユーザーは、リソースのアクセス許可をそれらのIAMユーザーに委任する必要があります。クロスアカウント委任の詳細については、IAM「 ガイドの使用」の「クロスアカウントアクセスの有効化」を参照してください。
MyTopic アカウント 123456789012 のトピックに次のポリシーを追加した場合、そのトピックに対してsns:Publish
アクションを実行するアクセス許可をアカウント 111122223333 に付与します。
{ "Statement":[{ "Sid":"Allow-publish-to-topic", "Effect":"Allow", "Principal":{ "AWS":"111122223333" }, "Action":"sns:Publish", "Resource":"arn:aws:sns:us-east-2:123456789012:MyTopic" }] }