如何在AWS IAM中配置角色仅关闭特定OU内的账户?
解决方案:通过IAM条件限制关闭特定OU内的AWS账户
核心思路
由于Organizations:CloseAccount动作的Resources字段仅支持组织根ID(格式为o-xxxxxx),无法直接指定OU ID,因此需要通过IAM条件语句校验待关闭账户的父OU路径,以此实现仅允许操作特定OU内账户的需求。
具体IAM策略配置
替换以下示例中的占位符为你的实际信息即可使用:
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "organizations:CloseAccount", "Resource": "arn:aws:organizations::你的管理账户ID:account/你的组织根ID/*", "Condition": { "StringEquals": { "organizations:AccountParentPaths": "你的组织根ID/根ID/目标OUID/" } } }, { "Effect": "Deny", "Action": "organizations:CloseAccount", "Resource": "arn:aws:organizations::你的管理账户ID:account/你的组织根ID/*", "Condition": { "StringNotEquals": { "organizations:AccountParentPaths": "你的组织根ID/根ID/目标OUID/" } } } ] }
关键参数说明
Resource:必须指定组织根作为资源范围,*代表该组织下所有账户,确保覆盖所有可能的操作对象。organizations:AccountParentPaths:该条件键会返回待关闭账户的完整父路径(从组织根到所在OU),你可以通过AWS Organizations控制台查看目标OU的完整路径格式。- 允许语句:仅当账户处于指定OU路径下时,允许执行
CloseAccount动作。 - 拒绝语句:当账户不在指定OU路径下时,直接拒绝操作,严格限制权限范围。
验证步骤
- 切换到关联该策略的IAM角色/用户身份。
- 尝试关闭目标OU内的账户:操作应正常执行。
- 尝试关闭其他OU或组织根下的账户:会收到权限拒绝的错误提示。
内容的提问来源于stack exchange,提问作者azertqsdfg
相关产品推荐
相关产品推荐

