分享
IaC 角色临时凭据的技术原理
输入“/”快速插入内容
IaC 角色临时凭据的技术原理
用户7330
用户7330
2025年7月21日修改
为什么使用IaC Role 而不是 AKSK 更安全?
•
角色权限遵循最小权限原则
•
所有操作都是只读的,不会修改您的云资源
•
支持临时凭证,提高安全性
•
可以随时撤销角色权限
•
目前国际主流的wiz、orca、palo alto的 CSPM 工具
仅支持 role 的形式,使用aksk是技术落后的体现
技术原理
角色扮演 (Role Assumption) 机制
IaC 的核心机制是通过
角色扮演
来获取临时安全凭证 (STS - Security Token Service):
完整流程图
markdown
Markdown
graph TD
A[用户登录腾讯云控制台] --> B[打开 CloudShell]
B --> C[执行 IaC 脚本]
C --> D[创建 CAM 角色]
D --> E[配置权限策略]
E --> F[设置信任关系]
F --> G[获取 Role ARN]
G --> H[在安全平台配置 Role ARN]
H --> I[安全平台调用 AssumeRole API]
I --> J{角色扮演成功?}
J -->|是| K[获取临时凭证 STS]
J -->|否| L[返回错误信息]
K --> M[使用临时凭证访问云资源]
M --> N[执行安全扫描]
N --> O[资源发现和监控]
O --> P{凭证是否即将过期?}
P -->|是| Q[自动刷新凭证]
P -->|否| R[继续使用当前凭证]
Q --> K
R --> M
style A fill:#e1f5fe
style G fill:#f3e5f5
style K fill:#e8f5e8
style L fill:#ffebee
style Q fill:#fff3e0
STS (Security Token Service) 工作原理
优势:
-
临时性
:凭证自动过期,降低安全风险
-
权限继承
:继承角色的所有权限
-
审计追踪
:所有操作都可以追溯到角色扮演事件
STS 凭证生命周期
代码块
Plain Text
sequenceDiagram
participant U as 用户
participant S as 安全平台
participant STS as STS 服务
participant Cloud as 云资源
U->>S: 配置 Role ARN
S->>STS: AssumeRole(RoleArn, SessionName)
STS->>STS: 验证信任关系
STS->>S: 返回临时凭证
Note over S: AccessKeyId, SecretKey, Token, Expiration
loop 凭证有效期内
S->>Cloud: 使用临时凭证访问资源
Cloud->>S: 返回资源信息
end
Note over S: 检查凭证过期时间
alt 凭证即将过期 (提前5分钟)
S->>STS: 重新 AssumeRole
STS->>S: 返回新的临时凭证
end