角色與權限
每一份成員資格都帶著兩種角色之一:管理員 或 成員。沒有自訂角色,也沒有針對個別資源的權限。角色只作用在一個組織上 — 你可以在某個組織是管理員,在另一個組織是成員。
一句話講完:管理員管錢和人,成員管算力。
權限對照表
| 範圍 | 動作 | 管理員 | 成員 |
|---|---|---|---|
| 計費 | 檢視餘額、交易紀錄與每日花費 | 是 | 是 |
| 計費 | 透過 Stripe Checkout 儲值餘額 | 是 | 否 |
| 邀請 | 建立邀請連結 | 是 | 否 |
| 邀請 | 列出待處理的邀請 | 是 | 否 |
| 邀請 | 撤銷邀請 | 是 | 否 |
| 成員 | 檢視成員清單 | 是 | 是 |
| 成員 | 變更其他成員的角色 | 是 | 否 |
| 成員 | 移除成員 | 是 | 否 |
| 成員 | 重新命名組織 | 是 | 否 |
| 執行個體 | 部署新的執行個體 | 是 | 是 |
| 執行個體 | 啟動與停止組織裡的任何執行個體 | 是 | 是 |
| 執行個體 | 銷毀組織裡的任何執行個體 | 是 | 是 |
| 執行個體 | 讀取記錄與連線資訊 | 是 | 是 |
| 範本 | 建立、編輯與刪除組織的範本 | 是 | 是 |
| 範本 | 複製 system、public 或組織的範本 | 是 | 是 |
| API 金鑰 | 檢視組織的金鑰、其前綴與建立者 | 是 | 是 |
| API 金鑰 | 建立個人金鑰 | 是 | 是 |
| API 金鑰 | 建立團隊金鑰 | 是 | 否 |
| API 金鑰 | 撤銷自己的個人金鑰 | 是 | 是 |
| API 金鑰 | 撤銷組織裡的任何金鑰 | 是 | 否 |
| 使用紀錄 | 讀取組織的使用紀錄 | 是 | 是 |
| SSH 金鑰 | 在自己的帳號上新增或移除金鑰 | 是 | 是 |
SSH 金鑰完全在角色系統之外:它們屬於使用者,不屬於組織,而且沒有任何角色能存取別人的金鑰。請見切換組織。
成員能做、但常讓人意外的事
成員不是唯讀的旁觀者。成員可以:
- 部署,這會立刻開始花掉組織共用的預付餘額。
- 銷毀組織裡的任何執行個體,包括管理員建立的那些。銷毀會永久刪除硬碟 — 請見停止與銷毀的差別。
- 編輯或刪除組織擁有的任何範本,這會改變同事下一次啟動的東西。
這三件事你都能接受,再把人邀請為成員。
只有管理員能做的事
管理員握著成員碰不到的兩樣東西:錢和名單。
- 儲值餘額並開啟 Stripe Checkout。餘額為零時想部署的成員,看到的是叫他去找管理員的提示,而不是付款按鈕。請見儲值餘額。
- 建立、列出與撤銷邀請。
- 把成員升級、降級與移除,以及重新命名組織。
對照表上的其他每一項,兩種角色都能做。
變更某人的角色
在 團隊 頁面,用成員那一列旁邊的角色選單。變更會套用在他們的下一個請求上;開著的主控台會在下次重新整理時抓到。
你不能變更自己那一列 — 你的角色會顯示成徽章,而不是選單。需要被降級的話,去找另一位管理員。
移除成員
移除控制項在每位成員那一列的最後面。該員會立刻失去對組織執行個體、範本、金鑰與使用紀錄的存取權,而且該組織會從他們的工作區切換器上消失。他們自己的 SSH 金鑰和個人工作區則不受影響。
這個人在這個組織裡建立的每一把 personal 金鑰,都會在他們被移除的那一刻被撤銷——而且不管怎樣,建立者已經不是成員的個人金鑰在每次請求時都會被拒絕。他們用個人金鑰跑的任何東西,例如 CI 工作或 cron 腳本,從那之後都會收到 401 TOKEN_INVALID。
team 金鑰屬於組織,建立者離開後仍然有效。把共用的自動化放在團隊金鑰上,它才撐得過人員異動;另外,當某個接觸得到團隊金鑰的人離開時,到 API 金鑰 頁面檢查一遍這些團隊金鑰。
團隊金鑰代表組織行事,而不是代表建立它的管理員。透過它部署時,可以附加目前任何一位成員的 SSH 金鑰,但不能附加任何已離開的人的 —— 包括金鑰的建立者;用它部署的執行個體在 deployed_by 裡顯示的是這把金鑰,而不是某個人。金鑰本身在建立者離開後依然有效,但這個人曾看過它的密鑰,可能還留著副本:API 金鑰 頁面會為這樣的金鑰標上 建立者已離開。請由現任管理員建立一把替代金鑰,把自動化移過去,再撤銷舊的。
最後一位管理員
組織永遠至少留著一位管理員。移除最後一位管理員,或把他降為成員,都會以 LAST_ADMIN 失敗,並顯示錯誤「一個組織至少需要一位管理員」。請先把別人升為管理員。
API 金鑰一律以成員身分行事
API 金鑰對建立它的組織帶有成員層級的存取權,不管是誰建立的。管理員動作 — 計費、邀請、成員管理、鑄造或撤銷其他金鑰 — 在 shk_ 權杖上會以 ADMIN_REQUIRED 被拒絕。那些呼叫需要已登入的工作階段。
團隊金鑰與個人金鑰的存取權限相同,差別在於誰管理它們、它們能存續多久。團隊金鑰由管理員管理,屬於組織,建立者不再是成員之後仍然有效。個人金鑰屬於它的建立者,建立者被移出組織時就會被撤銷。兩種都不會比成員擁有更多權限。CI 以及組織所仰賴的其他東西,請用團隊金鑰。請見 API 金鑰。
個人工作區
你的個人工作區剛好只有一位成員 — 你,身為管理員。它不能被邀請加入,也放不下一個團隊。在那裡嘗試建立邀請會回傳 PERSONAL_ORG。需要第二個人時,請建立一個真正的組織。