API 權杖

為腳本與整合服務建立、設定權限範圍、儲存、使用、輪替及撤銷 Netstamp 個人 API 權杖。

個人 API 權杖用來驗證瀏覽器以外的專案 API 請求。每個權杖都有一位使用者擁有者、受權限範圍限制,並會在指定時間到期;它能執行的操作也會受到擁有者目前的專案成員資格與角色限制。

建立權杖

  1. 開啟帳號 → API 權杖
  2. 選擇建立權杖
  3. 輸入可以辨識使用端的名稱,例如 grafana-read-prodci-status-page-publisher
  4. 只勾選實際需要的權限範圍。
  5. 設定到期時間。
  6. 立即複製明文 nst_pat_...

Netstamp 只儲存雜湊值與八個字元的提示;明文不會再次顯示。

權限範圍

功能領域讀取寫入
專案projects:readprojects:write
探測器probes:readprobes:write
檢查checks:readchecks:write
標籤labels:readlabels:write
指派assignments:read
結果results:read
警示alerts:readalerts:write
狀態頁status_pages:readstatus_pages:write

依 OpenAPI 操作的定義,寫入操作可能還需要對應的讀取或專案權限範圍。請在 API 瀏覽器確認端點的安全性需求。

使用權杖

bash
curl --fail --silent --show-error \
--header 'Authorization: Bearer nst_pat_replace_me' \
https://netstamp.example.com/api/v1/projects

建議使用機密管理工具或受保護的環境變數:

bash
curl --fail --silent --show-error \
--header "Authorization: Bearer $NETSTAMP_TOKEN" \
"$NETSTAMP_URL/api/v1/projects/$NETSTAMP_PROJECT/results/latest"

不要讓權杖出現在 shell 歷史紀錄、原始檔、CI 日誌、截圖或 URL 查詢字串中。

權限交集

只有在以下條件全部成立時,請求才會成功:

text
valid token
AND not expired
AND required token scope
AND active token owner
AND current project membership
AND sufficient project role

如果使用者被移出專案,或角色權限遭到調降,該權杖能做的事會立即縮減,不需要修改權杖本身。

輪替與撤銷

Netstamp 不會再次顯示或修改既有權杖值。輪替方式如下:

  1. 建立權限範圍相同或更少的新權杖;
  2. 更新使用端並完成測試;
  3. 撤銷舊權杖;
  4. 確認舊權杖發出的請求已經失敗。

只要懷疑權杖外洩,就應立即撤銷。帳號停用或管理員協助恢復憑證時,也會依受影響的驗證狀態撤銷權杖或使存取權失效。