0Pricing
Cloud & IT Cert Prep · 课时

信任策略与可承担角色的主体

定义允许承担某个角色的主体。

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

守门策略

信任策略是附加到角色的文档,用于明确规定哪些主体可以代入该角色。它就是守门人:即使权限策略授予了强大权限,如果信任策略没有列出某个主体,该主体也无法使用该角色。在考试中,信任策略错误经常会导致访问失效或权限授予过度。

主体类型

信任策略的 Principal 元素可以引用:

  • AWS — 账户、用户或角色 ARN(Amazon Resource Name)。
  • Service — AWS 服务,例如 lambda.amazonaws.com。
  • Federated — SAML 提供商或 Web 身份提供商。

选择正确的主体类型并尽可能具体,对于避免授予超出预期的信任至关重要。

双向握手

跨账户代入要求双方达成一致。目标账户中的角色信任策略必须允许调用主体,并且该主体必须拥有身份策略,允许其对该角色的 ARN 执行 sts:AssumeRole。缺少任一部分都会阻止请求。这种双向握手是经典的考试陷阱。

信任策略示例

此信任策略允许账户 111122223333 中的特定角色代入该角色。与信任整个账户相比,指定确切的 ARN 更严格、更安全。

{
  "Effect": "Allow",
  "Principal": {
    "AWS": "arn:aws:iam::111122223333:role/AppRole"
  },
  "Action": "sts:AssumeRole"
}

账户根主体与特定主体

将主体指定为 arn:aws:iam::ACCOUNT:root 表示信任整个账户:该账户中任何同时拥有 sts:AssumeRole 权限的主体都可以代入角色。这种信任范围很大。在可能的情况下,请指定确切的用户或角色 ARN,以遵循最小权限原则并缩小信任面。

信任中的条件

信任策略支持使用 Condition 块来进一步限制谁可以代入角色以及代入方式。常见的键包括 sts:ExternalId(用于阻止“困惑代理人”问题)、aws:MultiFactorAuthPresent(要求 MFA)和 aws:SourceIp。条件可以让您仅在特定且可验证的情况下授予代入权限。

要求使用 MFA 才能代入

一种强大的做法是在代入敏感角色之前要求 MFA。信任策略中的条件会检查调用会话是否通过 MFA 完成身份验证。这样,即使长期凭证被盗,没有第二重身份验证因素,攻击者也无法代入特权角色,从而显著提高攻击难度。

"Condition": {
  "Bool": { "aws:MultiFactorAuthPresent": "true" }
}

服务相关信任

某些角色是服务相关角色,由 AWS 预先定义,并且其信任策略无法编辑。这些角色允许服务代表您管理资源,同时仅使用 AWS 所要求的信任。识别这类角色很重要,因为它们的权限和信任受到严格控制,并且与服务的生命周期紧密关联。

外部信任与内部信任

信任内部主体(同一账户)通常比信任外部账户或第三方 SaaS 供应商的风险低。对于外部信任,请始终将特定主体与 ExternalId 等条件结合使用。应将每条外部信任声明都视为攻击者会极力利用的入口点。

审计信任策略

IAM Access Analyzer 会自动审查信任策略和资源策略,查找可以被外部账户或公众代入的角色。它会标记非预期的跨账户信任或公共信任,以便您收紧相关配置。审查 Access Analyzer 的发现结果,是发现信任范围过大的推荐控制措施,也是考试相关的重要内容。

设计安全的信任关系

要安全地设计信任关系,请指定尽可能具体的主体,在适当情况下添加 ExternalId 和 MFA 等条件,优先使用角色而不是信任账户根主体,并通过 Access Analyzer 进行审查。请记住,信任策略回答的是谁,而权限策略回答的是什么;两者必须保持一致,访问才能正常工作并持续遵循最小权限原则。

快速检查

测试您对信任策略的了解。

回顾

信任策略定义哪些主体可以代入角色,并且无论权限策略如何,它都是守门人。跨账户代入需要双向握手:信任策略加上调用方的 sts:AssumeRole 权限。优先使用特定主体 ARN,而不是账户根主体;添加 ExternalId 和 MFA 等条件;并使用 IAM Access Analyzer 进行审计。

常见问题解答

「信任策略与可承担角色的主体」课时是免费的吗?

是的 — 「信任策略与可承担角色的主体」的完整文本可在网页上免费阅读。要进行交互式练习(内置代码编辑器和全天候 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 课程适合初学者到高级学习者,你可以从这里开始或从头开始,按照自己的节奏学习。 这是第 3 节课,共 4 节。

「信任策略与可承担角色的主体」课时需要多长时间?

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

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

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

此课程中的所有课时

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