You need to enable JavaScript to run this app.
导航
IAM 策略概述
最近更新时间:2024.12.13 11:41:20首次发布时间:2022.03.17 10:33:29

当您创建 IAM 用户时,您需要为 IAM 用户选择具体的授权策略,使该用户拥有相应的权限。本文介绍创建 IAM 策略的相关说明及操作步骤。

背景信息

IAM 的详细信息,请参见访问控制

适用场景

IAM 策略适用于以下授权场景:

  • 需要对 IAM 用户授予多个云资源的权限。
  • 需要对多个存储桶设置相同的权限。
  • 对不同 IAM 用户授予不同的权限。
  • 需要配置服务级别的权限,例如创建桶或列举该账号下的所有存储桶。

IAM 系统预设策略

IAM 平台设置了关于 TOS 的默认策略,描述信息及支持的操作如下表所示。

策略名称

描述

支持的 TOS 操作

AdministratorAccess

账户服务和资源的管理权限

允许指定用户对当前桶和桶内所有对象执行所有 TOS 支持的动作。

TOSFullAccess

对象存储 TOS 全读写访问权限

允许指定用户对该账号下所有桶和桶内所有对象执行所有 TOS 支持的动作。

TOSReadOnlyAccess

对象存储 TOS 只读访问权限

允许指定用户对当前桶和桶内所有对象执行以下动作:

  • Get*:所有获取操作。
  • List*:所有列举操作。
  • HeadBucket:判断桶是否存在。

IAM 策略支持动作

通用动作

动作

说明

通配符,表示该资源能进行的所有动作。

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 策略支持资源

IAM 策略中的资源定义了权限生效的资源范围。

资源类型

资源范围

资源描述方法

资源生效的操作

桶资源

指定桶

trn:tos:{region}:{accountid}:{bucket}

桶资源仅对桶动作下的操作生效。

说明

如果 IAM 策略的动作包含 ListBuckets,则资源只能设置为 "Resource": [ "*"]

对象资源

指定对象

trn:tos:{region}:{accountid}:{bucket}/{object}

对象资源仅对对象动作下的操作生效。

IAM 策略支持条件

IAM 策略中的条件定义了权限生效的条件。以下介绍全局条件键,关于服务条件键的详细介绍,请参见条件说明

说明

关于运算符的详细介绍,请参见运算符

条件

说明

volc:SourceIp

请求发起的源 IP,支持 IPv4 和 IPv6,支持地址段。

说明

该条件键支持公网 IP 地址,对于内网访问当前仅支持 cn-beijing。

volc:UserName

请求的 IAM 子用户的名称。

volc:ViaConsole

请求是否来自控制台,取值说明如下:

  • true:通过 TOS 控制台进行访问。
  • false:通过请求 API 进行访问。

volc:PrincipalTrn

请求身份的 TRN,说明如下:

  • User身份访问(包括用户sso):trn:iam::${AccountId}:user/${UserName}
  • 角色扮演后的临时凭证访问(包括角色sso):trn:iam::${AccountId}:role/${RoleName}
  • Root user身份访问(必须是主账号/根用户访问,主账号内的子用户、角色等身份访问不在生效范围内):trn:iam::${AccountId}:root

volc:RequestedRegion

请求的 Region。

volc:CurrentTime

请求的时间,使用 UTC 时间,精确到秒,支持遵循 ISO 8601 的标准格式:YYYY-MM-DD'T'HH:MM:SS'Z'或 UNIX 时间戳,例如 2023-08-30T23:59:59Z。

volc:ResourceTag/${tag-key}

请求访问的资源的标签中标签键为tag_key的标签值。
该条件要求请求中必须传递资源 ID,对于部分列表类接口,请求不传递资源 ID 时代表查询全部资源,此时请求将无法鉴权通过。

volc:RequestTag/${tag-key}

请求时传递的标签中标签键为tag_key的标签值,包括涉及标签附加或标签解除的请求传递的标签,不包含查询接口按标签过滤时传递的标签。

volc:RequestTagKeys

请求传递的全部标签键,包括涉及标签附加或标签解除的请求传递的标签,不包含查询接口按标签过滤时传递的标签。

自定义 IAM 策略

如果 IAM 设置的默认策略无法满足您的业务需求,您可以根据实际情况,参考以下文档创建您自己的 IAM 策略: