当您创建 IAM 用户时,您需要为 IAM 用户选择具体的授权策略,使该用户拥有相应的权限。本文介绍创建 IAM 策略的相关说明及操作步骤。
IAM 的详细信息,请参见访问控制。
IAM 策略适用于以下授权场景:
IAM 平台设置了关于 TOS 的默认策略,描述信息及支持的操作如下表所示。
策略名称 | 描述 | 支持的 TOS 操作 |
---|---|---|
AdministratorAccess | 账户服务和资源的管理权限 | 允许指定用户对当前桶和桶内所有对象执行所有 TOS 支持的动作。 |
TOSFullAccess | 对象存储 TOS 全读写访问权限 | 允许指定用户对该账号下所有桶和桶内所有对象执行所有 TOS 支持的动作。 |
TOSReadOnlyAccess | 对象存储 TOS 只读访问权限 | 允许指定用户对当前桶和桶内所有对象执行以下动作:
|
动作 | 说明 |
---|---|
通配符,表示该资源能进行的所有动作。 | |
Get* | 表示该资源能进行的所有获取动作。 |
Put* | 表示该资源能进行的所有设置动作。 |
List* | 表示该资源能进行的所有列举动作。 |
类别 | 动作 | 说明 |
---|---|---|
桶操作 | CreateBucket | 创建桶。 |
ListBuckets | 列举所有桶。 | |
ListBucket | 列举桶内对象,获取桶元数据。 | |
HeadBucket | 判断桶是否存在。 | |
DeleteBucket | 删除桶。 | |
PutBucketStorageClass | 设置桶默认存储类型。 | |
桶策略 | GetBucketPolicy | 获取桶策略。 |
PutBucketPolicy | 设置桶策略,拥有此权限的用户可以任意更改桶策略,并可以通过此权限获取其他权限。 | |
DeleteBucketPolicy | 删除桶策略。 | |
桶 ACL | GetBucketACL | 获取桶 ACL 的相关信息。 |
PutBucketACL | 设置桶 ACL。 | |
跨域访问 CORS 规则 | GetBucketCORS | 获取桶 CORS 规则。 |
PutBucketCORS | 设置桶 CORS 规则。 | |
镜像回源规则 | GetBucketMirror | 获取桶镜像回源规则。 |
PutBucketMirror | 设置桶镜像回源规则。 | |
DeleteBucketMirror | 删除桶镜像回源规则。 | |
事件通知 | PutBucketNotification | 设置或删除事件通知规则。 |
GetBucketNotification | 查询事件通知规则。 | |
自定义域名 | PutBucketCustomDomain | 设置自定义域名。 |
GetBucketCustomDomain | 查询自定义域名。 | |
DeleteBucketCustomDomain | 删除自定义域名。 | |
桶清单 | PutBucketInventory | 创建桶清单规则。 |
GetBucketInventory | 获取桶清单规则。 | |
DeleteBucketInventory | 删除桶清单规则。 | |
ListBucketInventory | 列举桶清单规则。 | |
服务端加密 | PutBucketEncryption | 设置服务端加密。 |
GetBucketEncryption | 获取服务端加密配置信息。 | |
DeleteBucketEncryption | 删除服务端加密配置。 | |
RenameObject | PutBucketRename | 开启 RenameObject 功能。 |
DeleteBucketRename | 关闭 RenameObject 功能。 | |
GetBucketRename | 查看是否开启 Rename。 | |
存储桶复制 | PutBucketReplication | 创建跨区域复制规则或同区域复制规则。 |
GetBucketReplication | 获取跨区域复制规则或同区域复制规则。 | |
DeleteBucketReplication | 删除跨区域复制规则或同区域复制规则。 | |
桶标签 | GetBucketTagging | 获取桶标签信息。 |
PutBucketTagging | 设置桶标签。 | |
DeleteBucketTagging | 删除桶标签。 | |
传输加速 | PutBucketTransferAcceleration | 开启传输加速。 |
GetBucketTransferAcceleration | 获取传输加速配置信息。 | |
版本控制 | PutBucketVersioning | 设置版本控制功能。 |
GetBucketVersioning | 获取版本控制状态。 | |
静态网站 | PutBucketWebsite | 设置静态网站托管规则。 |
GetBucketWebsite | 获取静态网站配置信息。 | |
DeleteBucketWebsite | 删除静态网站。 | |
生命周期规则 | PutLifecycleConfiguration | 设置生命周期规则。 |
GetLifecycleConfiguration | 获取生命周期规则。 |
类别 | 动作 | 说明 |
---|---|---|
对象操作 | PutObject | 上传对象。 |
GetObject | 可用作于获取对象内容,获取对象元数据。 | |
RenameObject | 重命名对象。 | |
RestoreObject | 恢复对象。 | |
ListBucketVersions | 列举桶内多版本对象。 | |
DeleteObject | 删除对象。 | |
GetBucketLocation | 查询桶地域信息。 | |
对象 ACL | PutObjectAcl | 设置对象 ACL。 |
GetObjectAcl | 获取对象 ACL 的相关信息。 | |
对象标签 | PutObjectTagging | 创建对象标签。 |
DeleteObjectTagging | 删除对象标签。 | |
GetObjectTagging | 查询对象标签。 | |
其他 | AbortMultipartUpload | 取消分片上传任务。 |
ListBucketMultipartUploads | 列举分片上传任务。 | |
ListMultipartUploadParts | 列举已上传的分片。 |
IAM 策略中的资源定义了权限生效的资源范围。
资源类型 | 资源范围 | 资源描述方法 | 资源生效的操作 |
---|---|---|---|
桶资源 | 指定桶 | trn:tos:{region}:{accountid}:{bucket} | 桶资源仅对桶动作下的操作生效。 说明 如果 IAM 策略的动作包含 ListBuckets,则资源只能设置为 |
对象资源 | 指定对象 | trn:tos:{region}:{accountid}:{bucket}/{object} | 对象资源仅对对象动作下的操作生效。 |
IAM 策略中的条件定义了权限生效的条件。以下介绍全局条件键,关于服务条件键的详细介绍,请参见条件说明。
说明
关于运算符的详细介绍,请参见运算符。
条件 | 说明 |
---|---|
volc:SourceIp | 请求发起的源 IP,支持 IPv4 和 IPv6,支持地址段。 说明 该条件键支持公网 IP 地址,对于内网访问当前仅支持 cn-beijing。 |
volc:UserName | 请求的 IAM 子用户的名称。 |
volc:ViaConsole | 请求是否来自控制台,取值说明如下:
|
volc:PrincipalTrn | 请求身份的 TRN,说明如下:
|
volc:RequestedRegion | 请求的 Region。 |
volc:CurrentTime | 请求的时间,使用 UTC 时间,精确到秒,支持遵循 ISO 8601 的标准格式: |
volc:ResourceTag/${tag-key} | 请求访问的资源的标签中标签键为 |
volc:RequestTag/${tag-key} | 请求时传递的标签中标签键为 |
volc:RequestTagKeys | 请求传递的全部标签键,包括涉及标签附加或标签解除的请求传递的标签,不包含查询接口按标签过滤时传递的标签。 |
如果 IAM 设置的默认策略无法满足您的业务需求,您可以根据实际情况,参考以下文档创建您自己的 IAM 策略: