跳到主要内容

切换组织

一个账户可以同时属于多个工作区。侧边栏顶部的切换器决定你正在哪个工作区里工作 — 你看到的、部署的和花掉的一切都属于那一个。

你所属的工作区

工作区从哪里来你的角色
个人首次登录时为你创建管理员,且是唯一的成员
你创建的组织切换器中的 创建组织… 入口管理员
你加入的组织邀请链接或已接受的邀请邀请授予的角色

切换器会显示当前工作区的名称 — 个人工作区显示为 个人 — 下方是你在该组织中的角色,这样你一眼就能看出能不能在这里充值。个人工作区在那个位置显示的是 个人工作区,因为你永远是它唯一的成员。

切换

从切换器中选择另一个工作区。会发生三件事:

  1. 控制台丢弃所有已缓存的页面数据,并为新组织重新拉取。
  2. 之后的每个 API 请求都会在 X-Org-Id 请求头中携带该组织的 id。切换回个人工作区则会清除这个请求头 — 没有 X-Org-Id 本身就表示你的个人工作区。
  3. 选择会保存在这个浏览器里,下次你会回到同一个工作区。

整个过程中你始终以同一个用户身份登录 — 切换改变的是上下文,不是身份。选择是按浏览器保存的:第二台设备会从你的个人工作区开始,直到你在那里也切换过。

部署前先看一眼切换器

实例按你选择 部署实例 时处于活动状态的那个工作区的余额计费,之后无法转移。误部署到个人工作区,花的是你自己的余额,而不是团队的。

创建组织

打开切换器,选择 创建组织…,给它取一个不超过 64 个字符的名称。你成为它的管理员,控制台会立刻把你切换进去。它初始余额为零,没有实例,也没有自己的模板。先充值,然后 邀请你的同事

哪些属于组织,哪些属于你

项目归属范围是否跨工作区?
余额和交易记录组织
实例组织
API 密钥组织
你创建的模板组织仅当你把它设为 public 时
用量日志组织
成员和角色组织
SSH 密钥用户是 — 各处都是同一份列表
登录方式、两步验证、通行密钥用户

模板是唯一的部分例外。当模板是 Superheat 精选的 system 模板、可见性为 public,或由当前组织拥有时,它才在这个工作区中可见。复制一个你不拥有的模板,会生成一份归当前组织所有的 private 副本,其中的机密环境变量值和私有镜像仓库凭证会被清空。

余额永远不跨组织

每个组织自己购买、自己消耗余额。工作区之间没有转账、没有共享池,也不能借用:个人工作区里的 $200 对余额归零的组织毫无帮助。

自动保护措施同样按组织生效。当一个组织的余额降到零时,它正在运行的实例会被停止;到 −$5 时,它的实例会被销毁。另一个工作区有钱救不了它们。参见 计费原理

只有那个特定组织的管理员才能为它充值。你在别处是管理员并没有用。

实例永远不跨组织

实例列表、部署页面以及所有实例端点,都只返回当前组织的机器。你无法查看、启动、停止或销毁属于你当前不在其中的工作区的实例 — 即使你同时是两边的成员。请先切换。

花费的归属方式也一样:实例在整个生命周期内都向部署它的组织计费,无论之后由谁停止或销毁。

API 密钥永远不跨组织

shk_ 密钥在某一个组织内签发,并始终固定在这个组织上。它只对该组织具有成员级别的访问权限。

  • 用某个密钥携带指向另一个组织的 X-Org-Id 请求头,会返回 403 ORG_MISMATCH
  • 要针对两个组织做自动化,请在每个组织中各签发一个密钥,并在自己的代码里选择用哪一个。
  • 无论创建者当前在控制台里查看哪个工作区,密钥对它所属的组织都照常有效。

参见 API 密钥

SSH 密钥跟着你走

SSH 密钥是例外:它们存在于你的用户账户上,而不在任何组织上。添加一次,它就会出现在你所属的每个工作区中,包括你之后加入的。删除一个密钥,就是在所有地方删除它。

部署时你只能选择自己账户上的密钥 — 同事的密钥不会出现在选项里,API 也会拒绝不属于你的密钥 id。实例只会预置部署者选择的那一个密钥,所以同事不会自动获得别人部署的机器的 shell 访问权限。他们仍然可以在控制台里看到它、读取它的日志、停止它并销毁它。

参见 添加密钥

从 API 选择组织

X-Org-Id 请求头为组织范围的端点选择工作区。省略它,请求就使用你的个人工作区。

curl "$SUPERHEAT_API/v1/instances" \
-H "Authorization: Bearer $SESSION_TOKEN" \
-H "X-Org-Id: $ORG_ID"
调用你能得到什么
GET /v1/orgs你所属的每个工作区,以及你的角色和它的余额
GET /v1/orgs/current当前工作区、它的余额、你的角色,以及它的成员列表

有两个错误值得认一认:403 NOT_A_MEMBER 表示请求头指向了一个你并不属于的组织,400 INVALID_ORG_ID 表示请求头不是有效的 id。

离开组织

没有自助离开的方式。请让该组织的管理员在 团队 页面把你移除;之后这个工作区就会从你的切换器中消失。如果你是它的最后一名管理员,请先提升其他人。你的个人工作区是永久的,无法离开。

相关内容