千家信息网

怎么禁止S3用户删除Object

发表于:2025-12-02 作者:千家信息网编辑
千家信息网最后更新 2025年12月02日,这篇文章主要讲解了"怎么禁止S3用户删除Object",文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习"怎么禁止S3用户删除Object"吧!需求描述:需要
千家信息网最后更新 2025年12月02日怎么禁止S3用户删除Object

这篇文章主要讲解了"怎么禁止S3用户删除Object",文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习"怎么禁止S3用户删除Object"吧!

需求描述:需要关闭某些S3账号的删除权限,但是默认DELETE操作是由bucket WIRTE权限进行控制的,无法单独拆分DELETE操作。

解决思路:
1. 过滤前端HTTP请求的DELETE操作(需要写点代码)
2. 修改S3内置用户的metadata信息,本文用的就是这个方法。

1. 确认用户metadata信息

root@demo# radosgw-admin metadata get user:s3user{    "key": "user:s3user",    "ver": {        "tag": "_HUtHU_6yBqHTSzDLb9y8tjX",        "ver": 2    },    "mtime": 1493110079,    "data": {        "user_id": "s3user",        "display_name": "s3user",        "email": "",        "suspended": 0,        "max_buckets": 1000,        "auid": 0,        "subusers": [],        "keys": [            {                "user": "s3user",                "access_key": "xxx",                "secret_key": "xxx"            }        ],        "swift_keys": [],        "caps": [],        "op_mask": "read, write,delete", #这里有delete权限        "default_placement": "",        "placement_tags": [],        "bucket_quota": {            "enabled": false,            "max_size_kb": -1,            "max_objects": -1        },        "user_quota": {            "enabled": false,            "max_size_kb": -1,            "max_objects": -1        },        "temp_url_keys": []    }}

2. 修改用户metadata信息

导出用户metadata

root@demo# radosgw-admin metadata get user:s3user > s3user.json

修改用户metadata

修改生成的s3user.json文件,修改"op_mask",删除"delete"字段

"op_mask": "read, write",

导入用户metadata

root@demo6# radosgw-admin metadata put  user:s3user < s3user.json

确认配置是否生效

root@demo# radosgw-admin metadata get user:s3user{    "key": "user:s3user",    "ver": {        "tag": "_HUtHU_6yBqHTSzDLb9y8tjX",        "ver": 2    },    "mtime": 1493110079,    "data": {        "user_id": "s3user",        "display_name": "s3user",        "email": "",        "suspended": 0,        "max_buckets": 1000,        "auid": 0,        "subusers": [],        "keys": [            {                "user": "s3user",                "access_key": "xxx",                "secret_key": "xxx"            }        ],        "swift_keys": [],        "caps": [],        "op_mask": "read, write", #delete权限没了        "default_placement": "",        "placement_tags": [],        "bucket_quota": {            "enabled": false,            "max_size_kb": -1,            "max_objects": -1        },        "user_quota": {            "enabled": false,            "max_size_kb": -1,            "max_objects": -1        },        "temp_url_keys": []    }}

3. 验证

from boto.s3.connection import S3Connectionimport botoendpoint = 's3.ceph.work'bucket_name = 'test1'access_key = 'xx'secret_key = 'xx'local_file = '/tmp/ct.shutdown'key_name = 'new_file'conn = boto.connect_s3(    aws_access_key_id=access_key,    aws_secret_access_key=secret_key,    host=endpoint,    is_secure=False,    calling_format=boto.s3.connection.SubdomainCallingFormat(),    validate_certs=True,)bucket = conn.create_bucket(bucket_name)key_ = bucket.new_key(key_name)key_.set_contents_from_filename(local_file)#方法1bucket.delete_keys([key_name])#方法2# key_.delete()#方法3# bucket.delete_key(key_name)

上面3种方式都会提示403错误

Traceback (most recent call last):.....boto.exception.S3ResponseError: S3ResponseError: 403 ForbiddenAccessDenied

感谢各位的阅读,以上就是"怎么禁止S3用户删除Object"的内容了,经过本文的学习后,相信大家对怎么禁止S3用户删除Object这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是,小编将为大家推送更多相关知识点的文章,欢迎关注!

用户 方法 权限 信息 学习 内容 就是 思路 验证 代码 前端 字段 情况 文件 文章 方式 是由 更多 知识 知识点 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 网络安全 海外硕士 以色列 网络安全 远控 电脑服务器添加墨迹 羊城杯网络安全大赛高职组 湖南扬途网络技术有限公司干嘛的 铜陵软件开发培训哪家好 深圳软件开发公司聚集地区 微信加好友软件开发 娄底市网络安全宣传点 中国科学引文数据库扩展库 富民创新软件开发网上价格 什么是计算机网络安全 私服服务器被攻击 网络技术的未来流程模式 图书馆数据库摊销核算 特云数智成都网络技术有限公司 联想ts250塔式服务器 计算机软件开发前景 租用的服务器怎么使用 网络安全的特点都有什么 饥荒公共服务器和本地服务器 获取数据库连接失败是什么原因 xftp7使用教程做服务器 中国科学引文数据库扩展库 软件开发文档管理 300字网络安全靠大家演讲稿 三级网络技术二级 网络安全上网工具 黑马智能机器人软件开发视频 软件开发集成测试什么意思
0