python - 如何自动化 AWS s3 存储桶对象的权限

标签 python amazon-web-services amazon-s3 aws-lambda boto

我有一个 s3 存储桶,多个账户正在将对象放入其中。我希望拥有该存储桶的账户也拥有这些文件。

该脚本使用 boto3 来命名和放置对象,所以我可以在此脚本中设置权限吗?
或者是否有一个 s3 政策可以强制新文件的所有权?
我更喜欢桶政策,但我怀疑它是否可能。 文件名为

"account# and the date.json"

account_id = (boto3.client('sts').get_caller_identity()['Account'])
s3.Object('S3bucketname', account_id + "_" + date_fmt + ".json").put(Body=json.dumps(iplist))

编辑:我应该补充一点,试图从这个包含对象的桶中读取的进程有一个与之关联的角色,所以我假设我的委托(delegate)人是

arn:aws:iam::ACCOUNT_ID_of_bucket:role/ROLENAME

最佳答案

 boto3.resource('s3').ObjectAcl('S3BUCKETNAME', account_id + "_" + date_fmt + ".json").put(ACL='bucket-owner-full-control')

以上内容将使存储桶拥有者完全控制由具有此名称格式的 lambda 作业创建并放入存储桶中的任何对象。

关于python - 如何自动化 AWS s3 存储桶对象的权限,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51104230/

相关文章:

python - Plotly:向条形图添加线条

python - 从列表中获取特定字符串 - Python

python - ValueError : Length of values does not match length of index | Pandas DataFrame. 唯一()

ios - 我们是否必须使用 Cognito 进行 Dynamodb 访问?

node.js - Amazon Ec2 服务器上的数据库连接丢失

asp.net-mvc - 通过 Post 和 ASP.NET MVC 上传 Amazon S3

amazon-web-services - git 版本控制 lambda 函数

python - 在pyspark SQL DataFrame中乘以稀疏向量行

caching - 面试分配-设计像S3这样的系统

amazon-web-services - AWS S3 DeletionPolicy - 创建后添加并验证设置