我有一个在Apache和mod_wsgi下运行的Flask应用程序。 它需要从AWS S3读取,所以我使用boto3。 我做的是运行 aws configure 来创建〜/ .aws,然后将其移动到 为WSGI配置的主页。但是当我运行应用程序时,我得到了:
botocore.exceptions.ClientError: An error occurred (AccessDenied) when calling the ListBuckets operation: Access Denied
如果我将WSGI app启动文件中的密钥设置为os.environ['AWS_....'] = ...
,它可以正常工作。
所以问题是如何根据在mod_wsgi下运行的Flask app来使用aws configure输出?
答案 0 :(得分:0)
在OS级别设置AWS_PROFILE环境变量。在Linux中,您将在'/ etc / environment'
中创建变量AWS_PROFILE =我的资料
或者,您可以为实例配置文件创建IAM角色,并以这种方式提供适当的权限。