AWS 安全令牌服务(Security Token Service,简称 STS)是一种 AWS 提供的安全工具,用于请求具有有限权限的临时用户凭证。它允许用户在受控范围内短时间访问特权角色,既能满足业务需求,又能减少长期凭证暴露带来的安全风险。
当您需要在 AWS 账户中对敏感资源进行短暂操作,但又不想为此专门创建和长期保留 IAM 用户时,STS 是理想之选。STS 签发的凭证与常规 IAM 访问密钥功能一致,但不会存储在用户侧,并且有效期有限——通常为几分钟到几小时,最长可达 36 小时。
什么是 AWS 安全令牌服务 (STS)?
AWS STS 是一项 Web 服务,为 AWS 身份与访问管理(IAM)用户或联合身份用户颁发临时的、权限受限的凭证。这些临时凭证由访问密钥 ID、秘密访问密钥以及会话令牌组成,在有效期内可安全访问指定的 AWS 资源,而无需使用长期访问密钥。
STS 的典型应用包括:
- 跨账户访问
- 身份联合(例如 SAML、OIDC、Google Workspace、Azure AD)
- 短期提升权限
这些临时凭证的有效期可从几分钟到几小时不等,具体取决于业务场景和配置。通过这种方式,STS 能有效降低长期密钥泄露风险,并支持对 AWS 服务的细粒度限时访问。
STS 与 IAM 角色的区别
STS 与 IAM 角色相辅相成。
IAM 角色是一种 AWS 身份,包含一组权限策略,可授予特定 AWS 功能的访问权。通常,您可以将角色直接分配给 AWS 用户,但这会带来长期权限过高的风险。
例如,“删除 S3 存储桶”对于大多数组织来说是敏感且罕见的操作。如果直接将拥有此权限的角色分配给某个用户,那么该用户长期都具备删除存储桶的能力,存在安全隐患。
而通过 STS,用户只需在实际需要执行该操作时,临时承担该特权角色。凭证会在短时间内自动失效,从而确保用户日常仅持有最小权限,显著降低风险。
何时使用 AWS STS?
STS 是 AWS 多种授权流程的核心组件。常见场景包括:
1. 对特权 AWS 资源的短期访问
适用于临时获取高权限的任务。例如,系统管理员需要在维护窗口中执行数据库迁移、启用 CloudTrail 高级日志等操作,但日常不应持有这些权限。通过 STS,可以在任务开始时申请临时凭证,任务完成后自动失效。
2. 在应用程序中访问 AWS
如果您的业务应用或工具需要访问 AWS 资源,直接使用长期 IAM 凭证是高风险做法。一旦凭证泄露,将长期暴露。使用 STS,可以在应用运行时动态获取临时凭证,避免硬编码密钥在代码中,并可随时调整权限。
3. 身份联合场景
在企业中,常使用现有的身份系统(如 Azure AD、Google Workspace、Okta)统一管理用户。通过 STS 与 SAML/OIDC 协议,用户可以使用企业账号登录 AWS,无需单独创建 IAM 用户。此模式不仅提升用户体验,还减少运维成本。
4. 跨账户与委托访问
在多账户架构中(典型于大型企业或 MSP 模式),STS 可在一个账户中集中管理用户身份,并通过跨账户信任策略,让用户安全访问其他账户的资源。这减少了重复创建账号的麻烦,并集中化审计与安全策略。
AWS STS 的工作原理
一个完整的 STS 临时访问流程包括以下步骤:
- 创建角色:AWS 管理员创建包含所需权限的 IAM 角色。
- 设置信任策略:为目标用户或身份提供者配置角色信任策略。
- 请求角色:用户调用 STS API,请求承担目标角色。
- 验证与颁发:STS 检查信任策略,验证请求有效性,并生成临时凭证。
- 访问资源:用户使用临时凭证调用 AWS API,直至凭证到期失效。
示例:某运维人员需要对一个受限 S3 存储桶执行数据迁移,他会在操作前通过 AssumeRole 获取临时访问凭证,并在任务完成后自动失效,确保后续无法再次访问该存储桶。
企业落地与最佳实践
在实际企业云迁移与运维场景中,AWS STS 的价值不仅在于安全性提升,还体现在以下方面:
- 降低合规风险:通过短期凭证,可以满足 ISO 27001、GDPR、等保等对最小权限和凭证管理的要求。
- 简化审计:临时凭证的使用记录可以通过 CloudTrail 全面追踪,方便安全审计与问题溯源。
- 弹性授权:当业务需求变化(如临时外包团队介入)时,可快速为外部人员生成访问权限,并在项目结束后自动失效。
- 避免密钥泄露:不必将长期访问密钥存储在代码、配置文件或第三方平台中,大幅降低凭证泄露风险。
行业案例:
某金融客户需要在季度结算时,由审计团队访问交易日志存储在的 S3 存储桶。由于该存储桶包含大量敏感信息,客户不希望审计团队长期持有访问权限。通过 STS,他们在审计期间为该团队分配了仅 12 小时有效的只读凭证,确保任务完成后权限立即失效,实现了零残留权限的目标。
总结与建议
AWS STS 是在云上实现最小权限原则与安全合规的重要工具。无论是临时访问、跨账户协作,还是身份联合,它都能帮助企业在保障安全的同时保持敏捷性。
作为 AWS 官方代理商,我们建议企业在以下情况下优先使用 STS:
- 涉及高敏感资源的访问任务
- 多账户协作或外包团队接入
- 开发环境或自动化工具需要动态授权
- 希望通过最小化长期密钥暴露来提升安全等级
如果您的业务正在上云,或已经部署 AWS 环境但对权限管理有顾虑,欢迎联系我们的云上专家团队。我们将为您量身设计基于 STS 的安全访问方案,并协助您无缝落地到现有架构中。