AWS身份与访问管理:策略评估、高级概念及基于角色的访问控制
1. AWS账户间角色假设与策略评估
在AWS中,一个账户的主体可以假设其他账户中的角色,并向这些账户中的资源发出请求。在这种情况下,策略评估逻辑会假定请求源自目标账户的角色,因此认为该请求来自信任区域。此类请求无需附带基于资源的策略。
对于任何给定的请求,可能有多个策略语句需要相互结合进行评估。评估请求后,AWS必须决定是允许请求继续进行,还是拒绝其访问原始请求指定的资源或服务。AWS遵循以下标准评估算法:
1. 默认拒绝请求(隐式拒绝)。
2. 遍历所有适用的政策和声明。如果有条件,只保留满足条件的声明。
3. 如果策略中有明确拒绝此请求的声明,则拒绝该请求。显式“拒绝”始终优先于“允许”。
4. 只要有策略允许该请求,请求就应进入下一步。如果没有任何基于身份的策略允许此请求,则拒绝该请求并终止评估。
5. 如果主体与目标资源来自同一账户,则可以假定该请求来自信任区域。在这种情况下,不需要基于资源的策略。允许此类请求访问目标资源。
6. 如果请求来自不同账户的主体,则资源账户中需要有允许此请求的基于资源的策略。检查是否存在此类基于资源的策略。
以下是该算法的mermaid流程图:
graph TD
A[开始] --> B[默认拒绝请求]
B --> C[遍历适用策略和声明]
C --> D{是否有明确拒绝声明}
D -- 是 --> E[拒绝请求]
D -- 否 --> F{是否有策略允许请求}
订阅专栏 解锁全文

被折叠的 条评论
为什么被折叠?



