01 · 多云身份碎片化现状与收敛目标
身份是多云统一防护的第一控制点——NIST SP 800-207零信任架构将「以身份为中心」确立为新范式的核心,而多云恰好是身份碎片化最严重的地方。实践中一个中型组织的身份版图通常包括:人员身份(员工、外包、合作伙伴)分散在Entra ID/Okta/AD与各云控制台;工作负载身份(服务账号、托管身份、Pod ServiceAccount)数量可达人员身份的数十倍;CI/CD身份(部署流水线访问云的长短期凭证) traditionally以静态AK/SK形式散落各处;以及SaaS身份(Snowflake类数据平台的本地账号)。2024年Snowflake凭证填充事件证明:SaaS与数据平台中一个弱口令账号,等价于所有云上数据仓库的单点失守。
反面教材复盘:UNC5537针对Snowflake的攻击活动中,失陷账号普遍未启用MFA且口令可被撞库;攻击者在售黑产凭证库中命中企业账号后直接登录数据仓库导出数据。Mandiant在2024年6月的公开报告中明确建议:启用MFA、网络白名单、重置泄露凭证;其受害者通报共覆盖165家客户组织,79.7%的失陷账号曾在历史信息窃取木马日志中暴露凭证。这一事件把「身份收敛」从最佳实践变成了行业级硬性教训。
02 · 联邦认证架构:一套身份,多处认证
联邦认证(Federation)通过SAML 2.0与OpenID Connect(OIDC)等开放协议,使一个权威身份源(Identity Provider, IdP)为多个云服务颁发断言/令牌,用户无需在各云维护独立口令。多云场景下的推荐架构是:以企业统一IdP为根(如Microsoft Entra ID),经AWS IAM Identity Center与Google Workforce Identity Federation将身份投影到各云平台;国内环境可对接AD/钉钉/企业微信等现有目录。该架构的关键收益是:入离职、权限变更在IdP一处生效,全部云平台同步收敛——这是消灭「离职账号跨云残留」的唯一可靠机制。
| 组件层 | 机制与协议 | 多云落地要点 |
|---|---|---|
| 权威IdP | SAML 2.0 / OIDC;条件访问(设备、位置、风险信号) | 全人员入口唯一化;条件访问策略跨云对齐 |
| AWS侧 | IAM Identity Center(内置或与Entra ID/Okta等外部IdP SAML/OIDC对接) | 权限集(Permission Set)按角色映射;避免IAM用户直建 |
| Azure侧 | Entra ID为原生IdP;跨云场景下反向作为其他云的IdP | enterprise application登记各云SAML应用;令牌签名证书轮换 |
| GCP侧 | Workforce Identity Federation(OIDC/SAML外部身份池) | 无需Google账号即可访问控制台;池级属性映射控制授权 |
| 国内云 | 阿里云RAM/SSO、腾讯云CAM等支持SAML/OIDC企业身份 | 与统一IdP对接,避免本地目录双头维护 |
协议选型提示:SAML成熟度最高、生态最广(传统企业AD FS场景);OIDC基于OAuth 2.0,移动端与API场景更优,且天然承载CI/CD联邦(见下节)。新架构优先OIDC,存量SAML应用保持过渡。
2.1 身份投影的信任链核查
- 信任关系清单化:IdP↔各云SAML/OIDC应用的证书指纹、有效期、签名算法全部台账化,到期前自动告警
- 属性映射最小化:IdP仅向云平台投影必要断言(组、角色),禁止整目录属性外泄
- 回退路径管控:本地AD同步(如Entra Connect)的中断预案;断链时的人工应急流程须演练
- 影子入口清零:周期性扫描各云IAM用户直建账号(绕过IdP的本地口令账号),限期收敛
03 · CI/CD与工作负载的短期凭证:消灭长期AK/SK
多云环境中数量最庞大、暴露面最隐蔽的身份是机器身份。传统做法将云的长期访问密钥(AK/SK)存放于CI/CD变量或代码仓库,形成「一个密钥泄露=N个环境失守」的结构性风险。2021—2022年以来,AWS、Azure、GCP相继以OpenID Connect联邦支持CI/CD免密钥访问:流水线运行时向身份提供商标识自身(如GitHub Actions的签发者token.actions.githubusercontent.com),云平台验证后颁发分钟级短期令牌。这是多云身份治理中投入产出比最高的单项工程。
# 工作流权限声明:请求OIDC令牌
permissions:
id-token: write
contents: read
steps:
- uses: aws-actions/configure-aws-credentials@v4
with:
role-to-assume: arn:aws:iam::<账号ID>:role/<部署角色>
aws-region: ap-southeast-1
role-duration-seconds: 1200 # 最小必要时长
# 对应IAM角色信任策略:仅允许指定仓库/分支的工作流担任
# (principal: token.actions.githubusercontent.com,条件限定aud/sub)| 平台 | 短期凭证机制 | 要点 |
|---|---|---|
| AWS | IAM OIDC身份提供方 + 角色信任(GitHub Actions/GitLab等均有官方文档) | 信任条件限定aud与sub(仓库+分支+环境),角色时长压至任务所需 |
| Azure | Workload Identity Federation:服务连接(Service Connection)免密钥 | 托管身份优先;条件访问可约束来源仓库 |
| GCP | Workload Identity Federation(GitHub/AWS/Azure等提供方) | 身份池+属性映射将外部身份映射到服务账号;禁用服务账号长期密钥(推荐组织级强制) |
| 工作负载身份 | EKS IRSA / AKS Managed Identity / GKE Workload Identity | Pod级身份替代节点级共用凭证,权限随服务收敛(详见子课题02/04) |
工程红线:①禁止在代码、镜像、流水线变量中存放长期云密钥(配合Secrets扫描门禁,见子课题03供应链);②角色信任条件必须限定到具体仓库与分支,「任何工作流可担任」等于把云平台交给GitHub生态;③短期令牌同样可能被盗用,关键操作(生产部署)叠加人工审批或保护分支策略。
04 · 特权访问治理与凭证防护基线
4.1 特权治理四件套
- 根账号封存:AWS根账号/Entra Global Admin/GCP Org Admin日常使用禁用,凭证分片离线保存,启用MFA与告警;每次使用即触发事件复盘
- JIT提升:常态只读+按需提权(PIM/PAM类机制),特权时长小时级并全程录屏审计
- Break-glass应急账号:每云至少2个、排除条件访问策略、口令长且离线保管、定期登录验证并告警
- 第三方访问:支持厂商接入走专门低权限账号+时限授权(Okta/Sitel事件教训:第三方会话若无时限与最小权限,一次入侵波及数百租户)
4.2 凭证防护基线(跨云核查表)
| 基线项 | 核查方法 | 目标状态 |
|---|---|---|
| 人员MFA覆盖 | IdP与各云IAM报表比对 | 100%;FIDO2/Passkey等防钓鱼因子优先,短信OTP限期淘汰 |
| 控制台公网暴露 | 登录日志源ASN分析 | 非企业网络/设备不得登录控制台;境外登录阻断或告警 |
| 长期密钥存活量 | CIEM/IAM报表:用户AK创建时间与最后使用 | 存量清零计划(按季度压降);僵尸密钥自动吊销 |
| 服务账号密钥 | GCP服务账号密钥审计;K8s SA令牌治理 | 默认禁发长期密钥;Pod级工作负载身份全覆盖 |
| 条件访问一致性 | 三云策略与IdP策略语义比对 | 高危操作(密钥创建、权限变更)强制强认证+审批 |
| 离职回收时效 | HR流→IdP禁用→各云投影失效全链路计时 | 小时级;纳入月度KPI(见第8页度量体系) |
4.3 泄露检测:从「知道泄露」到「分钟级知道」
凭证泄露的发现不能只依赖外部通报。跨云统一检测(第7页详述)应在以下行为出现时产生高保真告警:登录来源ASN/地理位置与员工基线偏离(不可能旅行)、同一身份短时跨多区域登录、MFA注册设备变更+敏感API调用、异常令牌颁发量(联邦签发信息)。检测数据源优先级:IdP登录日志 > 各云控制台登录事件 > 数据访问审计。
4.4 集中密钥与机密管理(Secrets Management)
凭证明文散落在配置文件、环境变量与代码仓库,是多云身份治理的暗礁。治理要点:
- 集中存储:云原生密管(AWS Secrets Manager/Parameter Store、Azure Key Vault、GCP Secret Manager)或跨云方案(HashiCorp Vault等),应用运行期动态取密,禁止入库入仓。
- 自动轮换:数据库凭证、API密钥等可自动轮换的类别全部启用;轮换失败进入告警与工单闭环。
- 使用审计:取密行为全量审计并纳入行为基线——「谁在何时取用了哪套生产凭证」必须可答。
- 泄露应急:与4.3泄露检测联动,形成「检测—吊销—轮换—复盘」分钟级闭环;Vault类方案支持紧急封禁(seal)能力,纳入演练科目。
本节参考来源(第3页)
NIST SP 800-207《Zero Trust Architecture》(2020年8月):csrc.nist.gov。
AWS IAM Identity Center官方文档(含外部身份提供商集成):docs.aws.amazon.com。
Microsoft Entra ID(原Azure AD,2023年7月更名)与条件访问官方文档:learn.microsoft.com。
Google Cloud Workforce Identity Federation官方文档:cloud.google.com。
GitHub Actions OIDC对接AWS官方指引:docs.github.com。
Mandiant《UNC5537: Snowflake Data Theft and Extortion》(2024年6月10日):cloud.google.com威胁情报博客。
Okta关于LAPSUS$事件声明(2022年3月):okta.com官方调查总结(2022年3月)。
FIDO Alliance关于防钓鱼认证(FIDO2/Passkey)的公开规范:fidoalliance.org。