切換組織
一個帳號可以同時屬於好幾個工作區。側邊欄頂端的切換器決定你正在哪一個裡面工作 — 而你看到的、部署的、花掉的一切,都屬於那一個。
你所屬的工作區
| 工作區 | 從哪裡來 | 你的角色 |
|---|---|---|
| 個人 | 首次登入時為你建立 | 管理員,而且是唯一的成員 |
| 你建立的組織 | 切換器裡的 建立組織… 項目 | 管理員 |
| 你加入的組織 | 邀請連結,或已接受的邀請 | 邀請給你什麼就是什麼 |
切換器會顯示作用中工作區的名稱 — 個人工作區顯示 個人 — 下面附上你在該組織的角色,讓你一眼就看得出能不能在這裡儲值餘額。個人工作區在那個位置改成寫 個人工作區,因為你永遠是它唯一的成員。
切換
從切換器挑另一個工作區。會發生三件事:
- 主控台丟掉每一頁快取的資料,並為新的組織重新抓取。
- 之後每一個 API 請求都會在
X-Org-Id標頭裡帶上該組織的 id。切回個人工作區則是把這個標頭清掉 — 沒有X-Org-Id本來就代表你的個人工作區。 - 這個選擇會存在那台瀏覽器裡,所以下次你會回到同一個工作區。
整個過程你都以同一個使用者身分保持登入 — 切換換的是情境,不是身分。選擇是以瀏覽器為單位:第二台裝置會從你的個人工作區開始,直到你在那裡也切過去。
執行個體會向你選擇 部署執行個體 當下作用中的那個工作區的餘額計費,而且事後無法搬移。不小心部署到個人工作區,花的是你自己的餘額,不是團隊的。
建立組織
開啟切換器,選擇 建立組織…,給它一個最多 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。
離開組織
沒有自助離開這回事。請那個組織的管理員從 團隊 頁面把你移除;該工作區接著就會從你的切換器上消失。如果你是它的最後一位管理員,先把別人升為管理員。你的個人工作區是永久的,離不開。