我是AWS的新手,正在尝试理解这些概念,Iam角色和STS之间的区别是什么?何时使用来自应用程序的服务。有人能解释吗
简单地说,IAM角色是一个文档,定义谁(您的应用程序、AWS服务等(可以在哪些条件下使用什么(API调用列表((服务特定条件列表,可选(。角色由IAM服务管理。
STS是AWS服务,用于获取临时凭据。若您想承担这个角色,您可以通过STS服务请求这些凭据。如果您的应用程序具有承担角色的权限,IAM服务将授予您此角色允许的权限(API调用列表(, STS服务现在,";何时使用哪个";考虑到上面的解释,这不是一个完全正确的问题。但我理解你的想法,在我看来,更好的问题是:";何时使用STS服务来承担角色,何时不使用";。 答案是,根据经验,如果你的应用程序在AWS(EC2、Elastic Beanstalk、Lambda等(上运行,则直接使用角色,即将角色附加到实例。如果您的应用程序使用任何语言的AWS SDK,它都会无缝接收。 如果您想在完全不同的帐户中执行某些操作,则会出现例外情况。然后,您需要直接使用STS服务来承担不同帐户中的角色。 如果您的有效负载在AWS之外运行,请使用STS。