Cloud & IT Cert Prep · 课时

基于身份的策略与基于资源的策略

比较附加到身份的策略与附加到资源的策略。

第 2 / 4 课13 个步骤

基于身份的策略与基于资源的策略 是 CoddyKit 上的免费 Cloud & IT Cert Prep 课时。 这是第 2 节课,共 4 节。 你可以在下方免费阅读本课时的完整内容 — 然后在浏览器中使用内置代码编辑器和全天候 AI 导师进行实践。 这是 Cloud & IT Cert Prep 学习路径的一部分,你的进度在网页和 CoddyKit 应用中同步。 Cloud & IT Cert Prep 课程共包含 4 节课。

两个附加位置

AWS 中的权限来自附加策略的两个位置:附加到身份(用户、组或角色),或附加到资源(例如 S3 存储桶或 KMS 密钥)。了解适用的是哪种类型,以及两者如何组合,对考试至关重要,因为跨账户访问完全取决于这一差异。

基于身份的策略

基于身份的策略附加到 IAM 主体,用于定义该主体可以执行的操作。它没有 Principal 元素,因为主体就是策略所附加到的对象。这类策略可以是 AWS 托管、客户托管或内联策略,也是授予权限最常见的方式。

基于资源的策略

基于资源的策略直接附加到资源,并包含用于指定获准访问者的 Principal 元素。示例包括 S3 存储桶策略、KMS 密钥策略、SQS 队列策略和 Lambda 函数策略。它们会在同一资源上同时指定访问者(Principal)和操作(Action)。

存储桶策略示例

此 S3 存储桶策略授予另一个账户读取权限。Principal 指定了受信任的账户,而只有基于资源的策略才能做到这一点。

{
  "Effect": "Allow",
  "Principal": { "AWS": "arn:aws:iam::444455556666:root" },
  "Action": "s3:GetObject",
  "Resource": "arn:aws:s3:::shared-data/*"
}

同账户逻辑

在单个账户内,基于身份的策略和基于资源的策略会合并为并集:只要任一策略授予权限,且没有任何策略拒绝,请求就会被允许。因此,只要用户策略或存储桶策略允许访问,就可以访问 S3 对象。任一方开放访问就足够了。

跨账户逻辑

对于跨账户访问,规则更加严格:双方都必须允许访问。主体需要有允许执行该操作的基于身份的策略,另一账户中的基于资源的策略也必须向该主体授予访问权限。缺少任何一方,请求都会被拒绝。这是考试重点考查的区别。

角色没有资源策略

角色上的信任策略从技术上说属于基于资源的策略,这就是为什么跨账户承担角色需要同时具备信任策略和调用方的 sts:AssumeRole 身份权限。将信任策略识别为基于资源的策略,有助于统一理解访问权限的授予方式。

哪些服务支持该功能

并非所有服务都支持基于资源的策略。支持该功能的主要服务包括:S3、KMS、SQS、SNS、Lambda、Secrets Manager 和 ECR。当服务不支持资源策略时,必须改用承担角色的方式授予跨账户访问权限。考试可能会考查某种方法对于指定服务是否可行。

选择正确的类型

对于“这个团队可以执行这些操作”之类的一般权限,请使用基于身份的策略。当您必须向特定外部主体授予访问权限、在支持该功能的服务上启用跨账户共享,或设置随资源本身一同生效的权限时,请使用基于资源的策略。

审计双方

由于访问权限可能来自任一方,审计时必须检查双方。IAM Access Analyzer 会检查基于资源的策略,以查找与外部或公开共享的资源。策略模拟和上次访问数据有助于检查身份一侧。完整的审查绝不能只查看一种类型。

综合运用

同账户访问是并集(任一策略都可以允许访问),而跨账户访问要求身份策略和资源策略双方都允许访问。身份策略没有 Principal,资源策略则有。应根据场景匹配策略类型,并记住哪些服务支持基于资源的策略。

快速检查

测试您判断策略类型的能力。

回顾

基于身份的策略附加到主体,不包含 Principal 元素;基于资源的策略附加到资源,并指定 Principal。同账户访问是两者的并集;跨账户访问要求双方都允许。只有部分服务(S3、KMS、SQS、SNS、Lambda、Secrets Manager、ECR)支持资源策略;否则应使用承担角色的方式。

免费开始

用 AI 导师学习 Cloud & IT Cert Prep — 免费

在浏览器中编写并运行真实代码,获得全天候 AI 导师的即时帮助,并在网页或应用中继续学习。

课程
150
课程
600

常见问题解答

「基于身份的策略与基于资源的策略」课时是免费的吗?

是的 — 「基于身份的策略与基于资源的策略」的完整文本可在网页上免费阅读。要进行交互式练习(内置代码编辑器和全天候 AI 导师)并解锁 Cloud & IT Cert Prep 课程的其余内容,请升级到 CoddyKit PRO。 Cloud & IT Cert Prep 课程共包含 4 节课。

「基于身份的策略与基于资源的策略」这节课中我会学到什么?

比较附加到身份的策略与附加到资源的策略。 你通过在浏览器中直接运行的动手代码来练习 Cloud & IT Cert Prep,全天候 AI 导师会在你学习这节课的过程中回答你的问题。

学习 Cloud & IT Cert Prep 需要有经验吗?

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

「基于身份的策略与基于资源的策略」课时需要多长时间?

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

我能在这节 Cloud & IT Cert Prep 课中编写并运行代码吗?

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

此课程中的所有课时

  1. IAM 策略文档的结构
  2. 基于身份的策略与基于资源的策略
  3. 策略评估决策流程
  4. 条件、通配符和策略变量
← 返回 Cloud & IT Cert Prep