权限介绍
所有文档

          对象存储 BOS

          权限介绍

          权限定义

          BOS 权限管理包括如下三类权限,您可以根据自身业务场景进行合适的权限设置。

          Bucket标准权限定义

          权限名称 权限描述
          私有
          • Bucket 创建者独享该 Bucket 的全部权限,其他人不能对该Bucket 写入数据,也不可访问读取该 Bucket。
          • 适用于存储私密文件的场景。
          公共读
          • Bucket 创建者独享该 Bucket 的全部权限,其他人可以访问读取该 Bucket 内的内容,但无权写入。
          • 适用于存储需要公众读取的文件的场景,如通知性文件、广告内容等。
          • 请注意:若开启该种权限,互联网上的所有用户都可以对该 Bucket 内的文件进行访问读取,请谨慎开启。
          公共读写
          • 包括 Bucket 创建者在内的任何人都可以访问和写入文件。
          • 请注意,若开启该种权限,互联网上的所有用户都可以对该 Bucket 内的文件进行读写操作,请谨慎开启。

          粗粒度自定义权限定义

          如果您认为上面的 Bucket 标准权限不能满足使用需求,您可以选择按需生成粗粒度自定义权限。改权限支持对指定用户设置 READ、LIST、WRITE、MODIFY 和 FULL_CONTROL 权限,并可指定该权限可访问的资源,以及指定具有该权限的 IP 地址和 Referer 白名单等。

          BOS 支持的各粗粒度自定义权限说明如下:

          权限名称 权限支持的操作
          READ 允许读取 Bucket 内的 Object 及其相关信息,但没有列表权限,具体操作权限包含 GetBucketLocationHeadBucketGetObjectGetObjectMetaListPartsRestoreObject。READ 权限对应的 API 既有 Bucket 级别的 API 如 GetBucketLocation,也有 Object 级别的 API 如 GetObject 和 ListParts。
          LIST 列表权限,可以查看指定 Bucket 下的 Object 列表以及获取所有未执行完的 MultipartUpload,具体操作权限包含 ListObjects ListMultipartUploads。LIST 权限对应的 API 只有 Bucket 级别的 API。
          WRITE 允许创建,覆盖和删除 Bucket 内的 Object,具体操作权限包含 PutObjectPostObjectInitiateMultipartUploadUploadPartCompleteMultipartUploadAbortMultipartUploadAppendObjectDeleteObjectDeleteMultipleObjectsFetchObject。WRITE 权限对应的 API 只有 Object 级别。
          MODIFY 用户仅可做 PutObject、AppendObject 等相关写入操作,不可做数据新增、删除操作。该权限主要功能是与 Deny 合用防止 Bucket 数据被篡改
          FULL_CONTROL 包含以上所有权限。FULL_CONTROL 除了具有 READ、LIST 和 WRITE 的所有操作权限以外,还包括以下操作权限 PutBucketAclGetBucketACLPutBucketCorsGetBucketCorsDeleteBucketCors。FULL_CONTROL 权限对应的 API 既有 Bucket 级别的 API 也有 Object 级别的 API。

          细粒度自定义权限定义

          如果您认为上述粗粒度自定义权限还不能满足您精细授权的需求,您可以使用 BOS 提供的细粒度自定义权限。BOS 支持的各细粒度自定义权限包括 Bucket 级别和 Object 级别。


          Bucket相关权限


          Bucket 相关权限 支持的操作
          GetBucket 该权限表示允许用户获取 Bucket 内容及其相关信息,例如,列出 Bucket 中 Objects、在三步上传时列出 Bucket中 的所有未执行完成的 Multipart Upload
          GetBucketAcl 该权限表示允许用户获取 Bucket Acl 的信息
          PutBucketAcl 该权限表示允许用户新增 Bucket Acl
          GetBucketCors 该权限表示允许用户获取 Bucket 上的跨域资源共享(CORS)的规则
          PutBucketCors 该权限表示允许用户在指定的 Bucket 上设定或者删除一个跨域资源共享(CORS)的规则
          GetBucketStyle 该权限表示允许用户获取或者列出 Bucket Style 的规则
          PutBucketStyle 该权限表示允许用户新增或者删除 Bucket Style 的规则
          GetBucketMirroring 该权限表示允许用户获取 Bucket 镜像回源的相关信息
          PutBucketMirroring 该权限表示允许用户新增或者删除 Bucket 镜像回源的相关信息
          GetCopyRightProtection 该权限表示允许用户获取 Bucket 的原图保护配置的信息
          PutCopyRightProtection 该权限表示允许用户开启或者关闭 Bucket 的原图保护功能

          Object 相关权限


          Object 相关权限 支持的操作
          PutObject 该权限表示允许用户进行上传 Object 的相关操作,例如 PutObject、PostObject、AppendObject、FetchObject、CopyObject、三步上传、三步 Copy
          GetObject 仅支持 GetObjectGetObjectMeta 操作。GetObject 权限对应的 API 只有 Object 级别。
          DeleteObject 该权限表示允许用户进行删除单个 Object 或者批量删除 Object 的相关操作
          RenameObject 该权限表示允许用户对 Object 进行重命名(Rename)
          ListParts 该权限表示允许用户列出三步上传过程中指定的 UploadId 所有已经上传成功的 Part,用户可以查看三步上传的当前进度
          GetObjectMeta 该权限表示允许用户列出 Object 的 Meta 信息
          GetObjectAcl 该权限表示允许用户获取 Object Acl
          PutObjectAcl 该权限表示允许用户新增 Object Acl 和删除 Object Acl

          说明:

          • 细粒度和粗粒度权限 READ、LIST、WRITE、FULL_CONTROL、MODIFY 间互不影响;
          • 粗粒度权限的优先级高于细粒度权限。如果既配了粗粒度权限又配了细粒度权限,粗粒度权限会覆盖细粒度权限,以粗粒度为主;
          • Bucket 级别的细粒度是指对 Bucket 进行的相关操作;
          • Object 级别的细粒度是指对 Object 进行的相关操作。
          上一篇
          设置Bucket读写权限
          下一篇
          管理生命周期