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

求助:使用AWS CLI获取AWS组织内成员账号标签失败

解决AWS CLI获取组织成员账号标签的问题

首先你的命令存在语法错误,而且如果目标是获取成员账号本身的标签,用resourcegroupstaggingapi是不对的——这个API用于获取账号内资源的标签,而非账号自身的标签。下面分两种场景给出可行方案:

场景1:获取成员账号自身的标签

如果要提取组织中每个成员账号的标签(不是账号内资源的标签),可以用以下脚本:

#!/bin/bash
# 遍历组织内所有成员账号ID
for account_id in $(aws organizations list-accounts --query 'Accounts[].Id' --output text); do
    # 获取该账号的标签
    aws organizations list-tags-for-resource --resource-id "$account_id" --output table
done

场景2:获取成员账号内所有资源的标签

如果你的目标是获取每个成员账号内所有资源的标签,需要修正原命令的语法问题,同时确保执行命令的IAM身份有跨账号访问权限,且成员账号已配置策略允许访问Resource Groups Tagging API:

#!/bin/bash
# 遍历组织内所有成员账号ID
for account_id in $(aws organizations list-accounts --query 'Accounts[].Id' --output text); do
    aws resourcegroupstaggingapi get-resources \
        --query 'ResourceTagMappingList[].{ResourceARN:ResourceARN,Tags:Tags}' \
        --output table \
        --resource-type-filters AWS::AllSupported \
        --region us-east-1 \
        --account-id "$account_id"
done

关键注意事项

  • 权限配置:执行命令的IAM用户/角色需要具备organizations:ListAccounts、organizations:ListTagsForResource(场景1)或tag:GetResources(场景2)的权限;跨账号访问资源标签时,成员账号需通过资源策略或信任策略允许主账号身份访问。
  • 区域限制:Resource Groups Tagging API是区域服务,若要获取所有区域的资源标签,需要遍历所有AWS区域执行命令。
  • 语法修正:原命令缺少for循环起始部分,且list-accounts的输出需用--output text才能正确传递给循环变量,避免JSON格式干扰。

内容的提问来源于stack exchange,提问作者user272444

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.01 05:40:30