giip
SES Proposal
2 min read

๋„คํŠธ์›Œํฌ ๋ณด์•ˆ ์ •์ฑ… API ๋ ˆํผ๋Ÿฐ์Šค

์„œ๋ฒ„์˜ ๋กœ์ปฌ ๋ฐฉํ™”๋ฒฝ ์„ค์ • ๋ฐ ์ ‘๊ทผ ํ—ˆ์šฉ IP ๋ฆฌ์ŠคํŠธ๋ฅผ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ๋ฐฉ์‹์œผ๋กœ ์ œ์–ดํ•˜๋Š” API๋ฅผ ์•ˆ๋‚ดํ•ฉ๋‹ˆ๋‹ค.

๐Ÿ“‹ ๊ฐœ์š”

์ด API ๋ชจ๋“ˆ์€ GIIP [๋กœ์ปฌ ๊ฐ€๋“œ] ๊ธฐ๋Šฅ์„ ์ œ์–ดํ•˜์—ฌ, ์„œ๋ฒ„์˜ ์ž…์ถœ๋ ฅ ํŠธ๋ž˜ํ”ฝ์„ ํ•„ํ„ฐ๋งํ•˜๋Š” ๋ณด์•ˆ ์ •์ฑ…์„ ์‹ค์‹œ๊ฐ„์œผ๋กœ ์—…๋ฐ์ดํŠธํ•ฉ๋‹ˆ๋‹ค.

๐Ÿ” ์ธ์ฆ ๋ฐ ํ—ค๋”

๋ชจ๋“  ์š”์ฒญ์€ ๊ณตํ†ต ์ธ์ฆ ํ—ค๋”๋ฅผ ํฌํ•จํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

  • Header: x-giip-ak: [Your Access Key]
  • Header: x-giip-sk: [Your Secret Key]

๐Ÿš€ ์ฃผ์š” API ์—”๋“œํฌ์ธํŠธ

1. ์„œ๋ฒ„๋ณ„ ๋ณด์•ˆ ๋ฃฐ ์กฐํšŒ (Get Security Rules)

  • URL: POST /api/security/rules/list
  • ์„ค๋ช…: ํŠน์ • ์„œ๋ฒ„์— ์ ์šฉ๋œ ์ธ๋ฐ”์šด๋“œ/์•„์›ƒ๋ฐ”์šด๋“œ ํ—ˆ์šฉ ๋ฃฐ ์ •๋ณด๋ฅผ ์กฐํšŒํ•ฉ๋‹ˆ๋‹ค.
  • Request Body:
{
  "serverIsn": 456
}

2. ํ—ˆ์šฉ IP ์ถ”๊ฐ€ (Add Allowed IP)

  • URL: POST /api/security/rules/add
  • ์„ค๋ช…: ํŠน์ • ํฌํŠธ์— ์ ‘๊ทผ ๊ฐ€๋Šฅํ•œ ์‹ ๊ทœ IP ๋˜๋Š” ๋Œ€์—ญ์„ ๋ฐฉํ™”๋ฒฝ ์ •์ฑ…์— ์ถ”๊ฐ€ํ•ฉ๋‹ˆ๋‹ค.
  • Request Body:
{
  "serverIsn": 456,
  "port": 8080,
  "allowedIp": "1.2.3.4",
  "description": "Dev Team Access"
}

3. ๋ณด์•ˆ ์ •์ฑ… ์ผ๊ด„ ๋ฐฐํฌ (Deploy Policy)

  • URL: POST /api/security/policy/deploy
  • ์„ค๋ช…: ํŠน์ • ํ”„๋กœ์ ํŠธ ์†Œ์† ๋ชจ๋“  ์„œ๋ฒ„์— ๋Œ€ํ•ด ํ‘œ์ค€ ๋ณด์•ˆ ์ •์ฑ…์„ ํ•œ๊บผ๋ฒˆ์— ์ ์šฉํ•ฉ๋‹ˆ๋‹ค.
  • Request Body:
{
  "projectIsn": 123,
  "policyId": "P-SEC-001"
}

