评估逻辑
最近更新时间: 2024-10-17 17:10:00
云平台用户访问云资源时, CAM 通过以下评估逻辑决定允许或拒绝。
默认情况下,所有请求都将被拒绝。
CAM 会检查当前用户关联的所有策略。
- 判断是否匹配策略,是则进行下一步判断;否则最终判断为 deny ,不允许访问云资源。
- 判断是否有匹配 deny 策略,是则最终判定为 deny ,不允许访问云资源;否则进行下一步判断。
- 判断是否有匹配 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"}} } |