0Pricing
AWS Security Academy · 课时

SCP 如何与 IAM 权限结合

了解 SCP 为什么只能拒绝而不能自行授予权限。

SCP 如何与 IAM 权限结合 是 CoddyKit 上的免费 AWS Security Academy 课时。 这是第 4 节课,共 4 节。 你可以在下方免费阅读本课时的完整内容 — 然后在浏览器中使用内置代码编辑器和全天候 AI 导师进行实践。 这是 AWS Security Academy 学习路径的一部分,你的进度在网页和 CoddyKit 应用中同步。 AWS Security Academy 课程共包含 4 节课。

两层控制

组织中的访问权限由两层控制:AWS 组织设置的 SCP 上限,以及账户内授予的 IAM 权限。理解这两者如何组合,是治理领域最常考的概念之一,因为最终结果取决于两者是否都允许。

有效权限规则

规则简单但很严格:某项操作只有在同时获得适用的 SCP 和账户 IAM 策略允许时才会被允许。有效权限是它们的交集。没有匹配的 IAM 允许时,SCP 不会授予任何权限;被 SCP 阻止的 IAM 允许也不会授予任何权限。

SCP 允许,IAM 拒绝

如果 SCP 允许某项操作,但没有 IAM 策略授予该操作,结果会因 IAM 的隐式拒绝而被拒绝。SCP 只是让该操作成为可能;仍然必须由 IAM 实际授予权限。许多学习者会忘记,SCP 是上限,而不是授权。

IAM 允许,SCP 拒绝

反过来,如果 IAM 策略允许某项操作,但 SCP 拒绝该操作,结果仍然会被拒绝。无论 IAM 授予的权限多么宽泛,SCP 的拒绝都会限制账户。这正是组织强制执行硬性限制、使本地管理员无法绕过这些限制的方式。

两者允许,无拒绝

只有在 SCP 和 IAM 策略都允许该操作,且任何位置都不存在显式拒绝时,请求才会被允许。这种交集逻辑与权限边界的工作方式相似,并且两者可以同时生效,进一步收窄权限。

与边界叠加

在完全受治理的环境中,多个上限会层层叠加:SCP(账户级别)、权限边界(身份级别)、任何会话策略(会话级别)以及身份策略(授权)。有效权限是所有上限的交集加上授权,再扣除任何显式拒绝。

分层示例

假设某个 IAM 策略授予 s3:* 和 ec2:*,权限边界只允许 s3:*,而 SCP 只允许 s3:GetObject。有效权限就只有 s3:GetObject,即三层权限的交集。每个上限都会进一步削减权限。

显式拒绝仍然具有最高优先级

在每一层中,任何策略、SCP、边界、会话、身份或资源中的显式拒绝都会立即阻止该操作。任何允许的组合都无法覆盖它。分析场景时,请先查找任何显式拒绝;如果找到,答案就是拒绝。

纳入资源策略

基于资源的策略可以独立于身份策略授予同一账户内的访问权限,但 SCP 仍会限制主体所在账户的权限。对于跨账户访问,两个账户的控制措施以及双方的策略都会生效。交集规则会相应扩展,但核心思想不变:每个适用的上限都必须允许该操作。

一种故障排查方法

当组织中的访问意外失败时,请从内向外检查:确认身份策略授予了该操作,然后检查权限边界,再检查账户及其每个父级 OU 上的 SCP,接着检查任何会话策略,最后扫描所有层是否存在显式拒绝。第一个未包含该操作的上限,或任何一个拒绝,就是导致问题的原因。

综合运用

SCP 和 IAM 通过交集组合:某项操作必须同时获得两者的允许,还要通过任何边界和会话上限,并且任何位置都不能存在显式拒绝。SCP 和边界只会限制权限;IAM 策略负责授予权限。要允许某项操作,每个上限都必须允许它,并且至少要存在一项授权。

快速检查

测试组合逻辑。

回顾

SCP 和 IAM 通过交集组合:只有在两者都允许某项操作,并且该操作通过任何权限边界和会话策略上限,同时任何位置都不存在显式拒绝时,该操作才会被允许。SCP 和边界只会限制权限;IAM 策略负责授予权限。任何层中的显式拒绝始终优先于所有允许。

常见问题解答

「SCP 如何与 IAM 权限结合」课时是免费的吗?

是的 — 「SCP 如何与 IAM 权限结合」的完整文本可在网页上免费阅读。要进行交互式练习(内置代码编辑器和全天候 AI 导师)并解锁 AWS Security Academy 课程的其余内容,请升级到 CoddyKit PRO。 AWS Security Academy 课程共包含 4 节课。

「SCP 如何与 IAM 权限结合」这节课中我会学到什么?

了解 SCP 为什么只能拒绝而不能自行授予权限。 你通过在浏览器中直接运行的动手代码来练习 AWS Security Academy,全天候 AI 导师会在你学习这节课的过程中回答你的问题。

学习 AWS Security Academy 需要有经验吗?

无需任何先前经验。CoddyKit 上的 AWS Security Academy 课程适合初学者到高级学习者,你可以从这里开始或从头开始,按照自己的节奏学习。 这是第 4 节课,共 4 节。

「SCP 如何与 IAM 权限结合」课时需要多长时间?

大多数 CoddyKit 课程大约需要 5–10 分钟。每节课都很精短且互动,所以你能稳步进步,并在网页和应用中从离开的地方继续。

我能在这节 AWS Security Academy 课中编写并运行代码吗?

能。每节 AWS Security Academy 课都包含内置代码编辑器,你可以在浏览器中直接编写并运行真实代码,并获得即时 AI 反馈 — 无需本地设置。

此课程中的所有课时

  1. 权限边界限制的内容
  2. 安全地委派角色创建
  3. 组织、OU 和 SCP 策略
  4. SCP 如何与 IAM 权限结合
← 返回 AWS Security Academy