跨账户角色与资源策略
授予一个账户对另一个账户中资源的限定访问权限。
跨账户角色与资源策略 是 CoddyKit 上的免费 Cloud & IT Cert Prep 课时。 这是第 3 节课,共 4 节。 你可以在下方免费阅读本课时的完整内容 — 然后在浏览器中使用内置代码编辑器和全天候 AI 导师进行实践。 这是 Cloud & IT Cert Prep 学习路径的一部分,你的进度在网页和 CoddyKit 应用中同步。 Cloud & IT Cert Prep 课程共包含 4 节课。
为什么需要跨账户访问
实际架构通常横跨多个账户:生产账户、日志账户和共享服务账户。工作负载和人员经常需要跨越这些边界访问资源。
安全的做法绝不是在账户之间复制凭证。相反,您应使用跨账户角色或基于资源的策略授予范围受限的访问权限。
跨账户角色模式
最常见的模式是:在目标账户中创建角色,由源账户中的主体代入该角色。
- 角色的信任策略指定源账户或主体。
- 源主体调用 AssumeRole 并接收临时凭证。
- 随后,源主体可在目标账户中依据角色权限执行操作。
两项策略必须相互配合
跨账户代入角色要求两端都允许该操作:
- 目标角色的信任策略允许源主体。
- 源主体的身份策略允许对该角色执行 sts:AssumeRole。
缺少任意一项,代入都会失败。这种双重检查是考试中的常见考点。
基于资源的策略
某些服务支持直接附加到资源上的基于资源的策略,例如 S3 存储桶策略、KMS 密钥策略或 SQS 队列策略。
这些策略可以向另一个账户中的主体授予访问权限,而无需该主体代入角色。外部账户使用自身身份,由资源策略授权其访问。
{
"Effect": "Allow",
"Principal": { "AWS": "arn:aws:iam::444455556666:root" },
"Action": "s3:GetObject",
"Resource": "arn:aws:s3:::shared-logs-bucket/*"
}角色链与资源策略
请根据服务选择机制:
- 对于没有资源策略的服务(EC2、大多数 API),请使用跨账户角色。
- 对于 S3、KMS、SNS、SQS、Lambda 等服务,资源策略可以授予直接的跨账户访问权限。
资源策略可以避免额外的一次 AssumeRole 跳转。
外部 ID 防护措施
向第三方(例如 SaaS 供应商)授予跨账户访问权限时,请在信任策略中添加外部 ID Condition。
供应商代入角色时必须传递唯一的机密值。这样可以防止混淆代理人问题,即攻击者诱骗供应商访问错误的客户账户。
跨账户的最低权限
跨账户角色应仅授予所需的最少权限,并将范围限定到特定资源和操作。
一种常见错误是:向整个外部账户建立过于宽泛的信任,同时授予管理员权限。请将信任范围收紧到特定角色或用户,并将权限限制为确切任务所需的权限。
集中式服务账户
一种常见的设计是在一个账户中集中管理某项功能,其他账户通过角色访问它。例如,安全账户代入每个工作负载账户中的只读角色。
每个工作负载账户都托管一个名称相同且信任安全账户的角色,因此工具可以统一扫描所有账户。
使用 RAM 共享
AWS Resource Access Manager(RAM)可以在组织内的多个账户之间共享特定资源,例如子网或 Transit Gateway。
RAM 用于共享资源本身,而不是授予对资源执行 API 操作的权限。对于网络和基础设施共享,它可以与角色及资源策略配合使用。
审计跨账户路径
跨账户访问会扩大您的信任面,因此应定期进行审计。
- CloudTrail 会记录每次 AssumeRole 调用和跨账户 API 调用。
- IAM Access Analyzer 会标记允许账户外部访问的资源策略。
请检查这些信息,以便尽早发现意外共享。
综合运用
要安全地连接账户:计算和 API 优先使用角色,存储和消息服务使用资源策略,并始终对第三方应用最低权限原则和外部 ID。
绝不要在账户之间共享长期密钥。
快速检查
思考跨账户访问。
回顾
您学会了如何安全地连接账户。
- 跨账户角色同时需要信任策略和源账户身份策略。
- 基于资源的策略可以为 S3 和 KMS 等服务授予直接访问权限。
- 对第三方使用外部 ID,并通过 Access Analyzer 和 CloudTrail 进行审计。
常见问题解答
「跨账户角色与资源策略」课时是免费的吗?
是的 — 「跨账户角色与资源策略」的完整文本可在网页上免费阅读。要进行交互式练习(内置代码编辑器和全天候 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 反馈 — 无需本地设置。