๐Ÿ” ์‘๋‹ต ๋ฐ์ดํ„ฐ ์˜ˆ์‹œ

{
  "RstVal": 0,
  "RstMsg": "Success",
  "Data": {
    "affectedServers": 15,
    "status": "In Progress"
  }
}

๐Ÿ’ก ํ™œ์šฉ ์‚ฌ๋ก€

  • ๋™์  IP ํ™”์ดํŠธ๋ฆฌ์ŠคํŒ…: ์žฌํƒ๊ทผ๋ฌด ์ง์›์ด VPN ์ ‘์† ์‹œ ์ž๋™์œผ๋กœ ํ•ด๋‹น ์ง์›์˜ ํ˜„์žฌ IP๋ฅผ ์„œ๋ฒ„ ๋ฐฉํ™”๋ฒฝ์— ๋“ฑ๋กํ•ฉ๋‹ˆ๋‹ค.
  • ์นจ์ž… ๋Œ€์‘ ์ž๋™ํ™”: ๋ณด์•ˆ ๊ด€์ œ ์‹œ์Šคํ…œ์—์„œ ๊ณต๊ฒฉ IP ํƒ์ง€ ์‹œ, ์ฆ‰์‹œ API๋ฅผ ํ˜ธ์ถœํ•˜์—ฌ ํ•ด๋‹น IP๋ฅผ ์ „์‚ฌ ์„œ๋ฒ„์—์„œ ์ฐจ๋‹จํ•ฉ๋‹ˆ๋‹ค.

๐Ÿ›ก๏ธ Sk3(๊ณ ์„ฑ๋Šฅ ๋กœ๊น…) ํ™œ์šฉ

๋ณด์•ˆ ์ •์ฑ… ์ˆ˜์ •์ด๋‚˜ IP ํ™”์ดํŠธ๋ฆฌ์ŠคํŒ…๊ณผ ๊ฐ™์€ ๋ฏผ๊ฐํ•œ ์ธํ”„๋ผ ์ œ์–ด ์ž‘์—… ์‹œ, ๋ณ€๊ฒฝ ์ด๋ ฅ์˜ ๋ฌด๊ฒฐ์„ฑ ๋ณด์žฅ๊ณผ ์ƒ์„ธํ•œ ๊ฐ์‚ฌ ๋กœ๊ทธ(Audit Log)๋ฅผ ์œ„ํ•ด giipApiSk3 ์—”๋“œํฌ์ธํŠธ๋ฅผ ๊ถŒ์žฅํ•ฉ๋‹ˆ๋‹ค.

  • ์—”๋“œํฌ์ธํŠธ: https://giipfaw.azurewebsites.net/api/giipApiSk3
  • ๋ณด์•ˆ ์žฅ์ : ์ •์ฑ… ์—…๋ฐ์ดํŠธ ์‹คํŒจ ์‹œ ํ˜ธ์ถœ์ž์˜ ์ƒ์„ธ ํ™˜๊ฒฝ ์ •๋ณด(IP, UA)์™€ StackTrace๋ฅผ ์ฆ‰์‹œ ๊ธฐ๋กํ•˜์—ฌ ์นจํ•ด ์‚ฌ๊ณ  ์‹œ๋„ ์—ฌ๋ถ€๋‚˜ ์„ค์ • ์—๋Ÿฌ์˜ ์›์ธ์„ ์‹ ์†ํ•˜๊ฒŒ ๋ถ„์„ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  • ํ™œ์šฉ ํŒ: text ๋ช…๋ น๊ณผ jsondata๋ฅผ ์กฐํ•ฉํ•˜์—ฌ ๋ณต์žกํ•œ ๋ณด์•ˆ ๋ฃฐ์…‹์„ ์ „์†กํ•  ๋•Œ ๋ฐ์ดํ„ฐ ์œ ์‹ค ์—†์ด ์•ˆ์ „ํ•˜๊ฒŒ ์ „๋ฐ˜์ ์ธ ์ธํ”„๋ผ ๋ณด์•ˆ ์ˆ˜์ค€์„ ๊ด€๋ฆฌํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๐Ÿ”ง ๋ฌธ์ œ ํ•ด๊ฒฐ

