组织
你部署的每个实例、你花掉的每一分余额、你保存的每个模板都属于某个组织。Superheat 上没有任何东西是由用户直接拥有的。
你从登录的那一刻起就有一个组织,所以这件事很少会挡你的路——直到你加入第二个组织,忽然发现余额和实例列表都不是你记得的那些。
你的个人组织
你第一次登录时,系统会为你创建一个个人组织,你是它的管理员。除了一点之外,它在各方面都是普通组织:它不能有成员。要和其他人一起干活,请另建一个组织并把他们邀请到那里。
控制台在切换器里显示当前组织;API 通过 X-Org-Id 请求头接收它。缺少这个请求头时,请求作用于你的个人组织。
角色
每个组织内有两种角色。同一个人可以在一个组织里是管理员,在另一个组织里是成员。
| 操作 | 管理员 | 成员 |
|---|---|---|
| 浏览报价、部署、停止、启动、销毁 | 是 | 是 |
| 创建和编辑组织的模板 | 是 | 是 |
| 查看余额、交易记录和用量日志 | 是 | 是 |
| 创建个人 API 密钥,以及撤销自己的密钥 | 是 | 是 |
| 创建或撤销团队 API 密钥 | 是 | 否 |
| 充值并发起结账 | 是 | 否 |
| 邀请成员、变更角色、移除成员 | 是 | 否 |
| 重命名组织 | 是 | 否 |
组织始终至少保留一名管理员。移除最后一名管理员,或把他降级,都会被拒绝。
邀请是链接。管理员为某个邮箱地址创建一条邀请,你把生成的 /join?token=... 网址分享出去,任何在已登录状态下打开它的人都会以邀请所带的角色加入。邀请七天后过期,且只能使用一次。如果被邀请的地址和你当前登录的账户一致,邀请也会出现在应用内,这样就不用转交链接了。
什么属于组织
| 属于组织 | 作为用户属于你 |
|---|---|
| 余额,以及它上面的每一笔交易 | 你的 SSH 密钥 |
| 实例,以及它们产生的费用 | 你的登录方式、两步验证和通行密钥 |
| 组织拥有的模板,无论私有还是公开 | 你是哪些组织的成员 |
| API 密钥 | |
| 记录谁做了什么的用量日志 |
这就是让人措手不及的那条边界。切换组织会改变你花的余额、你看到的实例、你能编辑的模板,以及能用的 API 密钥。余额不能在组织之间转移,也没有办法把实例从一个组织搬到另一个组织。
你的 SSH 密钥是例外。它们挂在你身上,不挂在组织上,所以无论你在哪个组织里干活,同一把密钥在部署时都能选到。添加密钥不会把它暴露给队友,加入某个组织也不会让你拿到他们的密钥。
API 密钥与这条边界
API 密钥由某一个组织签发,并被钉在那个组织上。带着不同的 X-Org-Id 发送会被拒绝,而不是被悄悄改到别处。
密钥始终以 成员 身份操作,即使创建它的人是管理员。这意味着它可以部署、停止和销毁实例,管理模板,读取账本——而它不能充值、不能邀请任何人、不能签发或撤销其他密钥,也不能碰账户级别的接口,比如你的 SSH 密钥。管理员操作需要一个已登录的会话。
它不能给余额充值,但它可以部署实例来消耗余额。请把泄露的密钥当成账上的钱正在流走,并到 API 密钥页面撤销它。