在AWS S3 Bucket中,我们可以通过设置Bucket访问控制列表(ACL)及Bucket Policy来控制文件的访问权限。其中Bucket ACL可以控制Bucket与对象的读写权限,而Bucket Policy可以控制Bucket内文件的访问权限。
代码示例:
设置Bucket ACL:
import boto3
s3 = boto3.client('s3')
response = s3.put_bucket_acl(
ACL='private', # 其他选项包括public-read,public-read-write等
Bucket='my-bucket'
)
设置Bucket Policy:
import boto3
import json
s3 = boto3.client('s3')
policy = {
"Version":"2012-10-17",
"Statement":[
{
"Effect":"Allow",
"Principal": "*",
"Action":["s3:GetObject"],
"Resource":["arn:aws:s3:::my-bucket/*"]
}
]
}
response = s3.put_bucket_policy(
Bucket='my-bucket',
Policy=json.dumps(policy)
)