开发者社区> 问答> 正文

智能云相册的授权映射表

智能云相册支持子用户,您可以为子用户授予不同的访问权限。智能云相册内置以下两个默认授权策略:

  • AliyunCloudPhotoFullAccess:表示智能云相册的所有权限
  • AliyunCloudPhotoReadOnlyAccess: 表示智能云相册的只读权限

如果您需要更细粒度的访问权限控制,请根据API授权映射表建立自定义的授权策略。

PhotoStore相关

APIRAM授权操作(Action)资源(Resource)描述
CreatePhotoStorecloudphoto:CreatePhotoStoreacs:cloudphoto:${regionId}:${accountId}:photostores/*创建PhotoStore实例
ListPhotoStorescloudphoto:ListPhotoStoresacs:cloudphoto:${regionId}:${accountId}:photostores/*获取已创建实例列表
GetPhotoStorecloudphoto:GetPhotoStoreacs:cloudphoto:${regionId}:${accountId}:photostores/${photostoreName}获取实例信息
DeletePhotoStorecloudphoto:DeletePhotoStoreacs: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的对应规则如下:
  1. [backcolor=transparent]api [backcolor=transparent]->[backcolor=transparent] cloudphoto[backcolor=transparent]:[backcolor=transparent]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。

展开
收起
云栖大讲堂 2017-10-26 16:14:42 1907 0
0 条回答
写回答
取消 提交回答
问答排行榜
最热
最新

相关电子书

更多
地图场景的LBS智能信息分发技术 立即下载
优化4K制作流程,创建“4K视觉云”服务 立即下载
阿里云百炼产品动态 立即下载