如何解决如何为Django应用程序创建IAM角色?
我想为我的Django应用制作一个IAM Role
。我如何从 AWS方面和 Django方面做到这一点?另外,我听说这是最佳做法,但我并不真正理解为什么如此重要。有人可以解释吗?谢谢!
更新Marcin:
session = boto3.Session(
aws_access_key_id=my_key,aws_secret_access_key=my_secret
)
s3 = session.resource('s3')
Marcin的更新2:
client = boto3.client(
'ses',region_name='us-west-2',aws_access_key_id=my_key,aws_secret_access_key=my_secret
client.send_raw_email(RawMessage=raw_message)
解决方法
EB使用的默认实例角色是aws-elasticbeanstalk-ec2-role。通过在IAM控制台中添加inline policies来自定义它的一种方法。
由于需要S3,SES和SNS,因此可以在嵌入式策略中为其添加权限。不清楚您需要执行哪些操作(仅对S3只读,仅对SNS发布消息?),或者如果您有特定的资源(例如,仅给定一个存储桶或单个sns主题),则可以从添加对以下内容的完全访问权限开始服务。但请注意,授予完全访问权限是不好的做法,并且不遵循grant least privilege规则。
尽管如此,可以完全访问S3,SES和SNS的嵌入式策略示例为:
{
"Version": "2012-10-17","Statement": [
{
"Sid": "VisualEditor0","Effect": "Allow","Action": [
"sns:*","ses:*","s3:*"
],"Resource": "*"
}
]
}
以下内容就足够了:
s3 = boto3.resource('s3')
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。