跳到主要内容

角色与权限

每个成员身份都带有两种角色之一:管理员 或 成员。没有自定义角色,也没有按资源划分的权限。角色只作用于一个组织 — 你可以在一个组织里是管理员,在另一个组织里是成员。

一句话概括:管理员管钱和成员名单,成员管算力。

权限矩阵​

领域操作管理员成员
计费查看余额、交易记录和每日花费是是
计费通过支付宝或微信支付充值余额是否
邀请创建邀请链接是否
邀请列出待处理的邀请是否
邀请撤销邀请是否
成员查看成员列表是是
成员修改其他成员的角色是否
成员移除成员是否
成员重命名组织是否
实例部署新实例是是
实例启动和停止组织内的任意实例是是
实例销毁组织内的任意实例是是
实例读取日志和连接信息是是
模板创建、编辑和删除组织的模板是是
模板复制 system、public 或组织的模板是是
API 密钥查看组织的密钥、密钥前缀和创建者是是
API 密钥创建个人密钥是是
API 密钥创建团队密钥是否
API 密钥撤销自己的个人密钥是是
API 密钥撤销组织内的任意密钥是否
用量日志读取组织的用量日志是是
SSH 密钥在自己的账户上添加或删除密钥是是

SSH 密钥完全不在角色体系之内:它们属于用户而不属于组织,任何角色都无法访问别人的密钥。参见 切换组织。

成员能做的事常常出人意料​

成员不是只读的旁观者。成员可以:

  • 部署,这会立刻开始消耗组织共享的预付余额。
  • 销毁组织内的任意实例,包括管理员创建的实例。销毁会永久删除磁盘 — 参见 停止与销毁。
  • 编辑或删除组织拥有的任意模板,这会改变同事下一次启动的内容。

只有在这三件事你都能接受时,才把别人邀请为成员。

只有管理员能做的事​

管理员掌握着成员碰不到的两样东西:钱和成员名单。

  • 充值余额,也就是用支付宝或微信支付扫码付款。余额为零时尝试部署的成员看到的是让他去找管理员的提示,而不是付款按钮。参见 充值余额。
  • 创建、列出和撤销邀请。
  • 提升、降级和移除成员,以及重命名组织。

矩阵上的其他所有操作对两种角色都开放。

修改某人的角色​

在 团队 页面,使用成员所在行旁边的角色选择器。改动会在他们的下一次请求时生效;已经打开的控制台会在下次刷新时同步。

你不能修改自己那一行 — 你的角色显示为徽章而不是选择器。如果需要把自己降级,请找另一位管理员。

移除成员​

移除控件位于每个成员所在行的末尾。这个人会立刻失去对组织的实例、模板、密钥和用量日志的访问权限,该组织也会从他的工作区切换器中消失。他自己的 SSH 密钥和个人工作区不受影响。

移除的同时,他在这个组织里创建的个人密钥会被立即吊销;即使有漏网的,个人密钥每次使用都会重新核对创建者是否仍是成员,所以它们在他被移除之后都会返回 401 TOKEN_INVALID。团队密钥不受影响:它们属于组织,创建者离开后照常可用。

自动化请用团队密钥

接在某位同事个人密钥上的脚本或 CI,会在他被移出组织的那一刻停止工作。给共享的自动化签发团队密钥(只有管理员能创建)。团队密钥代表组织行事,而不是代表创建它的管理员。通过它的部署可以附加任何一位现任成员的 SSH 密钥,但不能附加任何已离开的人的——包括密钥的创建者本人;用它部署的实例在 deployed_by 里显示的是这把密钥,而不是某个人。密钥本身在创建者离开后依然有效,但创建者曾看到过一次它的密钥值,可能还留着副本:API 密钥页面会给这样的密钥标上创建者已离开。请由现任管理员创建一把新的换上,再吊销旧的。

最后一名管理员​

组织始终至少保留一名管理员。移除最后一名管理员,或把他降级为成员,都会失败并返回 LAST_ADMIN,错误信息为“组织至少需要一名管理员”。请先提升其他人。

API 密钥始终以成员身份操作​

无论由谁创建,API 密钥对创建它的组织都只有成员级别的访问权限。管理员操作 — 计费、邀请、成员管理、签发或撤销其他密钥 — 在 shk_ 令牌上会被拒绝并返回 ADMIN_REQUIRED。这些调用需要已登录的会话。

团队密钥和个人密钥的权限一样,都不会超过成员。区别在于由谁管理、能用多久:团队密钥由管理员管理,创建者离开组织后依然有效;个人密钥属于它的创建者,创建者被移出组织时随之吊销。参见 API 密钥。

个人工作区​

你的个人工作区只有一名成员 — 你自己,身份是管理员。它无法被邀请加入,也不能容纳团队。在其中创建邀请会返回 PERSONAL_ORG。需要第二个人时,请创建一个真正的组织。

相关内容​