全部产品
存储与CDN 数据库 安全 应用服务 数加·人工智能 数加·大数据基础服务 互联网中间件 视频服务 开发者工具 解决方案 物联网

子帐号控制台快速指导

更新时间:2017-07-27 11:01:08

子帐号控制台登录前条件

使用RAM子帐号登录函数计算控制台,子帐号应该具备以下条件:

  • 必须开启控制台登录功能,并为该子帐号设置登录用户名和密码。更详细的指导请参考子控制台登录

子控制台所需完整权限

最后提供一个自定义policy,您只需要基于这个policy进行适合的增删或者修改,就可以满足您的需求。该自定义policy模版让被绑定的子帐号拥有所有的权限。

  1. {
  2. "Version": "1",
  3. "Statement": [
  4. {
  5. "Action": "fc:*",
  6. "Resource": "*",
  7. "Effect": "Allow"
  8. },
  9. {
  10. "Action": [
  11. "ram:PassRole"
  12. ],
  13. "Effect": "Allow",
  14. "Resource": "*"
  15. },
  16. {
  17. "Effect": "Allow",
  18. "Action": [
  19. "log:ListProject",
  20. "log:ListLogStore"
  21. ],
  22. "Resource": "acs:log:*:*:project/*"
  23. },
  24. {
  25. "Effect": "Allow",
  26. "Action": [
  27. "ram:ListRoles"
  28. ],
  29. "Resource": [
  30. "acs:ram:*:*:role/*"
  31. ]
  32. },
  33. {
  34. "Action": [
  35. "oss:ListBucket"
  36. ],
  37. "Effect": "Allow",
  38. "Resource": "*"
  39. },
  40. {
  41. "Action": [
  42. "oss:GetBucketEventNotification",
  43. "oss:PutBucketEventNotification",
  44. "oss:DeleteBucketEventNotification"
  45. ],
  46. "Effect": "Allow",
  47. "Resource": "*"
  48. }
  49. ]
  50. }

  如果您仅仅想让子帐号拥有读取服务信息,读取函数信息和执行函数的权限,您进需要绑定如下的policy到子帐号:

  1. {
  2. "Version": "1",
  3. "Statement": [
  4. {
  5. "Effect": "Allow",
  6. "Action": "fc:ListService",
  7. "Resource": "acs:fc:cn-shanghai:*:services/*"
  8. },
  9. {
  10. "Effect": "Allow",
  11. "Action": [
  12. "fc:GetFunction"
  13. ],
  14. "Resource": [
  15. "acs:fc:*:*:services/your-helloworld-fc/functions/*",
  16. "acs:fc:*:*:services/your-helloworld-oss/functions/*"
  17. ]
  18. },
  19. {
  20. "Effect": "Allow",
  21. "Action": [
  22. "fc:InvokeFunction"
  23. ],
  24. "Resource": [
  25. "acs:fc:*:*:services/your-helloworld-fc/functions/your-hello-world-fc"
  26. ]
  27. },
  28. {
  29. "Action": [
  30. "ram:PassRole"
  31. ],
  32. "Effect": "Allow",
  33. "Resource": "*"
  34. },
  35. {
  36. "Effect": "Allow",
  37. "Action": [
  38. "log:ListProject",
  39. "log:ListLogStore"
  40. ],
  41. "Resource": "acs:log:*:*:project/*"
  42. },
  43. {
  44. "Effect": "Allow",
  45. "Action": [
  46. "ram:ListRoles"
  47. ],
  48. "Resource": [
  49. "acs:ram:*:*:role/*"
  50. ]
  51. },
  52. {
  53. "Action": [
  54. "oss:ListBucket"
  55. ],
  56. "Effect": "Allow",
  57. "Resource": "*"
  58. },
  59. {
  60. "Action": [
  61. "oss:GetBucketEventNotification",
  62. "oss:PutBucketEventNotification",
  63. "oss:DeleteBucketEventNotification"
  64. ],
  65. "Effect": "Allow",
  66. "Resource": "*"
  67. }
  68. ]
  69. }

授权子帐号最基本的功能

  这里所指的最基本的功能是指创建服务,删除服务,获取服务信息,创建函数,删除函数,更新函数信息,获取函数信息和执行函数的权限,不包括日志和触发器相关的操作。这些基本的权限是使用日志和触发器功能权限的基础。接下来一步步跟着我操作吧。
一: 给子帐号设置AliyunFCFullAccess权限。
访问控制—>用户管理—>授权(找到被授权的子帐号)

aliyunfcfullaccess


二: 子帐号登录执行基本操作。
  完成第一步,该子帐号已经可以创建服务,删除服务,获取服务信息,创建函数,删除函数,修改函数,获取函数信息和执行函数了。
  访问控制—>概览—>RAM用户登录链接(点击链接,输入用户名密码)—>完成登录。
  仅完成基本权限设置,高级配置可以忽略。
highconfig
  此处是配置您的日志,如果不打算让子帐号拥有日志的相关功能可以跳过此处。
  创建函数—>输入所要创建函数的基本的信息—>完成函数的创建—>代码执行 log
因为子帐号没还有访问日志的权限。因此,此处不会显示日志。


