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

AWS IAM角色多条件任意满足即授权的策略写法是否正确?

结论

你当前的IAM策略写法不符合需求,是错误的。

错误原因

AWS IAM策略的条件判断逻辑遵循以下默认规则:

  • 同一条件操作符(比如你这里用的StringEquals)下的多个键值对,默认是AND关系,必须全部匹配才会触发条件生效
  • 你当前的写法要求a=b、c=d、x=y三个条件同时满足才会授予访问权限,和你“任意一个条件满足即可授权”的需求完全相悖
正确写法示例

你需要使用IAM内置的Or逻辑运算符,将三个独立的判断条件包裹起来,参考写法如下:

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Effect": "Allow",
            "Principal": {
                "AWS": "*"
            },
            "Action": "*",
            "Condition": {
                "Or": [
                    {"StringEquals": {"a": "b"}},
                    {"StringEquals": {"c": "d"}},
                    {"StringEquals": {"x": "y"}}
                ]
            }
        }
    ]
}
额外安全建议

你当前的策略配置了Principal: "*"(允许所有身份)和Action: "*"(允许所有操作),权限范围过大,存在严重的安全隐患,实际生产使用时请务必将权限收缩到实际需要的身份和操作范围。

内容的提问来源于stack exchange,提问作者cosmos-1905-14

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.03 15:00:05