RAM Policy是基于用户的授权策略。您可以使用RAM Policy控制用户可以访问您名下哪些资源的权限。
背景信息
-
RAM Policy语法和结构
RAM Policy包含版本号(Version)和授权语句(Statement)。每条授权语句又包含授权效力(Effect)、操作(Action)、资源(Resource)以及限制条件(Condition,可选项)。有关权限策略的语法和结构的详情,请参见权限策略语法和结构。
其中OSS中Version、Statement以及Effect的应用规则与RAM相同。OSS的Action、Resource以及Condition说明请参见:
-
OSS Condition说明
-
OSS常用的权限策略
-
AliyunOSSFullAccess:为RAM用户授予OSS的完全管理权限。
-
AliyunOSSReadOnlyAccess:为RAM用户授予OSS的只读访问权限。
-
-
OSS访问控制方式
有关OSS包含的访问控制方式的更多信息,请参见访问控制概述。
OSS Action分类
Action分为Service级别操作、Bucket级别操作以及Object级别的操作。
-
Service级别
API
Action
接口描述
ListBuckets(GetService)
oss:ListBuckets
列举请求者拥有的所有Bucket。
ListUserDataRedundancyTransition
oss:ListUserDataRedundancyTransition
列举请求者所有的存储冗余转换任务。
-
Bucket级别
API
Action
接口描述
PutBucket
oss:PutBucket
创建Bucket。
ListObjects(GetBucket)
oss:ListObjects
列举Bucket中所有Object的信息。
GetBucketInfo
oss:GetBucketInfo
查看Bucket相关信息。
GetBucketLocation
oss:GetBucketLocation
查看Bucket位置信息。
PutBucketVersioning
oss:PutBucketVersioning
设置指定Bucket的版本控制状态。
GetBucketVersioning
oss:GetBucketVersioning
获取指定Bucket的版本控制状态。
ListObjectVersions(GetBucketVersions)
oss:ListObjectVersions
列出Bucket中包括删除标记(Delete Marker)在内的所有Object的版本信息。
PutBucketAcl
oss:PutBucketAcl
设置或修改Bucket ACL。
GetBucketAcl
oss:GetBucketAcl
获取Bucket ACL。
DeleteBucket
oss:DeleteBucket
删除某个Bucket。
InitiateBucketWorm
oss:InitiateBucketWorm
新建合规保留策略。
AbortBucketWorm
oss:AbortBucketWorm
删除未锁定的合规保留策略。
CompleteBucketWorm
oss:CompleteBucketWorm
锁定合规保留策略。
ExtendBucketWorm
oss:ExtendBucketWorm
延长已锁定的合规保留策略对应Bucket中Object的保留天数。
GetBucketWorm
oss:GetBucketWorm
获取合规保留策略信息。
PutBucketLogging
oss:PutBucketLogging
开启Bucket日志转存功能。
GetBucketLogging
oss:GetBucketLogging
查看Bucket日志转存配置。
DeleteBucketLogging
oss:DeleteBucketLogging
关闭Bucket日志转存功能。
PutBucketWebsite
oss:PutBucketWebsite
设置Bucket为静态网站托管模式并设置其跳转规则(RoutingRule)。
GetBucketWebsite
oss:GetBucketWebsite
查看Bucket的静态网站托管状态以及跳转规则。
DeleteBucketWebsite
oss:DeleteBucketWebsite
关闭Bucket的静态网站托管模式以及跳转规则。
PutBucketReferer
oss:PutBucketReferer
设置Bucket的防盗链。
GetBucketReferer
oss:GetBucketReferer
查看Bucket的防盗链(Referer)相关配置。
PutBucketLifecycle
oss:PutBucketLifecycle
设置Bucket的生命周期规则。
GetBucketLifecycle
oss:GetBucketLifecycle
查看Bucket的生命周期规则。
DeleteBucketLifecycle
oss:DeleteBucketLifecycle
删除Bucket的生命周期规则。
PutBucketTransferAcceleration
oss:PutBucketTransferAcceleration
设置Bucket传输加速。
GetBucketTransferAcceleration
oss:GetBucketTransferAcceleration
查看Bucket的传输加速配置。
ListMultipartUploads
oss:ListMultipartUploads
列举所有执行中的Multipart Upload事件,即已经初始化但还未完成(Complete)或者还未中止(Abort)的Multipart Upload事件。
PutBucketCors
oss:PutBucketCors
设置指定Bucket的跨域资源共享CORS(Cross-Origin Resource Sharing)规则。
GetBucketCors
oss:GetBucketCors
获取指定Bucket当前的跨域资源共享CORS规则。
DeleteBucketCors
oss:DeleteBucketCors
关闭指定Bucket对应的跨域资源共享CORS功能并清空所有规则。
PutBucketPolicy
oss:PutBucketPolicy
设置指定Bucket的授权策略。
GetBucketPolicy
oss:GetBucketPolicy
获取指定Bucket的授权策略。
DeleteBucketPolicy
oss:DeleteBucketPolicy
删除指定Bucket的授权策略。
PutBucketTags
oss:PutBucketTagging
添加或修改指定Bucket的标签。
GetBucketTags
oss:GetBucketTagging
获取Bucket的标签。
DeleteBucketTags
oss:DeleteBucketTagging
删除Bucket的标签。
PutBucketEncryption
oss:PutBucketEncryption
配置Bucket的加密规则。
GetBucketEncryption
oss:GetBucketEncryption
获取Bucket的加密规则。
DeleteBucketEncryption
oss:DeleteBucketEncryption
删除Bucket的加密规则。
PutBucketRequestPayment
oss:PutBucketRequestPayment
设置请求者付费模式。
GetBucketRequestPayment
oss:GetBucketRequestPayment
获取请求者付费模式配置信息。
PutBucketReplication
oss:PutBucketReplication
设置Bucket的数据复制规则。
PutBucketRTC
oss:PutBucketRTC
为已有的跨区域复制规则开启或关闭数据复制时间控制(RTC)功能。
GetBucketReplication
oss:GetBucketReplication
获取Bucket已设置的数据复制规则。
DeleteBucketReplication
oss:DeleteBucketReplication
停止Bucket的数据复制并删除Bucket的复制配置。
GetBucketReplicationLocation
oss:GetBucketReplicationLocation
获取可复制到的目标Bucket的所在地域。
GetBucketReplicationProgress
oss:GetBucketReplicationProgress
获取Bucket的数据复制进度。
PutBucketInventory
oss:PutBucketInventory
配置Bucket的清单(Inventory)规则。
GetBucketInventory
oss:GetBucketInventory
查看Bucket中指定的清单任务。
ListBucketInventory
oss:GetBucketInventory
批量获取Bucket中所有清单任务。
DeleteBucketInventory
oss:DeleteBucketInventory
删除Bucket中指定的清单任务。
PutBucketAccessMonitor
oss:PutBucketAccessMonitor
配置Bucket的访问跟踪状态。
GetBucketAccessMonitor
oss:GetBucketAccessMonitor
获取Bucket的访问跟踪状态。
OpenMetaQuery
oss:OpenMetaQuery
开启Bucket的元数据管理功能。
GetMetaQueryStatus
oss:GetMetaQueryStatus
获取Bucket的元数据索引库信息。
DoMetaQuery
oss:DoMetaQuery
查询满足指定条件的Object,并按照指定字段和排序方式列出Object信息。
CloseMetaQuery
oss:CloseMetaQuery
关闭Bucket的元数据管理功能.
InitUserAntiDDosInfo
oss:InitUserAntiDDosInfo
创建高防OSS实例。
UpdateUserAntiDDosInfo
oss:UpdateUserAntiDDosInfo
更改高防OSS实例状态。
GetUserAntiDDosInfo
oss:GetUserAntiDDosInfo
查询指定账号下的高防OSS实例信息。
InitBucketAntiDDosInfo
oss:InitBucketAntiDDosInfo
初始化Bucket防护。
UpdateBucketAntiDDosInfo
oss:UpdateBucketAntiDDosInfo
更新Bucket防护状态。
ListBucketAntiDDosInfo
oss:ListBucketAntiDDosInfo
获取Bucket防护信息列表。
PutBucketResourceGroup
oss:PutBucketResourceGroup
设置Bucket所属资源组。
GetBucketResourceGroup
oss:GetBucketResourceGroup
查询Bucket所属资源组ID。
CreateCnameToken
oss:CreateCnameToken
创建域名所有权验证所需的CnameToken。
GetCnameToken
oss:GetCnameToken
获取已创建的CnameToken。
PutCname
oss:PutCname
为Bucket绑定自定义域名。
ListCname
oss:ListCname
获取Bucket下绑定的所有的自定义域名(Cname)列表。
DeleteCname
oss:DeleteCname
删除Bucket已绑定的Cname。
PutStyle
oss:PutStyle
设置图片样式。
GetStyle
oss:GetStyle
获取图片样式。
ListStyle
oss:ListStyle
列举图片样式。
DeleteStyle
oss:DeleteStyle
删除图片样式。
PutBucketArchiveDirectRead
oss:PutBucketArchiveDirectRead
为Bucket开启或关闭归档直读。
GetBucketArchiveDirectRead
oss:GetBucketArchiveDirectRead
查看Bucket是否开启归档直读。
CreateAccessPoint
oss:CreateAccessPoint
创建接入点。
GetAccessPoint
oss:GetAccessPoint
获取单个接入点信息。
DeleteAccessPoint
oss:DeleteAccessPoint
删除接入点。
ListAccessPoints
oss:ListAccessPoints
获取用户级别及Bucket级别的接入点信息。
PutAccessPointPolicy
oss:PutAccessPointPolicy
配置接入点策略。
GetAccessPointPolicy
oss:GetAccessPointPolicy
获取接入点策略信息。
DeleteAccessPointPolicy
oss:DeleteAccessPointPolicy
删除接入点策略。
PutBucketHttpsConfig
oss:PutBucketHttpsConfig
为Bucket开启或关闭TLS版本设置。
GetBucketHttpsConfig
oss:GetBucketHttpsConfig
查看Bucket的TLS版本设置。
ReplicateList
oss:ReplicateList
复制过程涉及的列举权限。即允许OSS先列举源Bucket的历史数据,再逐一对历史数据进行复制。
CreateAccessPointForObjectProcess
oss:CreateAccessPointForObjectProcess
创建对象FC接入点。
GetAccessPointForObjectProcess
oss:GetAccessPointForObjectProcess
获取对象FC接入点基础信息。
DeleteAccessPointForObjectProcess
oss:DeleteAccessPointForObjectProcess
删除对象FC接入点。
ListAccessPointsForObjectProcess
oss:ListAccessPointsForObjectProcess
获取用户级别的对象FC接入点信息。
PutAccessPointConfigForObjectProcess
oss:PutAccessPointConfigForObjectProcess
修改对象FC接入点配置。
GetAccessPointConfigForObjectProcess
oss:GetAccessPointConfigForObjectProcess
获取对象FC接入点配置信息。
PutAccessPointPolicyForObjectProcess
oss:PutAccessPointPolicyForObjectProcess
为对象FC接入点配置权限策略。
GetAccessPointPolicyForObjectProcess
oss:GetAccessPointPolicyForObjectProcess
获取对象FC接入点的权限策略配置。
DeleteAccessPointPolicyForObjectProcess
oss:DeleteAccessPointPolicyForObjectProcess
删除对象FC接入点的权限策略。
WriteGetObjectResponse
oss:WriteGetObjectResponse
自定义返回数据和响应标头。
CreateBucketDataRedundancyTransition
oss:CreateBucketDataRedundancyTransition
创建存储冗余转换任务。
GetBucketDataRedundancyTransition
oss:GetBucketDataRedundancyTransition
获取存储冗余转换任务。
DeleteBucketDataRedundancyTransition
oss:DeleteBucketDataRedundancyTransition
删除存储冗余转换任务。
ListBucketDataRedundancyTransition
oss:ListBucketDataRedundancyTransition
列举某个Bucket下所有的存储冗余转换任务。
-
Object级别
API
Action
接口描述
PutObject
oss:PutObject
上传文件(Object)。
PostObject
oss:PutObject
通过HTML表单上传的方式将Object上传到指定Bucket。
AppendObject
oss:PutObject
以追加写的方式上传Object。
InitiateMultipartUpload
oss:PutObject
在使用Multipart Upload模式传输数据前,通知OSS初始化一个分片上传(Multipart Upload)事件。
UploadPart
oss:PutObject
根据指定的Object名和uploadId来分块(Part)上传数据
CompleteMultipartUpload
oss:PutObject
在将所有数据Part都上传完成后,需调用此接口来完成整个Object的分片上传。
AbortMultipartUpload
oss:AbortMultipartUpload
取消MultipartUpload事件并删除对应的Part数据。
PutSymlink
oss:PutObject
为OSS的目标文件(TargetObject)创建软链接(Symlink)。
GetObject
oss:GetObject
获取某个Object。
HeadObject
oss:GetObject
获取某个Object的元信息。
GetObjectMeta
oss:GetObject
获取Object的元数据信息,包括该Object的ETag、Size、LastModified信息。
SelectObject
oss:GetObject
对目标文件执行SQL语句,返回执行结果。
GetSymlink
oss:GetObject
获取目标文件的软链接。
DeleteObject
oss:DeleteObject
删除某个Object。
DeleteMultipleObjects
oss:DeleteObject
删除同一个Bucket中的多个Object。
CopyObject
oss:GetObject,oss:PutObject
拷贝同一地域下相同或不同Bucket之间的Object。
UploadPartCopy
oss:GetObject,oss:PutObject
在UploadPart请求的基础上增加一个请求头x-oss-copy-source来调用UploadPartCopy接口,实现从一个已存在的Object中拷贝数据来上传一个Part。
ListParts
oss:ListParts
列举指定Upload ID所属的所有已经上传成功的Part。
PutObjectACL
oss:PutObjectAcl
修改Bucket下某个Object的ACL。
GetObjectACL
oss:GetObjectAcl
获取Bucket下某个Object的ACL。
RestoreObject
oss:RestoreObject
解冻归档存储、冷归档存储或者深度冷归档存储类型的Object。
PutObjectTagging
oss:PutObjectTagging
设置或更新Object的标签(Tagging)信息。
GetObjectTagging
oss:GetObjectTagging
获取Object的标签信息。
DeleteObjectTagging
oss:DeleteObjectTagging
删除指定Object的标签信息。
GetObject(请求参数中指定versionId)
oss:GetObjectVersion
下载指定版本Object。
PutObjectACL(请求参数中指定versionId)
oss:PutObjectVersionAcl
修改Bucket下指定版本Object的ACL。
GetObjectACL(请求参数中指定versionId)
oss:GetObjectVersionAcl
获取Bucket下指定版本Object的ACL。
RestoreObject(请求参数中指定versionId)
oss:RestoreObjectVersion
解冻指定版本的归档存储、冷归档存储或者深度冷归档存储类型的Object。
DeleteObject(请求参数中指定versionId)
oss:DeleteObjectVersion
删除指定版本Object。
PutObjectTagging(请求参数中指定versionId)
oss:PutObjectVersionTagging
设置或更新指定版本Object的标签(Tagging)信息。
GetObjectTagging(请求参数中指定versionId)
oss:GetObjectVersionTagging
获取指定版本Object的标签信息。
DeleteObjectTagging(请求参数中指定versionId)
oss:DeleteObjectVersionTagging
删除指定版本Object的标签信息。
PutLiveChannel
oss:PutLiveChannel
通过RTMP协议上传音视频数据前,必须先调用该接口创建一个LiveChannel。
ListLiveChannel
oss:ListLiveChannel
列举指定的LiveChannel。
DeleteLiveChannel
oss:DeleteLiveChannel
删除指定的LiveChannel。
PutLiveChannelStatus
oss:PutLiveChannelStatus
在启用(enabled)和禁用(disabled)两种状态之间进行切换。
GetLiveChannelInfo
oss:GetLiveChannel
获取指定LiveChannel的配置信息。
GetLiveChannelStat
oss:GetLiveChannelStat
获取指定LiveChannel的推流状态信息。
GetLiveChannelHistory
oss:GetLiveChannelHistory
获取指定LiveChannel的推流记录。
PostVodPlaylist
oss:PostVodPlaylist
为指定的LiveChannel生成一个点播用的播放列表。
GetVodPlaylist
oss:GetVodPlaylist
查看指定LiveChannel在指定时间段内推流生成的播放列表。
PublishRtmpStream
oss:PublishRtmpStream
将音频和视频数据流推送到RTMP。
ProcessImm
oss:ProcessImm
基于图片AI技术检测图片标签和置信度。
ImgSaveAs
oss:PostProcessTask
保存处理后的图片至指定Bucket。
ReplicateGet
oss:ReplicateGet
复制过程涉及的读权限。即允许OSS读取源Bucket和目标Bucket中的数据与元数据,包括Object、Part、Multipart Upload等。
ReplicatePut
oss:ReplicatePut
复制过程涉及的写权限。即允许OSS对目标Bucket复制相关的写入类操作,包括写入Object、Multipart Upload、Part和Symlink,修改元数据信息等。
ReplicateDelete
oss:ReplicateDelete
复制过程涉及的删除权限。即允许OSS对目标Bucket复制相关的删除操作,包括DeleteObject、AbortMultipartUpload、DeleteMarker等。
重要
仅当数据复制方式选择增/删/改 同步时,需要授予RAM角色该Action。
OSS Resource说明
在OSS中,Resource指代某个具体资源或者某些资源,支持通配符星号(*)。单个RAM Policy允许包含多个Resource。
分类 |
格式 |
示例 |
Bucket级别Resource |
|
|
Object级别Resource |
|
|
说明
region字段当前仅支持设置为通配符星号(*)。
OSS Condition说明
OSS Condition用于指定授权生效的限制条件,由一个或多个条件子句构成。一个条件子句由条件操作类型、条件关键字和条件值组成。关于Condition的更多信息,请参见条件(Condition)。
OSS Condition中的条件操作类型和条件关键字如下:
-
条件操作类型
条件操作类型
支持类型
字符串类型(String)
-
StringEquals
-
StringNotEquals
-
StringEqualsIgnoreCase
-
StringNotEqualsIgnoreCase
-
StringLike
-
StringNotLike
数字类型(Number)
-
NumericEquals
-
NumericNotEquals
-
NumericLessThan
-
NumericLessThanEquals
-
NumericGreaterThan
-
NumericGreaterThanEquals
日期类型(Date and time)
-
DateEquals
-
DateNotEquals
-
DateLessThan
-
DateLessThanEquals
-
DateGreaterThan
-
DateGreaterThanEquals
布尔类型(Boolean)
Bool
IP地址类型(IP address)
-
IpAddress
-
NotIpAddress
-
-
条件关键字
Condition
说明
acs:SourceIp
指定普通IP网段,支持通配符星号(*)。
acs:UserAgent
指定HTTP User-Agent头。
类型:字符串
acs:CurrentTime
请求到达OSS服务端的时间。
格式:ISO8601
acs:SecureTransport
请求的协议类型。取值范围如下:
-
true:仅允许HTTPS请求访问。
-
false:仅允许HTTP请求访问。
如果未设置
acs:SecureTransport
,表示HTTP或者HTTPS请求均可以访问。oss:Prefix
用于ListObjects请求时,列举指定前缀的Object。
oss:Delimiter
用于ListObjects请求时,对Object名字进行分组的字符。
acs:AccessId
请求中携带的AccessId。
oss:BucketTag
存储空间标签(BucketTag)。
单个BucketTag可以作为一个Condition。当设置多个BucketTag时,需在每个BucketTag前加上
oss:BucketTag/
,组成多个Condition。acs:MFAPresent
是否启用了多因素认证MFA(Multi-factor authentication)。
取值:
-
true:已启用多因素认证。
-
false:未启用多因素认证。
oss:ExistingObjectTag
请求的Object已存在标签。
单个ObjectTag可以作为一个Condition。当设置多个ObjectTag时,需在每个ObjectTag前加上
oss:ExistingObjectTag/
,组成多个Condition。主要针对GetObject、HeadObject等读取文件接口以及PutObjectTagging、GetObjectTagging等ObjectTagging接口。
oss:RequestObjectTag
请求中携带的对象标签。
单个ObjectTag可以作为一个Condition。当设置多个ObjectTag时,需在每个ObjectTag前加上
oss:RequestObjectTag/
,组成多个Condition。主要针对PutObject、PostObject等写入文件接口以及PutObjectTagging、GetObjectTagging等ObjectTagging接口。
oss:DataAccessPointArn
为指定的接入点委派权限。委派后,仅指定的接入点生效。
oss:AccessPointNetworkOrigin
为互联网或专有网络VPC下的接入点委派权限。委派后,仅指定网络的接入点生效。
说明
互联网支持外网和专有云网络VPC。选择互联网接入点后,专有网络接入点也会生效。
oss:DataAccessPointAccount
为当前账号下的所有接入点委派权限。委派后,账号下所有的接入点生效。
-
常见示例
您可以使用RAM Policy实现不同场景下的用户权限策略。更多信息,请参见RAM Policy常见示例。
内容没看懂? 不太想学习?想快速解决? 有偿解决: 联系专家
阿里云企业补贴进行中: 马上申请
腾讯云限时活动1折起,即将结束: 马上收藏
同尘科技为腾讯云授权服务中心。
购买腾讯云产品享受折上折,更有现金返利:同意关联,立享优惠
转转请注明出处:https://www.yunxiaoer.com/159423.html