简介
STS(Security Token Service)是 Amazon Web Services(AWS)提供的一项服务,用于生成临时安全令牌,以实现临时的身份验证和授权机制。通过使用 STS,可以为应用程序或用户生成临时凭证,以安全地访问 AWS 资源
STS 的核心概念是角色(Role)和令牌(Token):
- 角色(Role):STS 允许创建角色,这些角色具有特定的权限和访问策略。角色可以是用于不同身份或应用程序的临时访问权限,以控制对 AWS 资源的访问
- 令牌(Token):当用户或应用程序需要访问 AWS 资源时,它们可以通过 STS 请求生成一个临时的令牌。这个令牌将包含一个临时的安全凭证,具有一定的有效期,并且只能用于特定的权限和资源
STS 功能及使用场景
STS 功能及使用场景:
- 跨账号访问:STS 可以用于实现跨 AWS 账号的访问。通过在一个账号中创建一个角色,并将另一个账号作为可信实体定义信任策略,可以让可信实体(另一个账号或 IAM 用户)扮演该角色并获得临时访问凭证,从而跨账号访问受保护的资源
- 联合身份:STS 可以用于实现联合身份场景,例如企业身份提供商(IdP)与 AWS 之间的集成。用户可以通过企业身份提供商进行身份验证,并获取相应的令牌。这些令牌可以用于调用 STS 服务,通过
AssumeRoleWithWebIdentity操作获取临时凭证,从而访问 AWS 资源 - 临时访问凭证:STS 可以生成临时访问凭证,这些凭证具有特定的访问权限和过期时间。这对于需要临时访问权限的应用程序或服务非常有用,可以减少长期凭证的滥用风险。临时访问凭证通常与 IAM 角色结合使用,通过
AssumeRole操作生成 - 身份联合和角色切换:在某些情况下,用户可能需要在不同的身份或角色之间切换,以获取不同的访问权限。STS 可以通过
AssumeRole操作和角色切换来支持这种场景,使用户能够根据需要获取不同的临时访问凭证,并在不同的角色之间切换
STS 角色和 IAM 角色关系
STS 角色和IAM 角色是同一个角色的不同称呼。在 AWS 中,STS(Security Token Service)是用于生成临时访问凭证的服务,而 IAM(Identity and Access Management)是用于管理身份和访问权限的服务。当我们在 IAM 中创建角色时,这些角色也被称为STS 角色,因为它们可以被用于生成临时访问凭证。因此,STS 角色和IAM 角色是指同一个概念
结语
STS 可以通过 AWS Management Console、CLI(命令行界面)或 API(应用程序接口)进行使用,以生成临时凭证,并实现安全的身份验证和授权机制
STS 是用于生成临时访问凭证的服务,它可以与IAM 角色结合使用。IAM 角色是一个身份实体,它具有一组权限和访问策略。通过 STS 的AssumeRole操作,可以为IAM 角色生成临时安全令牌,该令牌可以在一定时间内用于具有受限访问权限的操作。这些临时通行证可用于跨账号访问、联合身份等场景