

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

# 異常通知用の Amazon SNS トピックの作成
<a name="ad-SNS"></a>

Amazon Simple Notiﬁcation Service (Amazon SNS) トピックに通知を送信する異常検出モニターを作成するときは、既存の Amazon SNS トピックがあるか、新たにトピックを作成する必要があります。Amazon SNS トピックを使用して、E メールに加えて Amazon SNS 経由で通知を送信できます。 AWS コスト異常検出には、トピックに通知を送信するアクセス許可が必要です。

**Amazon SNS 通知トピックを作成し、許可を付与するには**

1. にサインイン AWS マネジメントコンソール し、[https://console.aws.amazon.com/sns/v3/home](https://console.aws.amazon.com/sns/v3/home) で Amazon SNS コンソールを開きます。

1. ナビゲーションペインで、[**トピック**] を選択してください。

1. [**トピックの作成**] を選択してください。

1. **[名前]** に通知トピックの名前を入力します。

1. (オプション) **[表示名]** に、通知を受け取るときに表示する名前を入力します。

1. [**アクセスポリシー**] で、[**アドバンスト**] を選択します。

1. ポリシーのテキストフィールドで、**"Statement": [** の後に以下のいずれかのテキストを追加します。

    AWS コスト異常検出サービスが Amazon SNS トピックに発行できるようにするには、次のステートメントを使用します。

   ```
   {
     "Sid": "E.g., AWSAnomalyDetectionSNSPublishingPermissions",
     "Effect": "Allow",
     "Principal": {
       "Service": "costalerts.amazonaws.com"
     },
     "Action": "SNS:Publish",
     "Resource": "your topic ARN"
   }
   ```

    AWS コスト異常検出サービスが特定のアカウントに代わってのみ Amazon SNS トピックに発行できるようにするには、次のステートメントを使用します。

   ```
   {
     "Sid": "E.g., AWSAnomalyDetectionSNSPublishingPermissions",
     "Effect": "Allow",
     "Principal": {
       "Service": "costalerts.amazonaws.com"
     },
     "Action": "SNS:Publish",
     "Resource": "your topic ARN",
     "Condition": {
           "StringEquals": {
             "aws:SourceAccount": [
               "account-ID"
             ]
           }
     }
   }
   ```
**注記**  
このトピックポリシーでは、サブスクリプションのアカウント ID を `aws:SourceAccount` 条件の値として入力します。この条件は、サブスクリプションを所有するアカウントのオペレーションを実行する場合にのみ、Amazon SNS トピックと対話するよう AWS コスト異常検出を制限します。  
特定のサブスクリプションに代わってオペレーションを実行する場合にのみ、 AWS コスト異常検出がトピックとやり取りするように制限できます。これを行うには、トピックポリシーで `aws:SourceArn` 条件を使用します。  
これらの条件の詳細については、IAM ユーザーガイド**の [https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-sourceaccount](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-sourceaccount) および [https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-sourcearn](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-sourcearn) を参照してください。

1. 選択したトピックポリシーステートメントで、次の値を置き換えます。
   + 例えば、*AWSAnomalyDetectionSNSPublishingPermissions* を文字列に置き換えます。`Sid` はポリシー内で一意であることが必要です。
   + *your topic ARN* の部分を Amazon SNS topic Amazon リソースネーム (ARN) で置き換えます。
   + ステートメントを `aws:SourceAccount` 条件とともに使用する場合、*account-ID* の部分をサブスクリプションを所有するアカウント ID で置き換えます。Amazon SNS トピックに異なるアカウントからの複数のサブスクリプションがある場合、複数のアカウント ID を`aws:SourceAccount` 条件に追加できます。

1. **[トピックを作成]** を選択します。

   トピックは [**トピック**] ページのトピックのリストに表示されます。

## 通知確認メールのメッセージの確認または再送信
<a name="ad-confirm-subscription"></a>

通知を用いて異常検出モニターを作成すると、Amazon SNS 通知も作成されます。通知を送信するには、Amazon SNS 通知トピックへのサブスクリプションを承認する必要があります。

通知サブスクリプションが受け入れられていることを確認するか、サブスクリプション確認メールを再送信するには、Amazon SNS コンソールを使用します。

**通知のステータスを確認するか、通知確認の E メールメッセージを再送信するには**

1. にサインイン AWS マネジメントコンソール し、[https://console.aws.amazon.com/sns/v3/home](https://console.aws.amazon.com/sns/v3/home) で Amazon SNS コンソールを開きます。

1. ナビゲーションペインで [**Subscriptions**] を選択してください。

1. 通知のステータスを確認します。**[Status]** (ステータス) で、サブスクリプションが承認されず確認されていない場合は `PendingConfirmation` が表示されます。

1. (オプション) 確認リクエストを再送信するには、確認が保留中のサブスクリプションを選択し、[**リクエストの確認**] を選択します。Amazon SNS により、通知にサブスクライブしているエンドポイントに確認リクエストが送信されます。

   エンドポイントの各所有者が E メールを受信したら、[**サブスクリプションを確認**] リンクを選択して通知を有効化する必要があります。

## SSE と を使用して Amazon SNS 異常検出アラートデータを保護する AWS KMS
<a name="protect-sns-sse"></a>

サーバー側の暗号化 (SSE) を使用すると、暗号化されたトピックで機密データを転送できます。SSE では、 AWS Key Management Service (AWS KMS) で管理されているキーを使用して Amazon SNS メッセージが保護されます。

 AWS マネジメントコンソール または AWS SDK を使用して SSE を管理するには、Amazon Simple Notification Service 入門ガイドの[Amazon SNSトピックのサーバー側の暗号化 (SSE) を有効にする](https://docs.aws.amazon.com/sns/latest/dg/sns-tutorial-enable-encryption-for-topic.html)」を参照してください。 **

を使用して暗号化されたトピックを作成するには AWS CloudFormation、 [AWS CloudFormation ユーザーガイド](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/Welcome.html)を参照してください。

Amazon SNS が受信したメッセージはすぐに、SSE によって暗号化されます。メッセージは暗号化されて保存され、送信時にのみ Amazon SNS を使用して復号化されます。

### AWS KMS アクセス許可の設定
<a name="configure-kms-perm"></a>

サーバー側の暗号化 (SSE) を使用する前に、 AWS KMS キーポリシーを設定する必要があります。この設定により、メッセージを暗号化および復号化できるだけでなく、トピックを暗号化できます。 AWS KMS アクセス許可の詳細については、「 *AWS Key Management Service デベロッパーガイド*[AWS KMS 」の「API アクセス許可: アクションとリソースのリファレンス](https://docs.aws.amazon.com/kms/latest/developerguide/kms-api-permissions-reference.html)」を参照してください。

IAM ポリシーを使用して、 AWS KMS キーのアクセス許可を管理することもできます。詳細については、[AWS KMSでの IAM ポリシーの使用](https://docs.aws.amazon.com/kms/latest/developerguide/iam-policies.html)を参照してください。

**注記**  
Amazon SNS からメッセージを送受信するグローバルアクセス許可を設定できます。ただし、 では、特定の の (KMS キー) の完全な Amazon リソースネーム AWS KMS keys (ARN) に名前を付ける AWS KMS 必要があります AWS リージョン。これは、IAM ポリシーの [**リソース**] セクションにあります。  
KMS キーのキーポリシーで必要な許可を付与していることを確認します。そのためには、Amazon SNS で暗号化されたメッセージを作成するプリンシパルと消費するプリンシパルをユーザーとして KMS キーポリシーで指定します。<a name="enable-compatiblility"></a>

**AWS コスト異常検出と暗号化された Amazon SNS トピック間の互換性を有効にするには**

1. [KMS キーを作成します](https://docs.aws.amazon.com/kms/latest/developerguide/create-keys.html#create-keys-console)。

1. KMS キーポリシーとして、以下のいずれかのポリシーを追加します。

    AWS コスト異常検出サービスに KMS キーへのアクセスを許可するには、次のステートメントを使用します。

------
#### [ JSON ]

****  

   ```
   {
       "Version": "2012-10-17",
       "Statement": [
           {
               "Effect": "Allow",
               "Principal": {
                   "Service": "costalerts.amazonaws.com"
               },
               "Action": [
                   "kms:GenerateDataKey*",
                   "kms:Decrypt"
               ],
               "Resource": "*"
           }
       ]
   }
   ```

------

   特定のアカウントに代わってオペレーションを実行する場合にのみ、 AWS コスト異常検出サービスに KMS キーへのアクセスを許可するには、次のステートメントを使用します。

------
#### [ JSON ]

****  

   ```
   {
       "Version": "2012-10-17",
       "Statement": [
           {
               "Effect": "Allow",
               "Principal": {
                   "Service": "costalerts.amazonaws.com"
               },
               "Action": [
                   "kms:GenerateDataKey*",
                   "kms:Decrypt"
               ],
               "Resource": "*",
               "Condition": {
                   "StringEquals": {
                       "aws:SourceAccount": [
                           "account-ID"
                       ]
                   }
               }
           }
       ]
   }
   ```

------
**注記**  
この KMS キーポリシーでは、サブスクリプションのアカウント ID を `aws:SourceAccount` 条件の値として入力します。この条件では、サブスクリプションを所有するアカウントのオペレーションを実行する場合にのみ、 AWS コスト異常検出が KMS キーとやり取りします。  
特定のサブスクリプションに代わってオペレーションを実行する場合にのみ、 AWS コスト異常検出が KMS キーとやり取りされるようにするには、KMS キーポリシーで `aws:SourceArn`条件を使用します。  
これらの条件の詳細については、「*IAM ユーザーガイド*」の「[https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-sourceaccount](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-sourceaccount)」および「[https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-sourcearn](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-sourcearn)」を参照してください。

1. KMS キーポリシーを `aws:SourceAccount` 条件とともに使用する場合、*account-ID* の部分をサブスクリプションを所有するアカウント ID で置き換えます。Amazon SNS トピックに異なるアカウントからの複数のサブスクリプションがある場合、複数のアカウント ID を `aws:SourceAccount` 条件に追加できます。

1. [Amazon SNS トピックの SSE を有効にします](https://docs.aws.amazon.com/sns/latest/dg/sns-tutorial-enable-encryption-for-topic.html)。
**注記**  
暗号化された Amazon SNS トピックに公開するための許可を AWS コスト異常検出に付与するものと同じ KMS キーを使用していることを確認します。

1. [**変更を保存**] を選択します。