用 Go 构建 MCP 服务器(第三部分):IRSA 与 EKS Pod Identity 实际如何工作
来源:dev.to — 2026-08-27
📋 概述
系列第三篇深入讲解 EKS 上 pod 如何获得 AWS 权限,澄清 IRSA 与 Pod Identity 常被混淆的问题。文章先厘清 Kubernetes ServiceAccount 与 RBAC 的分工,再分别拆解两条机制:IRSA 通过 OIDC 让 ServiceAccount 被 AWS 密码学验证,Pod Identity 则通过命名空间/ServiceAccount 关联。最后指出 RBAC 的权威在集群边界终止,这正是一个专用诊断工具存在的理由。
🔑 核心要点
- 一个 pod 不是实例,同节点多 pod 需要各自隔离的 AWS 身份,不能直接继承节点角色
- ServiceAccount 是 Kubernetes 自己的「pod 以何身份运行」概念,先于 IRSA 与 Pod Identity 多年
- 三者分工:ServiceAccount 是谁、Role 允许什么、RoleBinding 是连接的「因为我说了算」
- RBAC 只管辖 Kubernetes API,权威止于集群边界,管不到 pod 对 AWS 的调用
- IRSA 用 OIDC 让 AWS 密码学验证 ServiceAccount;Pod Identity 则按命名空间/ServiceAccount 关联
- RBAC 与 Go 接口的只读保证是两层独立防线,必须同时失效才会出事
💡 金句
一个 ServiceAccount,两种独立扩展——RBAC 留在集群内,IRSA 与 Pod Identity 走向 AWS。
👍 0
👎 0
← 返回 dev.to 首页