对象存储服务 OBS-设置桶ACL(Harmony SDK):请求参数

时间:2024-11-19 16:40:57

请求参数

表1 请求参数列表

参数名称

参数类型

是否必选

描述

input

SetBucketAclInput

必选

参数解释:

设置桶ACL接口入参,详见SetBucketAclInput

表2 SetBucketAclInput

参数名称

参数类型

是否必选

描述

Bucket

string

必选

参数解释

桶名。

约束限制:

  • 桶的名字需全局唯一,不能与已有的任何桶名称重复,包括其他用户创建的桶。
  • 桶命名规则如下:
    • 3~63个字符,数字或字母开头,支持小写字母、数字、“-”、“.”。
    • 禁止使用IP地址。
    • 禁止以“-”或“.”开头及结尾。
    • 禁止两个“.”相邻(如:“my..bucket”)。
    • 禁止“.”和“-”相邻(如:“my-.bucket”和“my.-bucket”)。
  • 同一用户在同一个区域多次创建同名桶不会报错,创建的桶属性以第一次请求为准。

默认取值:

ACL

AclType

可选

参数解释:

预定义访问策略。

取值范围:

AclType取值详见AclType

默认取值:

Owner

Owner

可选

参数解释:

桶的所有者账号户ID,详见Owner

约束限制:

Owner和Grants必须配套使用,且与ACL互斥。

Grants

Grant[]

可选

参数解释:

被授权用户权限信息,详见Grant

表3 AclType

常量名

原始值

说明

PRIVATE

private

私有读写。

桶或对象的所有者拥有完全控制的权限,其他任何人都没有访问权限。

PUBLIC_READ

public-read

公共读私有写。

设在桶上,所有人可以获取该桶内对象列表、桶内多段任务、桶的元数据、桶的多版本。

设在对象上,所有人可以获取该对象内容和元数据。

PUBLIC_READ_WRITE

public-read-write

公共读写。

设在桶上,所有人可以获取该桶内对象列表、桶内多段任务、桶的元数据、桶的多版本、上传对象、删除对象、初始化段任务、上传段、合并段、复制段、取消多段上传任务。

设在对象上,所有人可以获取该对象内容和元数据。

PUBLIC_READ_DELIVERED

public-read-delivered

桶公共读,桶内对象公共读。

设在桶上,所有人可以获取该桶内对象列表、桶内多段任务、桶的元数据、桶的多版本,可以获取该桶内对象的内容和元数据。

说明:

AclPublicReadDelivered不能应用于对象。

PUBLIC_READ_WRITE_DELIVERED

public-read-write-delivered

桶公共读写,桶内对象公共读写。

设在桶上,所有人可以获取该桶内对象列表、桶内多段任务、桶的元数据、桶的多版本、上传对象、删除对象、初始化段任务、上传段、合并段、复制段、取消多段上传任务,可以获取该桶内对象的内容和元数据。

说明:

AclPublicReadWriteDelivered不能应用于对象。

BUCKET_OWNER_FULL_CONTROL

bucket-owner-full-control

设在对象上,桶和对象的所有者拥有对象的完全控制权限,其他任何人都没有访问权限。

默认情况下,上传对象至其他用户的桶中,桶拥有者没有对象的控制权限。对象拥有者为桶拥有者添加此权限控制策略后,桶所有者可以完全控制对象。例如,用户A上传对象x至用户B的桶中,系统默认用户B没有对象x的控制权。当用户A为对象x设置bucket-owner-full-control策略后,用户B就拥有了对象x的控制权。

表4 Owner

参数名称

参数类型

是否必选

描述

ID

string

作为请求参数时必选

参数解释:

所有者的账号ID,即domain_id。

取值范围:

如何获取账号ID请参见如何获取账号ID和用户ID?(Harmony SDK)

默认取值:

DisplayName

string

可选

参数解释:

所有者的账号用户名。

默认取值:

表5 Grant

参数名称

参数类型

是否必选

描述

Grantee

Grantee

作为请求参数时必选

参数解释:

被授权用户相关信息,详见Grantee

Permission

PermissionType

作为请求参数时必选

参数解释:

被授予的权限。

取值范围:

权限取值范围:详见PermissionType

默认取值:

表6 Grantee

参数名称

参数类型

是否必选

描述

Type

GranteeType

作为请求参数时必选

参数解释:

被授权用户的类型。

取值范围:

被授权用户类型的取值范围:详见GranteeType

默认取值:

ID

string

作为请求参数时,如果Type为用户类型则必选。

参数解释:

被授权用户的账号ID,即domain_id。

取值范围:

如何获取账号ID请参见如何获取账号ID和用户ID?(Harmony SDK)

默认取值:

Name

string

作为请求参数时可选

参数解释:

被授权用户的账号名。

约束限制:

  • 不支持中文。
  • 只能以字母开头。
  • 长度为6-32个字符。
  • 只能包含英文字母、数字或特殊字符(-_)。

默认取值:

URI

GroupUriType

作为请求参数时,如果Type为用户组类型则必选。

参数解释:

被授权的用户组。

取值范围:

授权用户组取值范围:详见GroupUriType

默认取值:

表7 GranteeType

常量名

原始值

说明

GROUP

Group

授权给用户组。

CANONICAL_USER

CanonicalUser

授权给单个用户。

表8 GroupUriType

常量名

原始值

说明

ALL_USERS

AllUsers

所有用户。

AUTHENTICATED_USERS

AuthenticatedUsers

授权用户,已废弃。

LOG _DELIVERY

LogDelivery

日志投递组,已废弃。

表9 PermissionType

常量名

原始值

说明

READ

READ

如果有桶的读权限,则可以获取该桶内对象列表、桶内多段任务、桶的元数据、桶的多版本。

如果有对象的读权限,则可以获取该对象内容和元数据。

WRITE

WRITE

如果有桶的写权限,则可以上传、覆盖和删除该桶内任何对象和段。

此权限在对象上不适用。

READ_ACP

READ_ACP

如果有读ACP的权限,则可以获取对应的桶或对象的权限控制列表(ACL)。

桶或对象的所有者永远拥有读对应桶或对象ACP的权限。

WRITE_ACP

WRITE_ACP

如果有写ACP的权限,则可以更新对应桶或对象的权限控制列表(ACL)。

桶或对象的所有者永远拥有写对应桶或对象的ACP的权限。

拥有了写ACP的权限,由于可以更改权限控制策略,实际上意味着拥有了完全访问的权限。

FULL_CONTROL

FULL_CONTROL

如果有桶的完全控制权限意味着拥有PermissionRead、PermissionWrite、PermissionReadAcp和PermissionWriteAcp的权限。

如果有对象的完全控制权限意味着拥有PermissionRead、PermissionReadAcp和PermissionWriteAcp的权限。

  • Owner和Grants必须配套使用,且与ACL互斥。当设置了这两个字段时,不能设置ACL;反之,当设置了ACL时,不能设置Owner和Grants。
  • Owner、Grants与ACL不能全为空。
support.huaweicloud.com/sdk-harmony-devg-obs/obs_34_0314.html