桶策略允许用户将资源(桶和对象)的访问和控制权限开放给其他用户,使用桶策略对存储资源进行访问控制。
桶策略的创建、修改、删除操作都属于设置桶策略,任务台下发任务时都称为桶策略。
支持同一租户中的用户授权,不支持跨租户授权。
批量设置桶策略时,当“桶策略”对话框中没有新建的桶策略,单击<确定>按钮,将会删除所有桶原有的策略。
批量设置桶策略时,不支持展示桶原有的策略,支持通过创建新策略来覆盖原有的策略。
选择拒绝所有用户对资源进行任何操作,会导致该桶无法被使用。
选择顶部“存储”页签,单击左侧导航树[对象存储/桶管理]菜单项,进入桶管理页面。
选择待设置的桶,单击<桶策略>按钮,弹出桶策略配置对话框。
执行创建、修改、删除桶策略操作。
创建桶策略:单击<新建>按钮,弹出创建桶策略对话框,输入信息后,单击<确定>按钮完成操作。
修改桶策略:选中桶策略,单击<修改>按钮,弹出修改桶策略对话框,修改相关信息后,单击<确定>按钮完成操作。
删除桶策略:选中桶策略,单击<删除>按钮,在弹出的删除提示框中,单击<确定>按钮完成操作。
授权用户:指定被授权的用户,“*”表示所有用户,多个用户请使用英文逗号隔开。
效果:对动作权限的描述,“允许”表示授予动作权限,“拒绝”表示不授予。
授权资源:指定被授权的桶,“*”表示所有桶,多个桶请使用英文逗号隔开。
动作:指定该用户的动作权限,关于动作赋予的具体权限见下表:
Operation |
Permission |
Introduction |
s3:GetObject |
READ |
下载对象 |
s3:GetObjectTorrent |
READ |
从桶获取Torrent文件 |
s3:GetObjectVersion |
READ |
获取桶的版本控制 |
s3:GetObjectVersionTorrent |
READ |
获取其他版本的Torrent文件 |
s3:GetObjectTagging |
READ |
获取对象的Tag集 |
s3:GetObjectVersionTagging |
READ |
获取其他版本的tag集 |
s3:ListAllMyBuckets |
READ |
获取已验证发件人拥有的所有存储桶的列表 |
s3:ListBucket |
READ |
返回bucket中的部分或全部(最多1000个)对象 |
s3:ListBucketMultipartUploads |
READ |
获取正在进行的多段上传的列表 |
s3:ListBucketVersions |
READ |
获取有关存储桶中对象的所有版本的元数据 |
s3:ListMultipartUploadParts |
READ |
获取为特定多段上传而上传的部件 |
s3:AbortMultipartUpload |
WRITE |
中止多段上传 |
s3:CreateBucket |
WRITE |
创建一个新桶 |
s3:DeleteBucket |
WRITE |
删除存储桶 |
s3:DeleteObject |
WRITE |
删除对象的空版本(如果有),并插入一个删除标记,该标记将成为对象的最新版本。如果没有空版本,AmazonS3不会删除任何对象 |
s3:DeleteObjectVersion |
WRITE |
删除桶中对象版本 |
s3:PutObject |
WRITE |
向存储桶添加对象 |
s3:PutObjectTagging |
WRITE |
将提供的tag集设置为存储桶中已存在的对象 |
s3:PutObjectVersionTagging |
WRITE |
为多版本对象设置tag集 |
s3:DeleteObjectTagging |
WRITE |
从指定对象中删除整个tag集 |
s3:DeleteObjectVersionTagging |
WRITE |
从指定对象版本中删除整个tag集 |
s3:RestoreObject |
WRITE |
将对象的存档副本还原回Amazon S3 |
s3:GetAccelerateConfiguration |
READ_ACP |
使用accelerate子资源获取bucket的传输加速状态,该状态是Enabled或Suspended |
s3:GetBucketAcl |
READ_ACP |
使用acl子资源获取bucket的访问控制列表(acl) |
s3:GetBucketCORS |
READ_ACP |
获取为bucket设置的cors配置信息 |
s3:GetBucketLocation |
READ_ACP |
获取bucket所在的区域 |
s3:GetBucketLogging |
READ_ACP |
获取bucket的日志记录状态,以及用户必须查看和修改该状态的权限 |
s3:GetBucketNotification |
READ_ACP |
获取bucket的通知配置 |
s3:GetBucketPolicy |
READ_ACP |
获取指定存储桶的策略 |
s3:GetBucketRequestPayment |
READ_ACP |
获取bucket的请求支付配置 |
s3:GetBucketTagging |
READ_ACP |
获取与bucket关联的tag集 |
s3:GetBucketVersioning |
READ_ACP |
获取bucket的版本控制状态 |
s3:GetBucketWebsite |
READ_ACP |
获取bucket的网站配置 |
s3:GetLifecycleConfiguration |
READ_ACP |
获取bucket上设置的生命周期配置信息 |
s3:GetObjectAcl |
READ_ACP |
获取对象的访问控制列表(ACL) |
s3:GetObjectVersionAcl |
READ_ACP |
针对多版本对象获取对象的访问控制列表(ACL) |
s3:GetReplicationConfiguration |
READ_ACP |
获取存储桶的复制配置 |
s3:DeleteBucketPolicy |
WRITE_ACP |
实现使用策略子资源删除指定存储桶的策略 |
s3:DeleteBucketWebsite |
WRITE_ACP |
删除bucket的网站配置 |
s3:DeleteReplicationConfiguration |
WRITE_ACP |
从存储桶中删除复制配置 |
s3:PutAccelerateConfiguration |
WRITE_ACP |
设置现有存储桶的加速配置(更快的数据传输) |
s3:PutBucketAcl |
WRITE_ACP |
使用访问控制列表(ACL)设置对现有存储桶的权限 |
s3:PutBucketCORS |
WRITE_ACP |
为桶设置cors配置 |
s3:PutBucketLogging |
WRITE_ACP |
设置bucket的日志参数,并为可以查看和修改日志参数的用户指定权限 |
s3:PutBucketNotification |
WRITE_ACP |
为存储桶启用指定事件的通知 |
s3:PutBucketPolicy |
WRITE_ACP |
将amazons3桶策略应用于amazons3桶 |
s3:PutBucketRequestPayment |
WRITE_ACP |
设置桶的请求付款配置 |
s3:PutBucketTagging |
WRITE_ACP |
设置桶的标签 |
s3:PutBucketVersioning |
WRITE_ACP |
设置现有存储桶的版本控制状态 |
s3:PutBucketWebsite |
WRITE_ACP |
设置在网站子资源中指定的网站的配置。 |
s3:PutLifecycleConfiguration |
WRITE_ACP |
为bucket创建新的生命周期配置或替换现有的生命周期配置 |
s3:PutObjectAcl |
WRITE_ACP |
使用acl子资源为已存在于存储桶中的对象设置访问控制列表(acl)权限 |
s3:PutObjectVersionAcl |
WRITE_ACP |
使用acl子资源为已存在于存储桶中的多版本对象设置访问控制列表(acl)权限 |
s3:PutReplicationConfiguration |
WRITE_ACP |
创建复制配置或替换现有配置 |
条件:指定桶策略生效条件,具体条件含义见下表:
Aws条件键 |
描述 |
相应选项 |
aws:CurrentTime |
与使用此键可将请求的日期和时间与您在策略中指定的日期和时间进行比较。 |
DateEquals:支持进行日期和时间的匹配 DateNotEquals:不支持进行日期和时间的匹配 |
aws:EpochTime |
使用此键可将请求的日期和时间(以纪元或Unix时间表示)与您在策略中指定的值进行比较。此键还接受自1970年1月1日以来的秒数。 |
NumericEquals:支持进行数值匹配 NumericNotEquals:不支持进行数值匹配 |
aws:PrincipalType |
使用此键可将发出请求的委托人的类型与您在策略中指定的委托人类型进行比较。有关信息如何显示在不同委托人的请求上下文中的详细信息。 |
StringEquals:支持字符串精确匹配,区分大小写 StringNotEquals:不支持匹配 |
aws:Referer |
使用此键可将在客户端浏览器中引用请求的站点与您在策略中指定的引用站点进行比较。aws:referer请求上下文值是由调用方在HTTP标头中提供的。 |
StringEquals:支持字符串精确匹配,区分大小写 StringNotEquals:不支持匹配 |
aws:SecureTransport |
使用此键可检查是否已使用SSL发送请求。请求上下文将返回true或false。在策略中,只能在使用SSL发送请求时允许特定操作。 |
支持bool时:进行bool值的匹配,即匹配True or False |
aws:SourceIp |
使用此键可将请求者的 IP 地址与您在策略中指定的IP地址进行比较。 |
支持IpAddress时:匹配指定的ip地址或范围 支持NoipAddress时:匹配除指定ip地址或范围外的ip地址 |
aws:UserAgent |
使用此键可将请求者的客户端应用程序与您在策略中指定的应用程序进行比较。 |
StringEquals:支持字符串精确匹配,区分大小写 StringNotEquals:不支持匹配 |
aws:username |
使用此键可将请求者的用户名与您在策略中指定的用户名进行比较。 |
StringEquals:支持字符串精确匹配,区分大小写 StringNotEquals:不支持匹配 |