Administrator
发布于 2025-02-07 / 8 阅读
0
0

bucket_policy.py

web访问swift上传下载方式

http://IP:Port/swift/v1/bucket_name

http://IP:Port/swift/v1/bucket_name/object

认证访问方式

http://IP:Port/auth/v1.0

——————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————

# python脚本 #此脚本会把bucket设置为共读写,匿名访问,bucket中现有的数据和后面上传到的数据均可访问

# 修改 AK SK URL BUCKET_NAME

#!/usr/bin/env python3

# author: xuxu

import boto3

import json

access_key = "S3_access_key"

secret_key = "S3_secret_key"

conn = boto3.client('s3', 'default',

endpoint_url="http://IP:Port",

aws_access_key_id=access_key,

aws_secret_access_key=secret_key)

bucket_name = "your-bucket-name"

bucket_policy = {

"Version": "2012-10-17",

"Statement": [

{

"Sid": "AddPerm",

"Effect": "Allow",

"Principal": "*",

"Action": ["s3:GetObject"],

"Resource": ["arn:aws:s3:::{0}/*".format(bucket_name)]

}

]

}

bucket_policy = json.dumps(bucket_policy)

conn.put_bucket_policy(Bucket=bucket_name, Policy=bucket_policy)

#执行脚本

python3.6 aws.py

#然后设置桶维度的公共匿名访问权限

s3cmd setacl --acl-public s3://bucket_name

——————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————

——————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————

# 取消匿名访问bucket中的对象

#!/usr/bin/env python3

# author: xuxu

import boto3

# 配置 AWS 访问密钥

access_key = "S3_access_key"

secret_key = "S3_secret_key"

endpoint_url = "http://ip:port"

# 创建 S3 客户端

s3 = boto3.client('s3', aws_access_key_id=access_key, aws_secret_access_key=secret_key, endpoint_url=endpoint_url)

# 桶名称

bucket_name = "your-bucket-name"

# 删除桶策略

s3.delete_bucket_policy(Bucket=bucket_name)

print("Bucket policy deleted successfully.")

# 执行脚本

python3.6 aws.py

# 取消桶维度的公共匿名访问权限

s3cmd setacl --acl-private s3://bucket_name

——————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————


评论