评估逻辑

最近更新时间: 2024-10-17 17:10:00

云平台用户访问云资源时, CAM 通过以下评估逻辑决定允许或拒绝。

  1. 默认情况下,所有请求都将被拒绝。

  2. CAM 会检查当前用户关联的所有策略。

    1. 判断是否匹配策略,是则进行下一步判断;否则最终判断为 deny ,不允许访问云资源。
    2. 判断是否有匹配 deny 策略,是则最终判定为 deny ,不允许访问云资源;否则进行下一步判断。
    3. 判断是否有匹配 allow 策略,是则最终判断为 allow ,允许访问云资源;否则最终判定为 deny,不允许访问云资源。

注意:

  • 对于根账号,默认拥有其名下所有资源的访问权限。
  • 有些通用策略,会默认关联所有 CAM 用户。具体请见下文的 通用策略表
  • 其他策略都必须显式指定,包括 allow 和 deny 策略。
  • 对于支持跨帐号资源访问的业务,存在权限传递的场景,即根账号 A 授权根账号 B 下的某个子账号对其资源的访问权限。这个时候 CAM 会同时校验 A 是否授权给 B 该权限以及 B 是否授权给子帐号该权限,两者同时满足的前提下, B 的子账号才有权访问 A 的资源。

目前支持的通用策略表如下:

策略说明 策略定义
查询密钥需要 MFA 验证 {
"principal":"*",
"action":"account:QueryKeyBySecretId",
"resource":"*",
"condition":{"string_equal":{"mfa":"0"}}
}
设置敏感操作需要 MFA 验证 {
"principal":"*",
"action":"account:SetSafeAuthFlag",
"resource":"*",
"condition":{"string_equal":{"mfa":"0"}}
}
绑定 token 需要 MFA 验证 {
"principal":"*",
"action":"account:BindToken",
"resource":"*",
"condition":{"string_equal":{"mfa":"0"}}
}
解绑 token 需要 MFA 验证 {
"principal":"*",
"action":"account:UnbindToken",
"resource":"*",
"condition":{"string_equal":{"mfa":"0"}}
}
修改邮箱需要 MFA 验证 {
"principal":"*",
"action":"account:ModifyMail",
"resource":"*",
"condition":{"string_equal":{"mfa":"0"}}
}
修改手机号需要 MFA 验证 {
"principal":"*",
"action":"account:ModifyPhoneNum",
"resource":"*",
"condition":{"string_equal":{"mfa":"0"}}
}