giip
SES Proposal
2 min read

Sk3 (๊ณ ์„ฑ๋Šฅ ๋กœ๊น… ๋ฐ ๋ฌด๊ฒฐ์„ฑ ๊ฒ€์ฆ) API ๊ฐ€์ด๋“œ

GIIP ํ”Œ๋žซํผ์˜ ์—์ด์ „ํŠธ ์ „์†ก ์—๋Ÿฌ ๊ฐ์ง€ ๋ฐ ๋ฐ์ดํ„ฐ ๋ฌด๊ฒฐ์„ฑ ๊ฒ€์ฆ์„ ์œ„ํ•œ High-fidelity ๋กœ๊น… ๋ธŒ๋ฆฟ์ง€ API์ธ giipApiSk3์˜ ์‚ฌ์šฉ ๋ฐฉ๋ฒ•์„ ์•ˆ๋‚ดํ•ฉ๋‹ˆ๋‹ค.

๐Ÿ“‹ ๊ฐœ์š”

giipApiSk3๋Š” ๊ธฐ์กด giipApi์— ๊ฐ•๋ ฅํ•œ ๋กœ๊น… ๋ฐ ๋ฐ์ดํ„ฐ ํŒŒ์‹ฑ ๊ธฐ๋Šฅ์„ ๋”ํ•œ ํ–ฅ์ƒ๋œ ์—”๋“œํฌ์ธํŠธ์ž…๋‹ˆ๋‹ค. ์—์ด์ „ํŠธ์˜ ์š”์ฒญ ์ฒ˜๋ฆฌ ์ค‘ ๋ฐœ์ƒํ•˜๋Š” ๋ชจ๋“  ์˜ˆ์™ธ์™€ ๊ฒฝ๊ณ ๋ฅผ ์ž๋™์œผ๋กœ tErrorLogs ํ…Œ์ด๋ธ”์— ์ƒ์„ธํžˆ ๊ธฐ๋กํ•˜๋ฉฐ, ๋ณต์žกํ•œ JSON ๋ฐ์ดํ„ฐ๋ฅผ SQL ํŒŒ๋ผ๋ฏธํ„ฐ๋กœ ์ž๋™ ๋งคํ•‘ํ•˜๋Š” ๊ธฐ๋Šฅ์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.

โš ๏ธ ์—”๋“œํฌ์ธํŠธ ํฌ์ง€์…”๋‹ (์ค‘์š”)

giipApiSk3์€ ๋””๋ฒ„๊น…ยท๊ณ ์‹ ๋ขฐ ๋กœ๊น… ๊ฒ€์ฆ ์ „์šฉ ์—”๋“œํฌ์ธํŠธ์ด๋ฉฐ, Azure Function ๋ ˆ๋ฒจ์—์„œ ์ต๋ช…(Anonymous) ์ธ์ฆ์„ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. ์šด์˜ ์—์ด์ „ํŠธ์˜ ํ‘œ์ค€ ์—”๋“œํฌ์ธํŠธ๋Š” giipApiSk2์ž…๋‹ˆ๋‹ค. ํ”„๋กœ๋•์…˜ ํŠธ๋ž˜ํ”ฝ์„ ์ƒ์‹œ Sk3๋กœ ์ „ํ™˜ํ•˜์ง€ ๋งˆ์„ธ์š”. Sk3๋Š” Sk2์˜ ์ฒ˜๋ฆฌ ๋กœ์ง์— ์ƒ์„ธ ๋กœ๊น…์„ ๋”ํ•œ ์‚ฌ๋ณธ์ด๋ฏ€๋กœ, Sk2์—์„œ ์ •์ƒ์ธ ์š”์ฒญ์ด Sk3์—์„œ๋งŒ ์‹คํŒจํ•œ๋‹ค๋ฉด ์ด๋Š” Sk3์˜ ๋””๋ฒ„๊ทธ ์ฝ”๋“œ ๋ฌธ์ œ์ž…๋‹ˆ๋‹ค(์ด ๊ฒฝ์šฐ Sk2๋Š” ์ ˆ๋Œ€ ์ˆ˜์ •ํ•˜์ง€ ๋ง๊ณ  Sk3๋งŒ ์ ๊ฒ€).

