You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何修复AWS提示「预算无权限向指定主题发送通知」的跨账号报错

修复步骤

1. 修正根账号SNS主题的访问策略

你当前策略中AWSBudgetsSNSPublishingPermissions语句的Condition配置错误,跨账号场景下AWS:SourceOwner限制会阻止成员账号的Budgets服务请求。替换该语句为以下配置即可,如果你需要允许整个AWS组织内的所有成员账号推送,可使用组织ID做条件限制,安全性更高:

{
  "Sid": "AWSBudgetsSNSPublishingPermissions",
  "Effect": "Allow",
  "Principal": {
    "Service": "budgets.amazonaws.com"
  },
  "Action": "SNS:Publish",
  "Resource": "arn:aws:sns:us-east-1:ROOT_ACCOUNT_ID:AWS_Sandbox_Budget",
  "Condition": {
    "StringEquals": {
      "aws:PrincipalOrgID": "o-xxxxxxxxx" // 替换为你AWS组织的实际ID
    }
  }
}

如果只允许单个成员账号(XYZ)推送,可将Condition改为:

"Condition": {
  "StringEquals": {
    "AWS:SourceAccount": "MEMBER_ACCOUNT_ID" // 替换为成员账号XYZ的12位账号ID
  }
}

同时建议删除原有默认语句中过度宽松的权限配置,避免安全风险,仅保留必要的权限即可。

2. 确认区域匹配

AWS Budgets为全局服务,所有通知推送的SNS主题必须部署在us-east-1(弗吉尼亚北部)区域,你当前的SNS主题ARN已经符合该要求,只需确认成员账号配置预算时未指定其他区域的SNS主题即可。

3. 配置成员账号侧的验证权限

你在成员账号控制台配置预算时,系统会先使用你当前登录的IAM身份校验SNS主题的可访问性,因此需要给你当前使用的IAM用户/角色添加sns:ValidateTopic和sns:GetTopicAttributes权限,允许访问根账号的SNS主题ARN,示例权限策略如下:

{
  "Effect": "Allow",
  "Action": [
    "sns:ValidateTopic",
    "sns:GetTopicAttributes"
  ],
  "Resource": "arn:aws:sns:us-east-1:ROOT_ACCOUNT_ID:AWS_Sandbox_Budget"
}

以上配置完成后等待1-2分钟策略生效,再重新在成员账号的预算配置页填写SNS主题ARN即可通过校验。

内容的提问来源于stack exchange,提问作者Nikhil K Murali

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.25 16:36:07