2016-03-08 72 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」。 –