最近更新时间:2025-12-22 18:35:04
AND 关系:同一 Condition 块中的多个运算符必须同时满足
"Condition": {
"IpAddress": { ... }, // 必须满足
"StringEquals": { ... } // 且必须满足
}OR 关系:同一条件键的值列表中,满足任意一个即可
"IpAddress": {
"ksc:SourceIp": [
"192.168.1.1", // 或
"10.0.0.1" // 或
]
}OR 关系:多个 Statement 之间是或的关系,满足任意一个 Statement 即可
但 Deny 优先级高于 Allow:
如果某个 Deny Statement 匹配,则拒绝访问
即使有 Allow Statement 匹配也无效
"Condition": {
"IpAddress": {
"ksc:SourceIp": [
"192.168.1.0/24",
"10.0.0.100"
]
},
"ForAnyValue:StringEquals": {
"ksc:Tag": [
"env&production",
"env&staging"
]
}
}逻辑:
来源 IP 必须在 192.168.1.0/24 或 10.0.0.100 AND
标签包含 env&production 或 env&staging
"Condition": {
"StringEquals": {
"ksc:Tag": [
"team&backend"
]
},
"StringLike": {
"ksc:Tag": [
"project&app-*"
]
},
"StringNotEquals": {
"ksc:Tag": [
"status&deleted"
]
}
}逻辑:
标签包含 team&backend AND
标签包含 project&app-* 模式 AND
标签不包含 status&deleted
"Statement": [
{
"Effect": "Allow",
"Action": ["iam:*"],
"Resource": ["*"],
"Condition": {
"IpAddress": {
"ksc:SourceIp": [
"192.168.0.0/16" // 允许此网段
]
}
}
},
{
"Effect": "Deny",
"Action": ["iam:*"],
"Resource": ["*"],
"Condition": {
"IpAddress": {
"ksc:SourceIp": [
"192.168.100.0/24" // 但拒绝此子网段
]
}
}
}
]逻辑:
允许 192.168.0.0/16 网段访问
但拒绝其中的 192.168.100.0/24 子网段(Deny 优先级高于 Allow)
"Condition": {
"ForAnyValue:StringEquals": {
"ksc:Tag": [
"env&production",
"env&staging"
]
},
"ForAllValues:StringLike": {
"ksc:Tag": [
"team&*",
"project&*"
]
},
"StringNotEquals": {
"ksc:Tag": [
"status&archived"
]
}
}逻辑:
标签中至少有一个是 env&production 或 env&staging AND
所有标签都必须匹配 team&* 或 project&* 模式 AND
标签中不包含 status&archived
// ✅ 推荐:精确指定资源
"Resource": [
"krn:ksc:iam:::user/specific-user"
]
// ❌ 避免:过度授权
"Resource": ["*"]{
"Effect": "Deny",
"Action": [
"iam:DeleteUser",
"iam:DeleteAccessKey"
],
"Resource": [
"krn:ksc:iam:::user/admin",
"krn:ksc:iam:::user/root"
]
}"Condition": {
"IpAddress": {
"ksc:SourceIp": [
"office-ip-range/24",
"vpn-ip-range/24"
]
}
}"Condition": {
"StringEquals": {
"ksc:Tag": [
"env&production",
"team&ops"
]
}
}"Statement": [
{
"Effect": "Allow",
"Action": ["iam:*"],
"Resource": ["*"],
"Condition": {
"IpAddress": {
"ksc:SourceIp": ["company-network/16"]
}
}
},
{
"Effect": "Deny",
"Action": [
"iam:DeleteUser",
"iam:DeletePolicy"
],
"Resource": ["*"]
}
]逻辑: 允许公司网络内所有 IAM 操作,但禁止删除用户和策略
纯净模式
