第4章 身份认证与访问控制

核心考点:RAM角色与策略、STS临时凭证、OIDC/SAML联邦认证、最小权限原则。本章覆盖大厂高频面试题,重点考察候选人从“权限模型设计”到“凭据生命周期管理”的实战思维。
身份认证与访问控制 · 面试回答框架 理解业务场景 人/服务/跨账号? 选择认证方式 RAM角色/STS/OIDC 最小权限策略 权限边界+条件 临时凭据管理 有效期/刷新/回收 审计与监控 ActionTrail+告警 返回检查

核心概念对比

概念 适用场景 凭据类型 有效期 典型问题
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”(谁、什么资源、什么操作、什么条件、什么时候、怎么获得);最好附带一个跨账号或联邦认证的真实案例,展示对最小权限和凭据生命周期的落地经验。