์ฆ์ƒ์›์ธํ•ด๊ฒฐ
๋ชจ๋“  ์š”์ฒญ์ด 401/์ธ์ฆ ์˜ค๋ฅ˜๋กœ ์‹คํŒจํ•œ๋‹คx-giip-ak ๋˜๋Š” x-giip-sk ํ—ค๋”๊ฐ€ ๋ˆ„๋ฝ๋˜์—ˆ๊ฑฐ๋‚˜ ์ž˜๋ชป๋œ ํ‚ค๊ฐ€ ์‚ฌ์šฉ๋จ๋‘ ์ธ์ฆ ํ—ค๋”๊ฐ€ ๋ชจ๋‘ ํฌํ•จ๋˜์—ˆ๋Š”์ง€, ๋ฐœ๊ธ‰๋ฐ›์€ Access Key/Secret Key๊ฐ€ ์ •ํ™•ํ•œ์ง€ ํ™•์ธํ•ฉ๋‹ˆ๋‹ค
POST /api/security/rules/add ์‘๋‹ต์˜ RstVal์ด 0์ด ์•„๋‹ˆ๋‹คserverIsn ๋ˆ„๋ฝ ๋˜๋Š” allowedIp ํ˜•์‹(IPยท๋Œ€์—ญ) ์˜ค๋ฅ˜Request Body์˜ serverIsn, port, allowedIp ๊ฐ’์„ ๊ทœ๊ฒฉ์— ๋งž๊ฒŒ ๋‹ค์‹œ ํ™•์ธํ•ฉ๋‹ˆ๋‹ค
์ •์ฑ… ์ผ๊ด„ ๋ฐฐํฌ ํ›„ affectedServers๊ฐ€ 0์œผ๋กœ ๋ฐ˜ํ™˜๋œ๋‹คprojectIsn์ด ์ž˜๋ชป๋˜์—ˆ๊ฑฐ๋‚˜ ํ•ด๋‹น ํ”„๋กœ์ ํŠธ์— ์†Œ์†๋œ ์„œ๋ฒ„๊ฐ€ ์—†์Œ์˜ฌ๋ฐ”๋ฅธ projectIsn์„ ์ง€์ •ํ•˜๊ณ  ํ”„๋กœ์ ํŠธ์— ์„œ๋ฒ„๊ฐ€ ๋“ฑ๋ก๋˜์–ด ์žˆ๋Š”์ง€ ํ™•์ธํ•ฉ๋‹ˆ๋‹ค
๋ณต์žกํ•œ ๋ณด์•ˆ ๋ฃฐ์…‹ ์ „์†ก ์‹œ ๋ฐ์ดํ„ฐ๊ฐ€ ์œ ์‹ค๋œ๋‹คtext ๋ช…๋ น์— ํŠน์ˆ˜๋ฌธ์ž๊ฐ€ ์ด์Šค์ผ€์ดํ”„๋˜์ง€ ์•Š์ŒgiipApiSk3 ์—”๋“œํฌ์ธํŠธ์—์„œ text์™€ jsondata๋ฅผ ์กฐํ•ฉํ•ด ํŒŒ๋ผ๋ฏธํ„ฐ๋ฅผ ์•ˆ์ „ํ•˜๊ฒŒ ์ „์†กํ•ฉ๋‹ˆ๋‹ค

๋ฒ„์ „: 1.1 ์ตœ์ข… ์—…๋ฐ์ดํŠธ: 2026-04-10 ์†Œ์Šค ํŒŒ์ผ: giipv3/public/help/api-network-security.ko.md


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