# 權限

查閱系統管理員、專案擁有者／管理員／編輯者／檢視者、API 權杖權限交集，以及公開路由的存取規則。

Netstamp 的權限分為系統層級管理、專案角色、API 權杖權限範圍、探測器憑證，以及不需要登入的公開狀態頁路由。

## 專案角色權限表

| 操作                           | 擁有者 | 管理員 | 編輯者 | 檢視者 |
| ------------------------------ | :----: | :----: | :----: | :----: |
| 讀取專案與監測資料             |   ✓    |   ✓    |   ✓    |   ✓    |
| 重新命名專案或變更網址代稱     |   ✓    |   ✓    |   —    |   —    |
| 刪除專案                       |   ✓    |   —    |   —    |   —    |
| 邀請及管理成員                 |   ✓    |   ✓    |   —    |   —    |
| 建立及管理標籤                 |   ✓    |   ✓    |   ✓    |   —    |
| 建立及管理探測器               |   ✓    |   ✓    |   ✓    |   —    |
| 建立及管理檢查                 |   ✓    |   ✓    |   ✓    |   —    |
| 建立及管理警示規則             |   ✓    |   ✓    |   ✓    |   —    |
| 建立、編輯、測試或刪除通知管道 |   ✓    |   ✓    |   ✓    |   —    |
| 建立或編輯公開狀態頁           |   ✓    |   ✓    |   —    |   —    |
| 讀取量測結果與事件             |   ✓    |   ✓    |   ✓    |   ✓    |

擁有者可以指派管理員、編輯者或檢視者；管理員可以指派編輯者或檢視者。編輯者與檢視者無法管理成員。管理員無法移除擁有者或其他管理員，也不能降低他們的角色。最後一位擁有者無法離開專案或被移除。

## 系統管理員

系統管理員負責管理整套系統的設定、使用者、其他系統管理員及管理資料移轉。他們不會自動取得任何專案的成員資格或權限。

第一個註冊的帳號會取得系統管理員權限。系統中必須至少保留一位已啟用的系統管理員。

## API 權杖權限

Bearer 存取權是以下條件的交集：

1. 使用者帳號仍為啟用狀態；
2. 權杖有效且尚未到期；
3. 權杖具有 API 端點要求的權限範圍；
4. 使用者目前仍是目標專案的成員；
5. 專案角色允許執行該操作。

即使權杖具有廣泛權限，也不能讓檢視者取得編輯者權限。變更成員資格或角色後，既有權杖會立即套用新權限。

帳號、成員、邀請、權杖管理及系統管理 API 端點仍只接受瀏覽器工作階段。如果請求包含 `Authorization` 標頭，中介層不會改用工作階段 cookie。

## 探測器執行階段

探測器憑證只能驗證該探測器使用的執行階段路由，包括 hello、心跳訊號、能力回報、指派輪詢及提交量測結果。明文金鑰只會在建立或輪替時回傳。

## 公開狀態頁路由

已啟用的狀態頁不需要登入，就能提供公開摘要、區塊、圖表、每日狀態與事件歷史。只有具備權限的擁有者或管理員能進入編輯模式。頁面公開設定會決定是否顯示檢查目標、探測器名稱、位置、事件及資料產生時間。