三: 如果您觉的子帐号的权限太多,想缩小权限怎么办?比如我只想让子帐号拥有创建服务,获取服务,创建函数,执行函数的权限。
  开始之前建议您了解一些RAM的一些最基本的概念,要指导什么是云资源,policy等相关的概念。

define-policyattach-polict-to-role
  自定义一个仅仅拥有创建服务,获取服务,创建函数,执行函数的权限对应的policy。然后把自定义的policy关联到角色上面。详细的操作步骤可以参考上面的截图。 操作中只用的policy如下图所示,您可以基于这个模版修改,或者直接复用。

  1. {
  2. "Version": "1",
  3. "Statement": [
  4. {
  5. "Action": [
  6. "fc:CreateService",
  7. "fc:GetService",
  8. "fc:CreateFunction",
  9. "fc:GetFunction",
  10. "fc:InvokeFunction"
  11. ],
  12. "Resource": "*",
  13. "Effect": "Allow"
  14. }
  15. ]
  16. }

  如果您需要更加详细Action和Resource可以参考文档请参考函数计算权限管理注意:一个角色只能关联5个自定义policy,建议您把多个自定义policy组织成一个,避免超出限制。

  1. {
  2. "Version": "1",
  3. "Statement": [
  4. {
  5. "Effect": "Allow",
  6. "Action": "fc:CreateService",
  7. "Resource": "acs:fc:cn-shanghai:*:services/*"
  8. },
  9. {
  10. "Effect": "Allow",
  11. "Action": [
  12. "fc:CreateFunction"
  13. ],
  14. "Resource": [
  15. "acs:fc:*:*:services/your-helloworld-fc/functions/*",
  16. "acs:fc:*:*:services/your-helloworld-oss/functions/*"
  17. ]
  18. },
  19. {
  20. "Effect": "Allow",
  21. "Action": [
  22. "fc:UpdateFunction"
  23. ],
  24. "Resource": [
  25. "acs:fc:*:*:services/your-helloworld-fc/functions/your-hello-world-fc"
  26. ]
  27. }
  28. ]
  29. }

所有的Policy对应的控制粒度对照表请参考权限定义

添加日志等高级功能

  控制台的高级配置部分主要是管理用户的日志功能和给service级别的role添加访问其它服务的权限。除了应该具有UpdateService的权限,您还应该有PassRole。如果您还想在高级配置创建新的角色, 那么您还应该具有create role的权限。下给给出一个PassRole的policy,可以进行参考。

  1. {
  2. "Statement": [
  3. {
  4. "Action": [
  5. "ram:PassRole"
  6. ],
  7. "Effect": "Allow",
  8. "Resource": "*"
  9. }
  10. ],
  11. "Version": "1"
  12. }

passRole

  您可以看到此处project, logstore和现有角色,都是文本框输入,这种交互体验不是很好,如果您担心自己输入错误,不使用文本框,那么我建议您在service role加上list project,list logstore和list role的权限,因为这样可以减少很多的错误。配置以上的权限,可以参考日志服务权限管理 对于ram相关的权限,可以参考RAM权限管理high-config-define
  给您提供一个模版,您只需要创建这个模版,然后关联到子帐号上面。

  1. {
  2. "Version": "1",
  3. "Statement": [
  4. {
  5. "Effect": "Allow",
  6. "Action": [
  7. "log:ListProject",
  8. "log:ListLogStore"
  9. ],
  10. "Resource": "acs:log:*:*:project/*"
  11. },
  12. {
  13. "Effect": "Allow",
  14. "Action": [
  15. "ram:ListRoles"
  16. ],
  17. "Resource": [
  18. "acs:ram:*:*:role/*"
  19. ]
  20. }
  21. ]
  22. }

子帐号使用触发器权限设置

  如果您已经绑定了PassRole和create trigger的权限, 那么恭喜您,您现在可以创建触发器了。同样如果您没有list bucket和list role的权限,这里只会提供文本输入框。如果想使用下拉列表,这里提供一个模版给您,按照这个模版创建policy,然后关联到子帐号。补充oss权限管理

  1. {
  2. "Statement": [
  3. {
  4. "Action": [
  5. "oss:ListBucket"
  6. ],
  7. "Effect": "Allow",
  8. "Resource": "*"
  9. }
  10. ],
  11. "Version": "1"
  12. }

  基于每个角色只可以关联5个自定义模版,建议您把这个policy合并到之前的模版里面,减少模版的数量。

注意:有时候你会产生疑问,为何我这边创建成功了触发器,但是看不到创建成功的触发器, 因为您还缺少三个权限。这里直接提供一个模版给您,您只需要创建这个policy,然后关联到子帐号上面。

  1. {
  2. "Statement": [
  3. {
  4. "Action": [
  5. "oss:GetBucketEventNotification",
  6. "oss:PutBucketEventNotification",
  7. "oss:DeleteBucketEventNotification"
  8. ],
  9. "Effect": "Allow",
  10. "Resource": "*"
  11. }
  12. ],
  13. "Version": "1"
  14. }

  完成以上工作,您就具有控制台所有相关操作了。根据您的需求,选择合适的权限。

本文导读目录