如何使用PowerShell为AWS IAM Policy设置标签
解决方案
问题根因
你当前使用的4.1.0.0版本AWSPowerShell.NetCore版本过旧,该版本尚未对IAM Policy的标签操作做专属封装,也未给New-IAMPolicy实现-Tag参数,才会出现你遇到的报错。
方案1:升级AWSPowerShell.NetCore到最新版本(推荐)
最新版本的AWSPowerShell.NetCore已经完整支持IAM Policy标签相关操作:
- 创建策略时可直接使用
New-IAMPolicy的-Tag参数,和官方文档描述一致 - 已上线IAM Policy专属标签操作cmdlet:
Add-IAMPolicyTag、Get-IAMPolicyTagList、Remove-IAMPolicyTag
升级命令:
Update-Module -Name AWSPowerShell.NetCore -Force
方案2:使用当前版本通用IAM资源标签操作cmdlet
如果暂时无法升级PowerShell模块,可直接使用你搜索结果中存在的Add-IAMAAResourceTag通用cmdlet为IAM Policy打标签,操作示例如下:
# 替换为目标IAM Policy的ARN,ARN可通过Get-IAMPolicy查询获取 $policyArn = "arn:aws:iam::你的AWS账号ID:policy/你的自定义策略名称" # 给指定Policy添加标签 Add-IAMAAResourceTag -ResourceArn $policyArn -Tag @( @{Key = "环境"; Value = "测试"}, @{Key = "项目"; Value = "XX系统"} )
Add-IAMAAResourceTag是IAM资源通用标签操作接口,只要传入对应资源的ARN即可完成打标,支持Policy、角色、用户等所有IAM资源类型。
内容的提问来源于stack exchange,提问作者corretge
相关产品推荐
相关产品推荐

