帳號管理
人、角色、一次性密碼與機器金鑰。
必須先在系統設定 → 安全啟用登入,這一頁的設定才會生效。在那之前所有人都是管理員。
角色
| 角色 | 可以 |
|---|---|
| viewer | 看到角色允許範圍內的任務與建置。 |
| operator | 另外可以執行任務。 |
| administrator | 全部,包含設定、帳號與安裝外掛。 |
這些是預設值。每個任務另外有自己的檢視角色與執行角色,所以部署任務可以只給管理員,其他東西照樣所有人看得到。看不到的任務回 404 而不是 403——識別碼不會反過來證實它存在。
密碼
以 PBKDF2-SHA256 保存。工作階段存在資料表,所以登出是在伺服器端失效,而不只是丟掉一個 cookie。密碼至少 8 個字元。
一次性密碼
TOTP,逐帳號註冊,附可重新產生的備援碼。一旦開啟要求所有帳號啟用一次性密碼,尚未註冊的帳號仍然可以登入——但無法把 OTP 關掉。
API 金鑰
給程式與 AI 代理使用。格式:
walis_<前綴>_<祕密>- 只保存 PBKDF2 雜湊,明文只在建立時顯示一次。
- 前綴用來查詢,本身不是祕密。
- 金鑰帶有角色,
AuthenticationMiddleware會據此合成一個工作階段。HasOtp一律視為 true——機器產不出一次性密碼。 - 金鑰不能用來建立金鑰。 靠外洩金鑰提權到此為止。
金鑰可以停用而不刪除,這樣稽核軌跡不會斷。最後使用是找出沒人在用的金鑰最快的欄位。
刪除帳號
Walis 拒絕刪掉最後一個帳號。否則在沒有帳號的情況下啟用登入,就會把所有人鎖在一個沒有密碼重設流程的服務外面。