授权映射表
智能云相册支持子用户,您可以为子用户授予不同的访问权限。智能云相册内置以下两个默认授权策略:
- AliyunCloudPhotoFullAccess:表示智能云相册的所有权限
- AliyunCloudPhotoReadOnlyAccess: 表示智能云相册的只读权限
如果您需要更细粒度的访问权限控制,请根据API授权映射表建立自定义的授权策略。
PhotoStore相关
API | RAM授权操作(Action) | 资源(Resource) | 描述 |
---|---|---|---|
CreatePhotoStore | cloudphoto:CreatePhotoStore | acs:cloudphoto:${regionId}:${accountId}:photostores/* |
创建PhotoStore实例 |
ListPhotoStores | cloudphoto:ListPhotoStores | acs:cloudphoto:${regionId}:${accountId}:photostores/* |
获取已创建实例列表 |
GetPhotoStore | cloudphoto:GetPhotoStore | acs:cloudphoto:${regionId}:${accountId}:photostores/${photostoreName} |
获取实例信息 |
DeletePhotoStore | cloudphoto:DeletePhotoStore | acs:cloudphoto:${regionId}:${accountId}:photostores/${photostoreName} |
删除实例 |
其中:
- regionId为地域Id,目前暂不支持,请将其设置为*
- accountId为您的账号ID,也可以设置为*
- photostoreName为PhotoStore实例的名称,支持用*作为通配符
Library相关
照片库(Library)是智能云相册中的基本存储单元。回顾一下基本概念中的例子,照片库就类似例子中的工位。智能云相册支持对Library进行细粒度的授权,使被授权主体只能访问某个照片库下的资源。
Library的资源定义格式为:acs:cloudphoto:${regionId}:${accountId}:photostores/${photostoreName}/libraries/${libraryId}, 这个资源定义表示指定accountId中指定PhotoStoreName中指定照片库下的所有资源。其中:
- regionId为地域Id,目前暂不支持,请将其设置为*
- accountId为您的账号ID,也可以设置为*
- photostoreName为PhotoStore实例的名称,支持用*作为通配符
- libraryId是某个照片库的Id。
智能云相册API和对资源操作的Action的对应规则如下:
api -> cloudphoto:api
比如,API接口中ListPhotos对应的策略授权中的Action为cloudphoto:ListPhotos, 其他API接口类似,就不一一列举。
此外,您也可以用*作为通配符来表示一组API,比如用cloudphoto:List*, 它将匹配所有以List开头的API,比如ListPhotos, ListTags等。
常见授权策略模板
业务服务器为客户端生成STS凭证时,需要指定该STS凭证具备哪些访问权限。下面列出常用的授权策略供参考。
指定PhotoStore中指定照片库的除SetQuota外的所有权限
适用场景:在类似手机云相册的场景中,通常需要授予某个C类用户具有操作该用户对应的照片库所有权限。
{
"Version": "1",
"Statement": [
{
"Effect": "Allow",
"Action": "*",
"Resource": "acs:cloudphoto:*:*:photostores/<storeName>/libraries/<libraryId>"
},
{
"Effect": "Deny",
"Action": "cloudphoto:SetQuota",
"Resource": "acs:cloudphoto:*:*:photostores/<storeName>/libraries/<libraryId>"
}
]
}
其中:
<storeName>
需要替换为您的PhotoStore名称,<libraryId>
需要替换为该C类用户对应的libraryId。如果libraryId为*,则该授权策略表示该PhotoStore下所有C类用户的所有权限。- 注意:在手机云相册的场景中,用户可以使用的最大存储空间通常是管理员配置的。因此,这里展示了如何禁用了SetQuota接口的权限。
指定PhotoStore中指定照片库的只读权限
适用场景:针对同一照片库中的的资源,需要授予某些C类用户只读权限。比如,某次多人参加的活动中,活动照片都放在同一照片库,您只希望对普通用户授予只读权限。
{
"Statement": [
{
"Action": [
"cloudphoto:Get*",
"cloudphoto:List*"
],
"Effect": "Allow",
"Resource": "acs:cloudphoto:*:*:photostores/<storeName>/libraries/<libraryId>"
}
],
"Version": "1"
}
其中:
<storeName>
需要替换为您的PhotoStore名称,<libraryId>
需要替换为该对应的libraryId。
版权声明
本文仅代表作者观点,不代表本站立场。
本文系作者授权发表,未经许可,不得转载。
评论