我登录到AWS控制台是MFA&;因为我使用的是googleauthenticator。 我有S3 DEV bucket,要访问这个DEV bucket,我必须切换角色,切换之后我可以访问DEV bucket。你知道吗
我需要帮助如何用boto3在python中实现同样的功能。你知道吗
我需要在dataframe中打开许多csv文件,如果没有解析访问,我将无法继续。你知道吗
我尝试配置AWS凭证&;config,并在python代码中使用它,但没有起到任何作用。你知道吗
AWS文档不清楚如何在python中使用&do时进行角色切换。你知道吗
import boto3
import s3fs
import pandas as pd
import boto.s3.connection
access_key = 'XXXXXXXXXXX'
secret_key = 'XXXXXXXXXXXXXXXXX'
# bucketName = 'XXXXXXXXXXXXXXXXX'
s3 = boto3.resource('s3')
for bucket in s3.buckets.all():
print(bucket.name)
预期的结果应该是在python代码和MFA中切换角色之后访问该bucket。你知道吗
一般来说,在程序代码中放置凭据对安全性不利。最好将它们存储在配置文件中。您可以使用AWS Command-Line Interface (CLI)
aws configure
命令来实现这一点。你知道吗一旦凭证以这种方式存储,任何awsdk(例如boto3)都将自动检索凭证,而不必在代码中引用它们。你知道吗
见:Configuring the AWS CLI - AWS Command Line Interface
配置文件还有一个附加功能,允许您存储希望担任的角色。这可以通过指定角色为ARN的配置文件来完成:
source_profile
指向包含将用于进行AssumeRole()
调用的凭据的配置文件,role_arn
指定要承担的角色。你知道吗见:Assume Role Provider
最后,您可以告诉boto3使用该特定配置文件作为凭据:
以上所有操作的替代方法(boto3为您做的)是在代码中调用^{} ,然后使用返回的临时凭据定义一个新的
session
,您可以使用它连接到服务。但是,上面使用概要文件的方法要简单得多。你知道吗相关问题 更多 >
编程相关推荐