2017-06-20 50 views
2

我能夠獲得access_key和secret_key,但我無法獲得安全令牌。
這工作:Boto3:Get aws_security_token

import boto3 
session = boto3.Session() 
credentials = session.get_credentials() 
print credentials.access_key 
print credentials.secret_key 

這不:
print credentials.session_token
這也不:
print credentials.security_token
也不是這:

client = boto3.client('sts') 
client.get_session_token() 

給了我這個錯誤:

ClientError: An error occurred (AccessDenied) when calling the GetSessionToken operation: Cannot call GetSessionToken with session credentials 

請幫忙!

+0

爲什麼你希望獲得的令牌?您是在具有角色的EC2實例或具有憑證文件的本地計算機上運行此操作的? –

+0

我正在本地機器上運行它。我需要在代碼的其他部分使用這個標記。 –

+0

你爲什麼認爲你應該得到一個安全令牌?只有在通過安全令牌服務創建證書時(例如將角色分配給EC2實例時),纔會提供它們。您正在使用的憑據可能沒有分配安全令牌。 –

回答

2

這工作:

import boto3 
session = boto3.Session() 
credentials = session.get_credentials() 
print credentials.token 

我發現,通過print credentials.__dict__

+0

謝謝!有用!! –