有没有办法从boto3获取access_key和secret_key?

Ant*_*ony 5 python amazon-web-services boto3

当我启动具有IAM角色的EC2实例时,我可以boto3在该EC2实例上使用,而不必指定aws访问和密钥,因为boto3 它们会自动读取它们.

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

我想知道是否有任何方法可以从boto3获取访问密钥和密钥?例如,如何使用打印到标准控制台print

Jor*_*ips 13

肯定有(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)
Run Code Online (Sandbox Code Playgroud)

  • 很好地提及了“ get_frozen_credentials”方法,上面已经提到的已回答问题中没有提及。 (2认同)
  • 要回答 Kishor Pawar 的上述问题,上面对会话的调用需要在配置文件中包含配置文件名称。例如,我正在使用: session = boto3.Session(profile_name='namexyz') 其中 'namexyz' 是我的凭据文件中的部分:[namexyz]。 (2认同)