# 帳號與系統管理

管理使用者身分、工作階段與 API 權杖，以及系統註冊、SMTP、使用者、管理員和資料移轉。

帳號設定只屬於目前登入的使用者；系統管理設定則會影響整套 Netstamp，只有系統管理員可以變更。

## 帳號設定

開啟使用者選單並選擇「**帳號**」，即可管理：

- 顯示名稱；
- 電子郵件地址與驗證狀態；
- 本機密碼；
- 已連結的 OIDC、Google 或 GitHub 身分；
- 使用中的瀏覽器工作階段及 User-Agent；
- 個人 API 權杖；
- 停用帳號。

敏感操作需要近期完成身分驗證。繼續前，Netstamp 可能會要求輸入目前密碼，或重新導向到已連結的身分提供者。

不要移除帳號的最後一種登入方式。變更外部身分提供者或電子郵件網域前，請先加入並測試一種備用登入方式。

## 工作階段

工作階段儲存在伺服器端，瀏覽器只持有不透明的 HTTP-only cookie。帳號設定會列出目前使用中的工作階段。發現不熟悉的工作階段時應立即撤銷；如果懷疑帳號遭到入侵，請撤銷所有工作階段。

預設閒置期限為 24 小時，最長期限為 7 天；維運人員可以透過控制器設定變更這兩個值。

## 建立第一位系統管理員

第一個成功註冊的帳號會成為系統管理員。Netstamp 不允許移除最後一位仍啟用的系統管理員。

系統管理員可以：

- 變更註冊、電子郵件驗證、公開服務網址及 SMTP 設定；
- 列出、停用或重新啟用使用者；
- 設定或清除使用者的本機密碼；
- 授予或移除系統管理員權限；
- 匯出及匯入系統管理 JSON 資料套件。

系統管理員權限不會自動授予專案成員資格。

## 系統設定

儲存在「系統管理」頁面的設定會覆寫環境變數提供的備用值。機密設定會使用 `SYSTEM_SETTINGS_ENCRYPTION_KEY` 加密。變更 SMTP 或公開服務網址後，請測試電子郵件連結、第三方登入回呼及探測器安裝程式輸出。

停用註冊後，新的本機帳號將無法註冊。外部身分提供者的 JIT provisioning 屬於另一項政策，請同時檢查相關設定。

## 協助使用者恢復帳號

管理員可以替既有使用者設定暫用的本機密碼，或清除可能外洩的密碼。請透過安全管道傳送暫用憑證，並要求使用者登入後立即更換。

停用使用者後，該帳號將無法登入或存取受保護的 API，但專案歷史與監測資料不會被刪除。

## 匯出與匯入資料

「系統管理」資料套件適合在應用程式層級移轉資料。匯入需要高權限，而且可能修改多個資料表。匯入正式環境前，請先建立 PostgreSQL 備份、確認套件來源與格式，並完成測試還原。

災難復原流程請參閱[升級、備份與還原](/zh-TW/docs/install/upgrade-backup/)。
