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) ํ๋๋ฅผ ์์ฒญ ๋ณธ๋ฌธ์ ํฌํจํด์ผ ํฉ๋๋ค.
๐ ์ฃผ์ ํ๋ผ๋ฏธํฐ
| ํ๋๋ช | ํ์ | ์ค๋ช |
|---|---|---|
text | String | ์คํํ๊ณ ์ ํ๋ ๋ช
๋ น ๋ฌธ์์ด (์: LSVRList, KVSPut) |
jsondata | String | ๋ณต์กํ ํ๋ผ๋ฏธํฐ๋ฅผ ๋ด์ JSON ๋ฌธ์์ด |
token / sk | String | ์ธ์ฆ์ ์ํ Access Key ๋๋ Secret Key |
user_id | String | ํธ์ถํ๋ ์ฌ์ฉ์ ID |
lssn | String | ์ธ์ /์๋ฒ ์๋ณ์ (ํ์ ์) |
๐ ์ฃผ์ ํน์ฅ์
1. High-fidelity ๋ก๊น
๋ชจ๋ API ํธ์ถ ์ ํด๋ผ์ด์ธํธ IP, User-Agent, Referer ์ ๋ณด๋ฅผ ์๋์ผ๋ก ์์งํ๋ฉฐ, ์๋ฌ ๋ฐ์ ์ StackTrace๋ฅผ ํฌํจํ ์์ธ ๋ก๊ทธ๋ฅผ tErrorLogs์ ๊ธฐ๋กํฉ๋๋ค.
2. jsondata ์๋ ์นํ
text ํ๋ผ๋ฏธํฐ ๋ด์ ํค์๋๋ฅผ jsondata์ ํฌํจ๋ ๊ฐ์ผ๋ก ์๋ ์นํํฉ๋๋ค.
- ์์:
text:LSvrPut 'jsondata', 44jsondata:{"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
๊ด๋ จ ๋ฌธ์: