Form to Wipe
Form to Wipe (FTW) 是一個安全的、核准門控的裝置清除工作流程,將 Slack 或 GitHub 連接到 Jamf Platform API。請求者提交清除請求;獨立的核准者審查並核准它;工作流程將 MDM 清除指令發送到目標裝置。每一步都被記錄。
FTW 提供兩種部署路徑。兩者的架構和安全模型完全相同 — 只有介面和基礎設施需求不同。
運作方式
請求者提交 → 核准者審查 → 請求者確認 → 清除指令已傳送 → 結果已記錄
- 請求者通過 Slack 斜線命令或 GitHub Issue 提交清除請求,指定目標租戶、裝置類型、裝置 ID 和原因。
- 工作流程將請求路由到核准者。核准者不能是與請求者相同的人 — 這在平台層級在兩個路徑中都強制執行。
- 核准者審查請求並核准或拒絕它。
- 如果核准,請求者在清除指令執行前會收到最終確認提示。
- 工作流程呼叫 Jamf Platform API 向每個目標裝置發送 MDM 清除指令。
- 結果會回傳給請求者並寫入稽核日誌。
支援的目標設定
FTW 支援三種方式來指定要清除的裝置:
- 單一裝置 — 一個 Jamf Pro 記錄 ID
- 多個裝置 — 以逗號分隔的 Jamf Pro 記錄 ID 清單
- 裝置群組 — 智慧或靜態群組名稱,在執行時透過 Platform API 解析為成員裝置 ID
支援的裝置類型
| 類型 | 平台 | 清除選項 |
|---|---|---|
| 電腦 | macOS | 選用 Find My PIN |
| 行動裝置 | iOS / iPadOS | 保留資料方案、清除啟用鎖定、回到服務、不允許接近設定 |
多租戶支援
兩個部署路徑都支援多個 Jamf 租戶。租戶配置為成對的顯示名稱和 UUID 清單。請求者在提交時從下拉清單中選擇租戶 — 選定的租戶會自動通過每個下游步驟。
JAMF_TENANT_NAMES = Production, Staging, Lab
JAMF_TENANT_IDS = aaaaaaaa-..., bbbbbbbb-..., cccccccc-...
安全模型
FTW 以三個安全原則為基礎:
職責分離。 請求者無法核准自己的請求。這在平台層級強制執行 — GitHub 分支保護規則和 Slack 模式路由邏輯都防止自我核准達到核准者。
稽核軌跡。 每個動作 — 提交、核准、拒絕、確認、清除結果、超時 — 都與行為者身份、時間戳記和租戶一起記錄。GitHub Workflow 路徑使用合併的 Pull Request 作為不可改變的稽核記錄;n8n 路徑寫入 Slack 稽核通道。
憑證隔離。 Jamf Platform API 憑證儲存為環境機密,永遠不在工作流程程式碼或請求正文中。n8n 路徑使用共享的機密權杖來驗證傳入的 Slack 請求在處理前是真實的。
Jamf Platform API 先決條件
兩個路徑都需要具有以下特權的 Jamf Platform API OAuth2 用戶端:
| 特權 | 為什麼需要它 |
|---|---|
Read Computers |
依記錄 ID 查詢電腦名稱和管理 ID |
Read Mobile Devices |
依記錄 ID 查詢行動裝置名稱和管理 ID |
Read Computer Groups |
解析智慧和靜態群組成員資格以進行群組範圍目標設定 |
Read Mobile Device Groups |
解析行動裝置群組成員資格以進行群組範圍目標設定 |
Send Computer Remote Erase Command |
向 macOS 裝置發出清除指令 |
Send Mobile Device Remote Erase Command |
向 iOS/iPadOS 裝置發出清除指令 |
在 Jamf Pro 中的 Settings → API roles and clients → API Clients → New 下建立 API 用戶端。
選擇部署路徑
| n8n | GitHub Workflow | |
|---|---|---|
| 介面 | Slack 模式 | GitHub Issue + PR |
| 核准 UX | Slack DM | PR 審查 |
| 核准者來源 | Entra、Okta 或 Slack 使用者群組 | 分支保護 + CODEOWNERS |
| 稽核日誌 | Slack 通道 | Git 歷史(永久) |
| 基礎設施 | 需要 n8n 實例 | 無(GitHub 託管執行器) |
| 即時超時 | ✅ 可設定 | ❌ 手動關閉 |
| 成本 | n8n 許可證 | 免費(公開)/ Actions 分鐘數 |
如果您的團隊已經執行 n8n、您想要 Slack 原生模式體驗,或您需要 Okta 或 Slack 使用者群組型核准路由,請選擇 n8n。
如果您想要零基礎設施、稽核軌跡是優先事項(每次清除都是合併的 PR — 永久 git 歷史),且您的 IT 團隊習慣在 GitHub 中工作,請選擇 GitHub Workflow。
準備好部署了嗎?跳到您選擇的路徑指南: