로컬 방화벽 정책이 REQUIRE_APPROVAL을 반환하면 승인 API를 사용합니다.
연결 프로그램은 승인 요청을 한 번 생성하고 제한된 시간 동안 상태를
조회합니다. 결과가 APPROVED일 때만 보호된 도구를 실행합니다.
두 API 모두 안정적인 X-Lynx-Client-ID 헤더가 필요합니다. Lynx는 이 값과
clientRequestId를 함께 사용해 재시도를 중복 처리하지 않고, 다른 SDK
인스턴스가 요청을 조회하지 못하게 합니다.
승인 요청 생성
POST /openapi/v1/firewall-approvals에는 events:write 권한이 필요합니다.
timeoutMs는 1초 이상 24시간 이하여야 합니다. 같은 도구 호출을 재시도할
때는 동일한 clientRequestId를 사용합니다. 다른 호출에는 이 값을
재사용하지 않습니다.
API는 현재 승인 상태와 함께 201을 반환합니다.
승인 상태 조회
GET /openapi/v1/firewall-approvals/{approvalId}에는 policies:read 권한이
필요합니다. 요청을 생성할 때 사용한 것과 같은 X-Lynx-Client-ID를
전달합니다.
상태는 다음 중 하나입니다.
PENDING: 잠시 기다린 후 다시 조회합니다.
APPROVED: inputHash와 연결된 동일한 도구 호출만 실행합니다.
REJECTED: 도구를 실행하지 않습니다.
EXPIRED: 도구를 실행하지 않습니다.
조회 간격은 최소 1초를 권장하며 로컬 제한 시간이 끝나면 조회를
중단합니다. 네트워크 오류, timeout, 잘못된 응답, 알 수 없는 상태가
발생해도 도구 실행을 허용하면 안 됩니다.
권장 흐름
- 활성 방화벽 정책을 로컬에서 평가합니다.
- 결과가
REQUIRE_APPROVAL일 때만 승인 요청을 생성합니다.
- 재시도할 때 승인 ID와
clientRequestId를 유지합니다.
- 승인, 거절, 만료 또는 로컬 제한 시간까지 상태를 조회합니다.
- 실행 직전에 도구 이름과 입력 해시가 그대로인지 확인합니다.
- 승인 결과를 같은 Run과 세션에 기록합니다.
도구 인자와 승인 사유에는 민감정보가 포함될 수 있습니다. 원문 대신
재현 가능한 해시를 보내고, 승인 사유의 비밀값을 마스킹하며, API 키나
승인 자격 정보를 로그에 남기지 않습니다.