2016-12-21 1 views
3

IAMの役割を持つEC2インスタンスを起動すると、そのEC2インスタンスでboto3を使用でき、aw32のアクセスと秘密鍵を指定する必要がないので、boto3reads them automaticallyです。boto3からaccess_keyとsecret_keyを取得する方法はありますか?

>>> import boto3 
>>> s3 = boto3.resource("s3") 
>>> list(s3.buckets.all())[0] 
s3.Bucket(name='my-bucket-name') 

質問

boto3からのアクセスキーと秘密鍵を取得する方法がある場合、私は思ったんだけど?例えば、どのように私は確信してありprint

答えて

6

を使用して、標準のコンソールにそれらを印刷することができます(docs)です:

from boto3 import Session 

session = Session() 
credentials = session.get_credentials() 
# Credentials are refreshable, so accessing your access key/secret key 
# separately can lead to a race condition. Use this to get an actual matched 
# set. 
current_credentials = credentials.get_frozen_credentials() 

# I would not recommend actually printing these. Generally unsafe. 
print(current_credentials.access_key) 
print(current_credentials.secret_key) 
print(current_credentials.token) 
+0

「get_frozen_credentials」のグッド言及、既に回答に記載されていない方法で、上記の質問。 – simon

+0

疑わしい: 'セッション'に資格情報を渡さないでくださいどのように 'boto3'が返す資格情報を知っていますか?どのアカウントから戻ってくるべき資格証明書ですか? –

関連する問題