第4章 身份认证与访问控制
核心考点:RAM角色与策略、STS临时凭证、OIDC/SAML联邦认证、最小权限原则。本章覆盖大厂高频面试题,重点考察候选人从“权限模型设计”到“凭据生命周期管理”的实战思维。
核心概念对比
| 概念 | 适用场景 | 凭据类型 | 有效期 | 典型问题 |
|---|---|---|---|---|
| RAM角色 | 跨账号授权、角色切换 | 角色ARN + 临时AK | 可自定义(最长1h) | 角色信任策略怎么写? |
| STS临时凭证 | 移动端/第三方临时访问 | AccessKey + SecurityToken | 15min~1h | 如何安全分发? |
| OIDC | K8s ServiceAccount、GitHub Actions | ID + 角色ARN | 依赖IdP配置 | OIDC Provider 如何建立信任? |
| SAML | 企业IdP(AD、Okta)集成 | SAML Assertion | 由IdP控制 | ACS URL 与 Attribute Mapping |
💡 加分提醒:面试时主动提到“最小权限原则应结合条件(Condition)和最大会话时长(SessionDuration)”会显著提升印象分。
Q1:RAM角色和RAM用户有什么区别?什么时候用角色而不是用户?
- 考察点:能否分清“谁”和“什么权限”,以及跨账号、临时身份的设计意识。
- 回答框架:本质区别 → 使用场景 → 凭据获取方式 → 安全对比。
- 示例回答:RAM用户是长期身份,适合固定人员或程序;RAM角色是临时身份,适合跨账号授权或需要失效能自动回收的场景,例如云上CI/CD流水线。角色通过AssumeRole获取临时AK,无需管理长期密钥。
- 可能追问:角色的信任策略如何配置?能限制来源IP吗?
- 避坑提醒:不要只说“角色更安全”,要说明角色凭据有有效期且可审计;同时注意角色不能直接登录控制台。
Q2:STS临时凭证有效期如何设置?超过有效期怎么办?
- 考察点:对STS参数(DurationSeconds)的理解,以及凭证刷新/缓存策略。
- 回答框架:设置范围 → 过期行为 → 客户端处理策略 → 安全建议。
- 示例回答:STS临时凭证有效期最短15分钟,最长1小时,通过DurationSeconds参数指定。过期后API返回403错误。客户端应提前10%时间刷新凭证,或捕获异常后重新调用AssumeRole获取新凭证。
- 可能追问:如果凭证在调用中途过期怎么办?如何保证重试幂等?
- 避坑提醒:避免把所有临时凭证有效期设成最大值,建议根据业务行为粒度设置(如一次API调用15分钟,批处理任务30分钟)。
Q3:如何实现最小权限原则?(请结合RAM策略举例)
- 考察点:策略语法、条件表达式、权限边界(Permissions Boundary)的掌握。
- 回答框架:策略结构 → 条件限制 → 权限边界 → 持续审计。
- 示例回答:最小权限原则要求只赋予完成业务所需的最小操作。例如,允许某应用只读访问特定Bucket路径,使用Resource限定“oss://my-bucket/logs/*”,Action只包含“oss:GetObject”,并通过Condition限制来源IP和TLS版本。
- 可能追问:权限边界和普通策略有什么区别?什么时候用IAM Policy vs RAM Policy?
- 避坑提醒:不要在策略中滥用“*”,尤其是Resource和Action;优先使用“Deny+Allow”模式,并在Condition中增加时间、IP、MFA等约束。
⚠️ 易错点:阿里云RAM策略不支持IAM的显式Deny概念(部分服务),需通过RAM Policy和资源组权限配合实现“白名单+黑名单”效果。
项目案例:基于STS临时凭证实现跨账号日志采集
| 项目名称 | 跨账号日志分析平台 STS 集成 |
| 业务背景 | 集团多账号架构,安全中心需要从各业务账号日志仓库(OSS)拉取审计日志,完成统一审计分析。 |
| 规模指标 | 50+业务账号,日均日志量 2TB,OSS 请求峰值 10万 QPS。 |
| 技术栈 | 阿里云 RAM、STS、OSS、ActionTrail、SLS(日志服务)。 |
| 核心难点 | 临时凭证刷新时机与并发控制;跨账号信任策略中 Condition 限制安全审计 IP;日志脱敏与权限边界设计。 |
| 面试高频追问 | ① AssumeRole 时如何限制来源IP?② 临时凭证过期后数据一致性如何保证?③ 如何审计每次 AssumeRole 操作? |
| 可迁移回答话术 | “在该项目中,我设计了统一的 STS 分发服务,通过 ActionTrail 记录每次 AssumeRole 请求,并设置 Condition 限制只有安全审计服务所在的 VPC 可以调用。客户端使用二级缓存,提前一半有效期刷新 ,确保采集任务无中断。权限边界上只允许读取特定前缀的日志文件,拒绝写入和删除。” |
📌 本章总结:身份认证与访问控制是安全工程师的入门必考,面试时要能说出“5W1H”(谁、什么资源、什么操作、什么条件、什么时候、怎么获得);最好附带一个跨账号或联邦认证的真实案例,展示对最小权限和凭据生命周期的落地经验。