๐Ÿ“ก ์—”๋“œํฌ์ธํŠธ ์ •๋ณด

  • URL: https://giipfaw.azurewebsites.net/api/giipApiSk3
  • ์ธ์ฆ: Azure Function ๋ ˆ๋ฒจ์—์„œ๋Š” ์ต๋ช…(Anonymous) ์ธ์ฆ์„ ์‚ฌ์šฉํ•˜์ง€๋งŒ, ์‹ค์ œ DB ์ž‘์—… ์‹œ์—๋Š” ์œ ํšจํ•œ usertoken(AK) ๋˜๋Š” sk(Secret Key) ํ•„๋“œ๋ฅผ ์š”์ฒญ ๋ณธ๋ฌธ์— ํฌํ•จํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

๐Ÿ” ์ฃผ์š” ํŒŒ๋ผ๋ฏธํ„ฐ

ํ•„๋“œ๋ช…ํƒ€์ž…์„ค๋ช…
textString์‹คํ–‰ํ•˜๊ณ ์ž ํ•˜๋Š” ๋ช…๋ น ๋ฌธ์ž์—ด (์˜ˆ: LSVRList, KVSPut)
jsondataString๋ณต์žกํ•œ ํŒŒ๋ผ๋ฏธํ„ฐ๋ฅผ ๋‹ด์€ JSON ๋ฌธ์ž์—ด
token / skString์ธ์ฆ์„ ์œ„ํ•œ Access Key ๋˜๋Š” Secret Key
user_idStringํ˜ธ์ถœํ•˜๋Š” ์‚ฌ์šฉ์ž ID
lssnString์„ธ์…˜/์„œ๋ฒ„ ์‹๋ณ„์ž (ํ•„์š” ์‹œ)

๐Ÿš€ ์ฃผ์š” ํŠน์žฅ์ 

1. High-fidelity ๋กœ๊น…

๋ชจ๋“  API ํ˜ธ์ถœ ์‹œ ํด๋ผ์ด์–ธํŠธ IP, User-Agent, Referer ์ •๋ณด๋ฅผ ์ž๋™์œผ๋กœ ์ˆ˜์ง‘ํ•˜๋ฉฐ, ์—๋Ÿฌ ๋ฐœ์ƒ ์‹œ StackTrace๋ฅผ ํฌํ•จํ•œ ์ƒ์„ธ ๋กœ๊ทธ๋ฅผ tErrorLogs์— ๊ธฐ๋กํ•ฉ๋‹ˆ๋‹ค.

2. jsondata ์ž๋™ ์น˜ํ™˜

text ํŒŒ๋ผ๋ฏธํ„ฐ ๋‚ด์˜ ํ‚ค์›Œ๋“œ๋ฅผ jsondata์— ํฌํ•จ๋œ ๊ฐ’์œผ๋กœ ์ž๋™ ์น˜ํ™˜ํ•ฉ๋‹ˆ๋‹ค.

  • ์˜ˆ์‹œ:
    • text: LSvrPut 'jsondata', 44
    • jsondata: {"lsUsage": "Web_Server"}
    • ์‹ค์ œ ์‹คํ–‰ ์ฟผ๋ฆฌ: exec pApiLSvrPutbySk '...', N'Web_Server', 44

3. KVSPut ์ž๋™ ๋งคํ•‘

text์— KVSPut ๋ช…๋ น์ด ํฌํ•จ๋œ ๊ฒฝ์šฐ, jsondata์˜ kType, kKey, kFactor, kValue ํ•„๋“œ๋ฅผ ์ž๋™์œผ๋กœ ์ถ”์ถœํ•˜์—ฌ pApiKVSPutbySk ํ”„๋กœ์‹œ์ €๋ฅผ ํ˜ธ์ถœํ•ฉ๋‹ˆ๋‹ค.

๐Ÿ’ป ์‚ฌ์šฉ ์˜ˆ์ œ

PowerShell ํ˜ธ์ถœ ์˜ˆ์‹œ

$apiUrl = "https://giipfaw.azurewebsites.net/api/giipApiSk3"
$body = @{
    text      = "KVSPut lssn, 1234, netstat"
    jsondata  = @{
        connections = @(
            @{ remote_ip = "10.0.0.10"; state = "ESTABLISHED" }
        )
    } | ConvertTo-Json -Compress
    usertoken = "YOUR_ACCESS_KEY"
}

$resp = Invoke-RestMethod -Uri $apiUrl -Method Post -ContentType "application/x-www-form-urlencoded" -Body $body
$resp.data

cURL ํ˜ธ์ถœ ์˜ˆ์‹œ

curl -X POST "https://giipfaw.azurewebsites.net/api/giipApiSk3" \
     -H "Content-Type: application/x-www-form-urlencoded" \
     --data-urlencode "text=ErrorLogList 50" \
     --data-urlencode "usertoken=YOUR_ACCESS_KEY"

๐Ÿ” ์‘๋‹ต ๋ฐ์ดํ„ฐ ๊ตฌ์กฐ

์„ฑ๊ณต ์‹œ ๋‹ค์Œ๊ณผ ๊ฐ™์€ JSON ๊ตฌ์กฐ๋ฅผ ๋ฐ˜ํ™˜ํ•ฉ๋‹ˆ๋‹ค.

{
  "data": [
    { ... ๊ฒฐ๊ณผ ๋ ˆ์ฝ”๋“œ ... }
  ],
  "debug": {
    "_debug_spName": "ErrorLogList",
    "_debug_executedQuery": "exec pApiErrorLogListbySk '...', 50"
  }
}

๋ฌธ์ œ ํ•ด๊ฒฐ

์ฆ์ƒ์›์ธํ•ด๊ฒฐ
๋ชจ๋“  ์š”์ฒญ์—์„œ HTTP 500์ด ๋ฐ˜ํ™˜๋จSk3 ๋””๋ฒ„๊ทธ ํ•จ์ˆ˜์˜ ๊ตฌ๋ฌธ/์ปดํŒŒ์ผ ์˜ค๋ฅ˜ (Sk2์—์„œ๋Š” ์ •์ƒ)Sk2๋Š” ์ ˆ๋Œ€ ์ˆ˜์ •ํ•˜์ง€ ๋ง๊ณ  giipApiSk3 ํ•จ์ˆ˜ ์ฝ”๋“œ๋งŒ ์ ๊ฒ€ํ•˜์—ฌ ๊ตฌ๋ฌธ ์˜ค๋ฅ˜๋ฅผ ์ˆ˜์ •ํ•ฉ๋‹ˆ๋‹ค.
RstVal 401 ๋˜๋Š” ์ธ์ฆ ๊ฑฐ๋ถ€๊ฐ€ ๋ฐœ์ƒํ•จ์š”์ฒญ ๋ณธ๋ฌธ์— usertoken(AK) ๋˜๋Š” sk ํ•„๋“œ ๋ˆ„๋ฝ์ต๋ช… ์ธ์ฆ๊ณผ ๋ณ„๊ฐœ๋กœ ์œ ํšจํ•œ usertoken/sk๋ฅผ ๋ณธ๋ฌธ์— ํฌํ•จํ•ฉ๋‹ˆ๋‹ค.
jsondata์˜ ๊ฐ’์ด ์‹คํ–‰ ์ฟผ๋ฆฌ์— ๋ฐ˜์˜๋˜์ง€ ์•Š์Œtext์˜ ์น˜ํ™˜ ํ‚ค์›Œ๋“œ์™€ jsondata ํ•„๋“œ๋ช… ๋ถˆ์ผ์น˜text์˜ 'jsondata' ์œ„์น˜์™€ jsondata ํ‚ค(์˜ˆ: lsUsage)๊ฐ€ ์ •ํ™•ํžˆ ์ผ์น˜ํ•˜๋Š”์ง€ ํ™•์ธํ•ฉ๋‹ˆ๋‹ค.
KVSPut ํ˜ธ์ถœ์ด ๋ฌด์‹œ๋˜๊ฑฐ๋‚˜ ๊ฐ’์ด ๋น„์–ด ์ €์žฅ๋จjsondata์— kType/kKey/kFactor/kValue ํ•„๋“œ ๋ˆ„๋ฝ๋„ค ๊ฐœ ํ•„๋“œ๋ฅผ ๋ชจ๋‘ ํฌํ•จํ•˜์—ฌ pApiKVSPutbySk ๋งคํ•‘์ด ์™„์„ฑ๋˜๋„๋ก ํ•ฉ๋‹ˆ๋‹ค.

๋ฒ„์ „: 1.0
์ตœ์ข… ์—…๋ฐ์ดํŠธ: 2026-04-10
๋ฌธ์„œ ์œ„์น˜: giipv3/public/help/api-sk3.ko.md


๊ด€๋ จ ๋ฌธ์„œ: