使用 Iam Role 与 STS 的应用程序

Application using Iam Role vs STS

我是 AWS 的新手,试图理解这些概念,IAM 角色和 STS 之间有什么区别application.can 什么时候使用哪个服务请任何人解释

简单来说,IAM 角色是一个 文档 ,定义谁(您的应用程序、AWS 服务等)可以使用什么(API 调用列表) 在什么条件下(服务特定条件列表,可选)。角色由 IAM service.

管理

STS 是 AWS service,用于获取临时凭证。如果您想担任角色,您可以通过 STS 服务请求这些凭据。如果您的应用程序有权承担角色,IAM 服务 将授予您此角色允许的权限(API 调用列表)和 STS 服务 将 return 您的凭据。

现在,鉴于上面的解释,“何时使用哪个”并不是一个完全正确的问题。但我明白你的想法是从哪里来的,我认为更好的问题是:“何时使用 STS 服务承担角色,何时不承担”。

根据经验,如果您的应用程序是 运行 在 AWS(EC2、Elastic Beanstalk、Lambda 等)上的应用程序,则答案是直接使用角色,即将角色附加到实例。如果您的应用程序使用适用于任何语言的 AWS SDK,它会无缝地选择它。

如果您想在完全不同的帐户中执行某些操作,则例外。那么你需要直接使用STS服务在不同的账号中承担角色。

如果您的负载 运行 在 AWS 之外,请使用 STS。