为预算通知创建 Amazon SNS 主题 - Amazon 成本管理
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

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

为预算通知创建 Amazon SNS 主题

当您创建向亚马逊简单通知服务 (AmazonSNS) 主题发送通知的预算时,您需要先有亚马逊SNS主题或创建一个。除了电子邮件之外,Amazon SNS 主题还允许您发送通知。SNS您的预算必须具有向您的主题发送通知的权限。

要创建亚马逊SNS主题并向您的预算授予权限,请使用亚马逊SNS控制台。

注意

Amazon SNS 主题必须与您正在配置的预算位于同一个账户中。SNS不支持跨账户 Amazon。

创建 Amazon SNS 通知主题并授予权限
  1. 登录 Amazon Web Services Management Console 并在 https://console.aws.amazon.com/sns/v3/ hom SNS e 上打开亚马逊主机。

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

  3. 选择创建主题

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

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

  6. 访问策略 中,选择高级

  7. 在策略文本字段中,在 "Statement": [ 后面,添加以下文本:

    { "Sid": "E.g., AWSBudgetsSNSPublishingPermissions", "Effect": "Allow", "Principal": { "Service": "budgets.amazonaws.com" }, "Action": "SNS:Publish", "Resource": "your topic ARN", "Condition": { "StringEquals": { "aws:SourceAccount": "<account-id>" }, "ArnLike": { "aws:SourceArn": "arn:aws-cn:budgets::<account-id>:*" } } }
  8. 例如, AWSBudgetsSNSPublishingPermissions用字符串替换。Sid 在策略中必须是唯一的。

  9. 选择创建主题

  10. 在 “详细信息” 下,保存您的ARN。

  11. 选择编辑

  12. 在 “访问策略” 下,替换 your topic ARN 使用第 10 步SNSARN中的 Amazon 主题。

  13. 选择 Save changes(保存更改)

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

故障排除

在为预算通知创建 Amazon SNS 主题时,您可能会遇到以下错误消息。

请遵守SNSARN格式

ARN你替换的有语法错误(步骤 9)。确认语法和格式是否正确。ARN

无效的SNS话题

Amazon 预算无权访问该SNS主题。根据主题的基于资源的政策,确认您已允许 budgets.amazonaws.com 能够向该SNSSNS主题发布消息。

该SNS主题已加密

您已SNS对该主题启用了加密。如果没有其他权限,该SNS主题将无法运行。禁用对主题的加密,然后刷新 Budget edit(预算编辑)页面。

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

在创建包含通知的预算时,您还可以创建亚马逊SNS通知。要发送通知,您必须接受 Amazon SNS 通知主题的订阅。

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

检查您的通知状态或重新发送通知确认电子邮件
  1. 登录 Amazon Web Services Management Console 并在 https://console.aws.amazon.com/sns/v3/ hom SNS e 上打开亚马逊主机。

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

  3. Subscriptions 页面上,对于 Filter,输入 budget。您的预算通知列表将出现。

  4. 检查通知的状态。如果未接受并确定订阅,状态下将显示 PendingConfirmation

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

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

使用SSE和保护您的 Amazon SNS 预算提醒数据 Amazon KMS

您可以使用服务器端加密 (SSE) 来传输加密主题中的敏感数据。SSE使用 Amazon Key Management Service (Amazon KMS) 中管理的密钥来保护 Amazon SNS 消息。

要SSE使用 Amazon Web Services Management Console 或 Amazon 服务开发套件 (SDK) 进行管理,请参阅《亚马逊简单通知服务入门指南》中的亚马逊SNS主题启用服务器端加密 (SSE)

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

SSEAmazon SNS 收到消息后立即对其进行加密。消息以加密方式存储,SNS只有在发送时才使用 Amazon 进行解密。

配置 Amazon KMS 权限

必须先配置 Amazon KMS 密钥策略,然后才能使用SSE。该配置让您可以加密主题,以及加密和解密消息。有关 Amazon KMS 权限的详细信息,请参阅《Amazon Key Management Service 开发者指南》中的 “Amazon KMS API权限:操作和资源参考”。

您还可以使用IAM策略来管理 Amazon KMS 密钥权限。有关更多信息,请参阅将IAM策略与配合使用 Amazon KMS

注意

尽管您可以配置从亚马逊发送和接收消息的全局权限SNS,但 Amazon KMS 需要您在特定区域中命名 Amazon KMS keys (KMS密钥)的完整ARN名称。您可以在IAM策略的 “资源” 部分中找到此信息。

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

启用 Amazon 预算和加密的 Amazon SNS 主题之间的兼容性
  1. 创建密KMS钥

  2. 在KMS密钥策略中添加以下文本。

    { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "budgets.amazonaws.com" }, "Action": [ "kms:GenerateDataKey*", "kms:Decrypt" ], "Resource": "*", "Condition": { "StringEquals": { "aws:SourceAccount": "<account-id>" }, "ArnLike": { "aws:SourceArn": "arn:aws-cn:budgets::<account-id>:*" } } } ] }
  3. SSE为您的SNS主题启用

    注意

    请确保您使用的KMS密钥与授予 Budget Amazon s 发布加密亚马逊SNS主题的权限的密钥相同。

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