

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

# ステップ 5: Amazon SNS トピックに発行するアクセス許可をユーザーに付与する (オプション)
<a name="SendMessageToHttp.iam.permissions"></a>

デフォルトでは、トピックの所有者にはトピックを発行するアクセス権限があります。他のユーザーまたはアプリケーションがトピックに発行できるようにするには、 AWS Identity and Access Management (IAM) を使用してトピックに発行アクセス許可を付与する必要があります。Amazon SNS アクションに対するアクセス権限を IAM ユーザーに付与する方法の詳細については、「[Amazon SNS でのアイデンティティベースのポリシーを使用する](sns-using-identity-based-policies.md)」を参照してください。

トピックへのアクセスは、以下の 2 つの方法でコントロールできます。
+ IAM ユーザーまたはグループにポリシーを追加する。トピックへのアクセス権限をユーザーに付与する最も簡単な方法では、グループを作成し、適切なポリシーをグループに追加して、そのグループにユーザーを追加します。個々のユーザーに設定するポリシーを継続的に追跡するよりも、グループに対してユーザーを追加または削除する方がはるかに簡単です。
+ トピックにポリシーを追加します。別の AWS アカウントにトピックへのアクセス権限を追加する場合、そのプリンシパルとして、アクセス権限を付与する AWS アカウント を持っているポリシーを追加することが唯一の方法です。

ほとんどの場合は、最初の方法 (ポリシーをグループに適用し、適切なユーザーをグループに追加または削除することでアクセス権限を管理する) を使用します。別のアカウントのユーザーにアクセス権限を付与する必要がある場合は、2 番目の方法を使用します。

IAM ユーザーまたはグループに次のポリシーを追加した場合、そのユーザーまたはそのグループのメンバーに、MyTopic トピックで `sns:Publish` アクションを実行する許可が付与されます。

```
{
  "Statement":[{
    "Sid":"AllowPublishToMyTopic",
    "Effect":"Allow",
    "Action":"sns:Publish",
    "Resource":"arn:aws:sns:us-east-2:123456789012:MyTopic"
  }]
}
```

以下の例のポリシーでは、トピックへのアクセス権限を別のアカウントに付与する方法を示しています。

**注記**  
アカウントのリソースへの別の AWS アカウント アクセスを許可すると、そのリソースへの管理者レベルのアクセス (ワイルドカードアクセス) アクセス許可を持つ IAM ユーザーにも付与されます。他のアカウントの他のすべての IAM ユーザーは、自動的にリソースへのアクセスが拒否されます。その 内の特定の IAM ユーザーにリソース AWS アカウント へのアクセスを許可する場合、アカウントまたは管理者レベルのアクセス権を持つ IAM ユーザーは、リソースのアクセス許可をそれらの IAM ユーザーに委任する必要があります。クロスアカウントの委任の詳細については、『*IAM ガイドの使用*』の「[Enabling Cross-Account Access](https://docs.aws.amazon.com/IAM/latest/UserGuide/Delegation.html)」を参照してください。

アカウント 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"
  }]
}
```