AWS Security Academy · 课时

IAM 角色究竟是什么

了解角色如何授予临时权限,而无需固定密钥。

第 2 / 4 课13 个步骤

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

角色与用户

IAM 角色是一种可以由您代入以获取一组权限的身份,但与用户不同,它没有永久凭证。实体代入角色时,AWS 会签发在规定时间后过期的临时安全凭证。角色是在 AWS 上授予访问权限的安全、现代方式,并且会在 SCS-C02 考试中反复出现。

角色的构成

每个角色都包含两部分策略:

  • 信任策略(也称为代入角色策略)规定谁可以代入该角色。
  • 一个或多个权限策略规定角色被代入后可以执行什么操作。

这种分离是角色实现安全委派的核心:您可以决定谁能够借用该身份,同时单独决定该身份能够执行什么操作。

临时凭证

角色被代入时,Security Token Service (STS) 会签发一组凭证,其中包含访问密钥 ID、私密密钥和会话令牌,并且全部只在有限时间窗口内有效(15 分钟至 12 小时)。由于临时凭证会自动过期,即使泄露也会很快失效,与长期有效的访问密钥相比,风险会大幅降低。

谁可以代入角色

信任策略会列出可以代入角色的主体。主体可以是:

  • 一个 AWS 服务(例如 EC2 或 Lambda),用于为工作负载提供身份。
  • 同一账户或其他账户中的IAM 用户或角色,用于跨账户访问。
  • 来自 SAML 或 OIDC 提供商的联合身份。

如果信任策略中没有列出某个主体,那么无论权限策略允许什么,该主体都永远无法代入角色。

AWS 服务使用的角色

最常见的用途是允许 AWS 服务代表您执行操作。例如,附加了角色的 EC2 实例可以调用 S3,而无需嵌入任何密钥;AWS 会在后台自动轮换凭证。考试希望您能够识别出,服务角色可以从应用程序中消除静态密钥。

信任策略示例

下面是一段允许 EC2 服务代入角色的信任策略。Principal 用于标识谁可以代入该角色,而操作始终是 sts:AssumeRole。

{
  "Effect": "Allow",
  "Principal": { "Service": "ec2.amazonaws.com" },
  "Action": "sts:AssumeRole"
}

跨账户角色

角色非常适合跨账户访问。账户 A 创建一个信任账户 B 的角色;B 中的主体代入该角色,并获得临时凭证以在 A 中执行操作。双方无需共享密钥,访问范围由权限策略限定,任一方都可以随时撤销信任。这是账户之间发放长期密钥的推荐替代方案。

用于联合身份验证的角色

外部身份也可以代入角色,例如通过 SAML 验证的企业用户,或通过 Web 身份联合身份验证的应用程序用户。身份提供商验证用户后,AWS 会签发与某个角色关联的临时凭证。这意味着人员根本不需要 IAM 用户,只需要一个能够映射到角色的已验证身份。

没有可泄露的凭证

角色最大的安全优势是不存在可供窃取、轮换或意外提交到代码仓库的长期凭证。权限只存在于临时会话中。这符合随时间实施最小权限原则:仅在需要时授予访问权限,并自动过期。

权限不会自动合并

有一点容易忽略:允许您代入某个角色时,授予您的仅仅是该角色的权限,而不是您自身权限与角色权限的合并。代入角色后,您会获得一个新的身份。在该会话期间,您原有的权限会被搁置,因此角色设计必须包含任务所需的全部权限。

何时使用角色

只要工作负载需要访问 AWS、一个账户需要在另一个账户中执行操作,或者人员通过外部提供商进行身份验证,就应当使用角色。在考试中,几乎所有“如何在不使用长期密钥的情况下授予访问权限”的问题,答案都是角色。角色将信任策略(谁)与权限策略(什么)结合起来,从而提供安全、临时且可审计的访问。

快速检查

确认您对角色的理解。

回顾

IAM 角色是一种无凭证的身份,代入后可以从 STS 获取临时权限。它将信任策略(谁可以代入)与权限策略(可以执行什么操作)结合起来。角色支持服务访问、跨账户委派和联合身份验证,从而消除长期密钥。代入角色后,在该会话期间,您的身份会被角色身份替代。

免费开始

用 AI 导师学习 AWS Security Academy — 免费

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

课程
30
课程
120

常见问题解答

「IAM 角色究竟是什么」课时是免费的吗?

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

「IAM 角色究竟是什么」这节课中我会学到什么?

了解角色如何授予临时权限,而无需固定密钥。 你通过在浏览器中直接运行的动手代码来练习 AWS Security Academy,全天候 AI 导师会在你学习这节课的过程中回答你的问题。

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

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

「IAM 角色究竟是什么」课时需要多长时间?

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

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

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

此课程中的所有课时

  1. 比较 IAM 用户和组
  2. IAM 角色究竟是什么
  3. 信任策略与可承担角色的主体
  4. 计算工作负载的实例配置文件
← 返回 AWS Security Academy