Jamf Concepts
가이드

가이드

Form to Wipe

Form to Wipe

Form to Wipe (FTW)는 Slack 또는 GitHub를 Jamf Platform API에 연결하는 안전한 승인 게이트웨이 기기 초기화 워크플로우입니다. 요청자가 초기화 요청을 제출하면, 승인자가 검토 및 승인하고, 워크플로우가 대상 기기에 MDM 초기화 명령을 전송합니다. 모든 단계가 기록됩니다.

FTW는 두 가지 배포 경로로 제공됩니다. 아키텍처와 보안 모델은 두 경로 모두에서 동일하며, 인터페이스와 인프라 요구 사항만 다릅니다.

작동 방식

요청자 제출 → 승인자 검토 → 요청자 확인 → 초기화 명령 전송 → 결과 기록
  1. 요청자가 Slack 슬래시 명령어 또는 GitHub Issue를 통해 초기화 요청을 제출하며, 대상 테넌트, 기기 유형, 기기 ID 및 사유를 지정합니다.
  2. 워크플로우가 요청을 승인자에게 라우팅합니다. 승인자는 요청자와 같은 사람일 수 없으며, 이는 두 경로 모두에서 플랫폼 수준에서 시행됩니다.
  3. 승인자가 요청을 검토하고 승인 또는 거부합니다.
  4. 승인되면 요청자는 초기화 명령이 실행되기 전에 최종 확인 프롬프트를 받습니다.
  5. 워크플로우가 Jamf Platform API를 호출하여 각 대상 기기에 MDM 초기화 명령을 전송합니다.
  6. 결과가 요청자에게 다시 게시되고 감시 로그에 작성됩니다.

지원되는 대상 지정

FTW는 초기화할 기기를 지정하는 세 가지 방법을 지원합니다:

  • 단일 기기 — 하나의 Jamf Pro 레코드 ID
  • 여러 기기 — 쉼표로 구분된 Jamf Pro 레코드 ID 목록
  • 기기 그룹 — 스마트 또는 정적 그룹 이름, 런타임에 Platform API를 통해 멤버 기기 ID로 확인됨

지원되는 기기 유형

유형 플랫폼 초기화 옵션
Computer macOS 선택적 Find My PIN
Mobile Device iOS / iPadOS 데이터 플랜 유지, Activation Lock 해제, 서비스 반환, 근처 설정 불허

멀티 테넌트 지원

두 배포 경로 모두 여러 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을 선택하세요: 팀이 이미 n8n을 실행 중이거나, Slack 네이티브 모달 경험을 원하거나, Okta 또는 Slack 사용자 그룹 기반 승인 라우팅이 필요한 경우.

다음의 경우 GitHub Workflow를 선택하세요: 인프라가 필요 없고, 감시 추적이 우선 순위(모든 초기화는 병합된 PR - 영구 git 히스토리)이며, IT 팀이 GitHub에서 작업하기 편한 경우.


배포할 준비가 되셨나요? 선택한 경로에 대한 가이드로 이동하세요: