2016-03-08 30 views
7

我使用与该权限的角色上EC2上运行的应用程序来获得一个会话令牌:错误试图在AWS

"sts:GetSessionToken", 
"sts:AssumeRole" 

当我尝试使用,以获得临时凭证这个角色,我得到的错误:

Cannot call GetSessionToken with session credentials (Service: AWSSecurityTokenService; Status Code: 403; Error Code: AccessDenied; 

我缺少一个或多个权限的作用,能够获得临时会话凭据?

+0

以''sts:*“'开头,看看它的工作原理。如果它不是你的角色的政策没有正确定义。如果是这样,请逐步制定策略细化。 – helloV

+0

我在角色中添加了“sts:*”和“iam:*”,但没有成功。 – Todd

+0

因此,您的政策没有正确定义。有很多例子,使用它们或发布你的政策。 – helloV

回答

5

根据AWS支持,角色无法请求临时凭证。只有实际的用户才能做到这一点

解决方法是使用角色的凭证。他们每小时翻阅一次,所以它们是暂时的(尽管硬编码为1小时TTL)

+2

当您使用角色运行时,您的凭证*为*会话凭证(EC2服务代表您的实例获取),因此错误的措辞“无法使用会话凭证调用GetSessionToken”。 –