IRSA 是一种安全机制,允许 VKE 集群中的应用通过 Kubernetes Service Accounts (服务账号) 来使用火山引擎 IAM 角色。IRSA 机制将特定的 IAM 角色与服务账号关联,从而使得运行在 VKE 集群中的 Pod 能够通过该服务账号继承 IAM 角色的权限,访问各类云产品资源。
IRSA 功能的工作流程如下:
用户启动一个使用服务账号令牌投射的 Pod。相关说明,请参见 Kubernetes 文档:为 Pod 配置服务账号。
集群 API Server 为该 Pod 颁发使用 OIDC 身份生产的 Token(即 OIDC Token),kubelet 为该 Pod 挂载 OIDC Token 并定时刷新。
Pod 内程序使用挂载的 OIDC Token 文件访问 STS 服务的 AssumeRoleWithOIDC 接口,获取扮演指定 IAM 角色的临时凭证。