针对异常通知创建 Amazon SNS 主题 - Amazon Cost Management
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 Amazon Web Services 服务入门

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

针对异常通知创建 Amazon SNS 主题

要创建向 Amazon SNS (Amazon SNS) 主题发送通知的异常检测监控或创建一个。您必须有 Amazon SNS 主题或创建一个。您还可以使用 Amazon SNS 主题通过 SNS 以及电子邮件发送通知。AmazonCost Anomaly Detection 必须有权限将通知发送到您的主题。

创建 Amazon SNS 通知主题并授予权限

  1. 访问 https://console.aws.amazon.com/sns/v3/home,登录 Amazon Web Services Management Console 并打开 Amazon SNS 控制台。

  2. 在导航窗格上,选择 Topics (主题)

  3. 选择 Create topic(创建主题)

  4. 对于 Name (名称),输入您通知主题的名称。

  5. (可选)对于Display name (显示名称),输入您希望在收到通知时显示的名称。

  6. Access policy (访问策略) 中,选择 Advanced (高级)

  7. 在 “政策文本” 字段中,在 “声明”:[,输入以下语句之一:

    要允许Amazon成本异常检测服务要发布到 Amazon SNS 主题,请使用以下语句。

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

    要允许Amazon成本异常检测服务要仅代表特定账户向 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只有在对拥有订阅的账户执行操作时,成本异常检测才会与 Amazon SNS 主题交互。

    目标类型Amazon成本异常检测要仅在代表特定订阅执行操作时与主题进行交互,您可以使用aws:SourceArn主题策略中的条件。

    有关这些条件的更多信息,请参阅aws:SourceAccountaws:SourceArn在里面IAM 用户指南.

  8. 在您选择的主题策略声明中,替换以下值:

    • 替换(例如AWSAnomalyDetectionSNSPublishingPermissions),替换为字符串。Sid 在策略中必须是唯一的。

    • Replace(替换)您的主题 ARN以Amazon SNS 为主题的 Amazon 资源名称 (ARN)。

    • 如果您使用的是带有aws:SourceAccount条件,替换账户 ID使用拥有订阅的账户 ID。如果 Amazon SNS 主题有来自不同账户的多个订阅,请将多个账户 ID 添加到aws:SourceAccount条件。

  9. 选择 Create topic(创建主题)

    您的主题现在显示在 Topics (主题) 页面上的主题列表中。

检查或重新发送通知确认电子邮件

当您创建带通知的异常检测监控时,您还将创建 Amazon SNS 通知。对于要发送的通知,您必须接受对 Amazon SNS 通知主题的订阅。

要确认您的通知订阅已接受或重新发送订阅确认电子邮件,请使用 Amazon SNS 控制台。

检查您的通知状态或重新发送通知确认电子邮件

  1. 访问 https://console.aws.amazon.com/sns/v3/home,登录 Amazon Web Services Management Console 并打开 Amazon SNS 控制台。

  2. 在导航窗格上,选择订阅

  3. 检查通知的状态。下面状态,PendingConfirmation如果订阅未被接受和确认,则会出现。

  4. (可选)要重新发送确认请求,请选择待确认的订阅,然后选择 Request confirmation(请求确认)。Amazon SNS 将向订阅通知的终端节点发送确认请求。

    在终端节点的每个所有者收到电子邮件后,他们必须选择确认订阅链接来激活通知。

使用 SSE 和 Amazon KMS 保护 Amazon SNS 异常检测提醒数据

您可以使用服务器端加密 (SSE),采用加密主题的方式传输敏感数据。SSE 通过使用托管在 Amazon Key Management Service (Amazon KMS) 中的密钥保护 Amazon SNS 消息。

要使用 Amazon Web Services Management Console 或 Amazon 开发工具包管理 SSE,请参阅 Amazon Simple Notification Service 入门指南中的为 Amazon SNS 主题启用服务器端加密 (SSE)

要使用 Amazon CloudFormation 创建加密主题,请参阅Amazon CloudFormation用户指南

一旦 Amazon SNS 收到消息,SSE 就会对消息进行加密。消息以加密方式存储,仅在发送后才会使用 Amazon SNS 解密。

配置 Amazon KMS 权限

你必须配置你的Amazon KMS在您使用服务器端加密 (SSE) 之前的密钥策略。您可以使用此配置来加密主题,以及加密和解密消息。有关以下内容的信息Amazon KMS权限,请参阅Amazon KMSAPI 权限:操作和资源参考在里面Amazon Key Management Service开发人员指南.

您也可以使用 IAM 策略来管理 Amazon KMS 密钥权限。有关更多信息,请参阅在 Amazon KMS 中使用 IAM 策略

注意

您可以配置全局权限来发送和接收来自 Amazon SNS 的消息。但是,Amazon KMS要求您命名完整 Amazon Resource Name (ARN)Amazon KMS keys(KMS 密钥)在特定版本中Amazon Web Services 区域. 您可以在 IAM 策略的 Resource(资源)部分中找到此内容。

您必须确保 KMS 密钥的密钥策略允许必要的权限。为此,请将在 Amazon SNS 中创建和使用加密消息的委托人指定为 CMK 密钥策略中的用户。

实现 Amazon Cost Anomaly Detection 和加密 Amazon SNS 主题之间的兼容性

  1. 创建 KMS 密钥

  2. 添加以下策略之一作为 KMS 密钥策略:

    授权Amazon成本异常检测服务访问 KMS 密钥,使用以下语句。

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

    授权Amazon成本异常检测服务只有在代表特定账户执行操作时才能访问 KMS 密钥,请使用以下语句。

    { "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条件。这种情况有Amazon成本异常检测仅在对拥有订阅的账户执行操作时才会与 KMS 密钥交互。

    目标类型Amazon成本异常检测仅在代表特定订阅执行操作时与 KMS 密钥交互,请使用aws:SourceArnKMS 密钥策略中的条件。

    有关这些条件的更多信息,请参阅aws:SourceAccountaws:SourceArn在里面IAM 用户指南.

  3. 如果您将 KMS 密钥策略与aws:SourceAccount条件,替换账户 ID使用拥有订阅的账户 ID。如果 Amazon SNS 主题有来自不同账户的多个订阅,请将多个账户 ID 添加到aws:SourceAccount条件。

  4. 为 SNS 主题启用 SSE

    注意

    确保您使用的是授予的相同 KMS 密钥AmazonCost Anomaly Detection 权限以发布到加密的 Amazon SNS 主题。

  5. 选择 Save Changes(保存更改)。