推特 阿里云技术文档正文

授权映射表_访问与控制_开发指南_智能云相册

admin 阿里云技术文档 2020-02-11 225 0
阿里云服务器优惠

授权映射表

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

  • 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的对应规则如下:

  1. api -> cloudphoto:api

比如,API接口中ListPhotos对应的策略授权中的Action为cloudphoto:ListPhotos, 其他API接口类似,就不一一列举。

此外,您也可以用*作为通配符来表示一组API,比如用cloudphoto:List*, 它将匹配所有以List开头的API,比如ListPhotos, ListTags等。

常见授权策略模板

业务服务器为客户端生成STS凭证时,需要指定该STS凭证具备哪些访问权限。下面列出常用的授权策略供参考。

指定PhotoStore中指定照片库的除SetQuota外的所有权限

适用场景:在类似手机云相册的场景中,通常需要授予某个C类用户具有操作该用户对应的照片库所有权限。

  1. {
  2. "Version": "1",
  3. "Statement": [
  4. {
  5. "Effect": "Allow",
  6. "Action": "*",
  7. "Resource": "acs:cloudphoto:*:*:photostores/<storeName>/libraries/<libraryId>"
  8. },
  9. {
  10. "Effect": "Deny",
  11. "Action": "cloudphoto:SetQuota",
  12. "Resource": "acs:cloudphoto:*:*:photostores/<storeName>/libraries/<libraryId>"
  13. }
  14. ]
  15. }

其中:

  • <storeName>需要替换为您的PhotoStore名称,
  • <libraryId>需要替换为该C类用户对应的libraryId。如果libraryId为*,则该授权策略表示该PhotoStore下所有C类用户的所有权限。
  • 注意:在手机云相册的场景中,用户可以使用的最大存储空间通常是管理员配置的。因此,这里展示了如何禁用了SetQuota接口的权限。

指定PhotoStore中指定照片库的只读权限

适用场景:针对同一照片库中的的资源,需要授予某些C类用户只读权限。比如,某次多人参加的活动中,活动照片都放在同一照片库,您只希望对普通用户授予只读权限。

  1. {
  2. "Statement": [
  3. {
  4. "Action": [
  5. "cloudphoto:Get*",
  6. "cloudphoto:List*"
  7. ],
  8. "Effect": "Allow",
  9. "Resource": "acs:cloudphoto:*:*:photostores/<storeName>/libraries/<libraryId>"
  10. }
  11. ],
  12. "Version": "1"
  13. }

其中:

  • <storeName>需要替换为您的PhotoStore名称,
  • <libraryId>需要替换为该对应的libraryId。
版权声明

本文仅代表作者观点,不代表本站立场。
本文系作者授权发表,未经许可,不得转载。

评论

-----