EKS POD Identity使用IAM Role 静态跨账户互访S3

EKS POD Identity使用IAM Role 静态跨账户互访S3

Deng YongJie's blog 12 2025-08-03

长期静态跨账户访问S3,采用 IAM Role 授权跨账户方法

  1. 账户 A 创建一个 IAM 角色 Role-A,账户 B 的用户/角色 并允许 账户A担任此角色。
  2. 账户 A 的用户调用 sts:AssumeRole 获取临时凭证。
  3. 使用临时凭证访问账户 B 的 S3 存储桶。

总体链路:账户A pod identity => IAM Role => STS => 账户B Role => S3

1. 账户A创建个role,并授权S3权限

image-20250610111332922

2. 账户A创建pod_identity_association,关联role

image-20250610111406447

3. 账户B创建role,设置跨账户访问信任策略,授权S3权限

注意:信任策略里面的arn,需要填写账户A的arn,账户A必须要存在role

image-20250610111540253

image-20250610111709708

4. 账户B设置S3的访问策略

注意:策略里的role arn,填写的是当前账户B的role arn

image-20250610111812529

image-20250610111921925