๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ

SWUFORCE/๊ธฐ์ˆ  ์Šคํ„ฐ๋””

[Genians] Google Form๊ณผ NAC REST API๋ฅผ ์ด์šฉํ•œ IP ์‹ ์ฒญ

https://www.genians.co.kr/blog/nac-api_google-form

 

Google Form๊ณผ NAC REST API ๋ฅผ ์ด์šฉํ•œ IP ์‹ ์ฒญ (Sheet ๋ฒ„์ „)

Google Form๊ณผ Genian NAC์˜ RESTful API๋ฅผ ํ™œ์šฉํ•œ ๊ณ ๊ฐ ๋งž์ถค ์„œ๋น„์Šค ์•„์ด๋””์–ด๋ฅผ ์†Œ๊ฐœํ•ฉ๋‹ˆ๋‹ค.

www.genians.co.kr


๊ณ ๊ฐ ๋งž์ถค ์„œ๋น„์Šค ์•„์ด๋””์–ด

  • Google Form๊ณผ RESTful API๋ฅผ ํ™œ์šฉ

Google Form๊ณผ RESTful API๋ฅผ ํ™œ์šฉํ•œ ๊ณ ๊ฐ ๋งž์ถค ์„œ๋น„์Šค ์‹œ๋‚˜๋ฆฌ์˜ค

 

๊ฐœ๋… ์†Œ๊ฐœ

  1. Genian NAC
    • ๋‚ด๋ถ€ ์ž์‚ฐ๊ณผ ์‚ฌ์šฉ์ž๋ฅผ ๋ณดํ˜ธํ•˜๊ณ  ๊ธฐ์—… ์ž์›์„ ์•ˆ์ „ํ•˜๊ฒŒ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋„๋ก ์ง€์›ํ•˜๋Š” ์œ ๋ฌด์„  ๋„คํŠธ์›Œํฌ ์ ‘๊ทผ์ œ์–ด ์†”๋ฃจ์…˜
    • Genian NAC์—์„œ๋Š” ์ž์› ์ ‘๊ทผยทํ†ต์ œํ•  ์ˆ˜ ์žˆ๋Š” ๊ธฐ๋Šฅ ๋ฐ IP ์‹ ์ฒญ ๋“ฑ์„ REST API๋กœ ์ œ๊ณต
  2. Google Form
    • ๊ตฌ๊ธ€์—์„œ ์ œ๊ณตํ•˜๋Š” ๋ฌด๋ฃŒ ์›น ๊ธฐ๋ฐ˜ ์„ค๋ฌธ์กฐ์‚ฌ ๋„๊ตฌ
    • ์„ค๋ฌธ์ง€ ์ƒ์„ฑ ์‹œ Script๊ฐ€ ๋™์ž‘ํ•˜๋„๋ก ์„ค์ • ๊ฐ€๋Šฅ, ๊ตฌ๊ธ€ํผ์„ ํ†ตํ•ด ์‚ฌ์šฉ์ž์—๊ฒŒ IP ์‹ ์ฒญ์„ ๋ฐ›๋Š” ์šฉ๋„๋กœ ํ™œ์šฉ
  3. Google Apps Script
    • ๊ตฌ๊ธ€์—์„œ ์ œ๊ณตํ•˜๋Š” ํด๋ผ์šฐ๋“œ ๊ธฐ๋ฐ˜ ์Šคํฌ๋ฆฝํŒ… ํ”Œ๋žซํผ
    • Google ์ œํ’ˆ๊ตฐ๊ณผ ํ†ตํ•ฉํ•˜์—ฌ ๋งž์ถคํ˜• ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ๋นŒ๋“œํ•  ์ˆ˜ ์žˆ์Œ
    • ๊ตฌ๊ธ€ ์›Œํฌ์ŠคํŽ˜์ด์Šค, Gmail, ๋“œ๋ผ์ด๋ธŒ, Sheets ๋“ฑ์˜ ํ†ตํ•ฉํ™˜๊ฒฝ์—์„œ Javascript ๊ธฐ๋ฐ˜ ์Šคํฌ๋ฆฝํŠธ๋ฅผ ์ž‘์„ฑํ•˜๋ฉฐ ํŠน์ • ์ด๋ฒคํŠธ์— ๋งž์ถฐ ์Šคํฌ๋ฆฝํŠธ ์‹คํ–‰ํ•˜๋Š” ํŠธ๋ฆฌ๊ฑฐ์™€ ์ด๋ฒคํŠธ ๋ฐ API ์—ฐ๋™์„ ํด๋ผ์šฐ๋“œ ๊ธฐ๋ฐ˜์œผ๋กœ ๋ฌด๋ฃŒยท์ €๋น„์šฉ ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•œ ๋„๊ตฌ

์‚ฌ์ „ ์ค€๋น„ ๋ฐ ๊ตฌํ˜„

1. Genian NAC

Google Apps Script์—์„œ NAC API ํ˜ธ์ถœ ์œ„ํ•ด์„œ๋Š” ๋„คํŠธ์›Œํฌ ์ ‘๊ทผ ๊ฐ€๋Šฅํ•ด์•ผ ํ•˜๊ธฐ ๋•Œ๋ฌธ์— ํด๋ผ์šฐ๋“œ ๊ธฐ๋ฐ˜์˜ NAC ํ™˜๊ฒฝ์ด๊ฑฐ๋‚˜ NAC์— ์ ‘๊ทผํ•  ์ˆ˜ ์žˆ๋„๋ก ๋„๋ฉ”์ธ ์„ค์ •์ด ์šฐ์„  โ†’ ์ ‘๊ทผ ํŽธ์˜์„ฑ์„ ์œ„ํ•ด Test์šฉ Cloud NAC ์ƒ์„ฑํ•˜์—ฌ ์ง„ํ–‰

  1. Cloud NAC ์‚ฌ์ดํŠธ ์ƒ์„ฑ
    • genians ์‚ฌ์ดํŠธ( https://www.genians.com/ )์—์„œ ๊ณ„์ • ์ƒ์„ฑ ๋ฐ ์‚ฌ์ดํŠธ ์ƒ์„ฑ
  2. ์„ผ์„œ ์„ค์ • ๋ฐ API ํ‚ค ๋ฐœ๊ธ‰
    • IP ์‹ ์ฒญ ์œ„ํ•ด์„œ๋Š” ๊ด€๋ฆฌ ์ค‘์ธ ๋„คํŠธ์›Œํฌ์— NAC ์„ผ์„œ ์—ฐ๊ฒฐํ•˜๊ณ  ์ƒ์„ฑํ•œ ์‚ฌ์ดํŠธ์— ๋“ฑ๋กํ•ด์•ผ ํ•จ
    • API ์—ฐ๋™ ์œ„ํ•ด์„œ๋Š” ๊ด€๋ฆฌ์ž์˜ API Key ์ƒ์„ฑํ•ด์•ผ ํ•จ (์ƒ์„ฑํ•œ Cloud NAC ์‚ฌ์ดํŠธ ์† ๊ด€๋ฆฌ์ž ํƒญ์—์„œ ์ƒ์„ฑ ๊ฐ€๋Šฅ)
    • API Key๋Š” ์ƒ์„ฑ ์‹œ์—๋งŒ ํ™•์ธํ•  ์ˆ˜ ์žˆ๊ธฐ ๋–„๋ฌธ์— ๋ถ„์‹คํ•˜์ง€ ์•Š๋„๋ก ์ฃผ์˜
  3. ์„ผ์„œ Node ID ํ™•์ธ
    • IP ์‹ ์ฒญ์„ ํ•  ๋•Œ NAC ์„ผ์„œ ์„ ํƒํ•ด์•ผ ํ•˜๋Š”๋ฐ, ์„ ํƒํ•  ๋•Œ์˜ Key๊ฐ€ ๋˜๋Š” Node ID๋ฅผ ํ™•์ธ (์ƒ์„ฑํ•œ Cloud NAC ์‚ฌ์ดํŠธ ์† ์‹œ์Šคํ…œ>์„ผ์„œ ์„ค์ • ํƒญ์—์„œ ํ™•์ธ ๊ฐ€๋Šฅ)

2. Google Form

  1. ์‚ฌ์šฉ์ž์—๊ฒŒ IP ์‹ ์ฒญ ๋ฐ›์„ ์ˆ˜ ์žˆ๋Š” Google Form์˜ ํ•ญ๋ชฉ ์„ค์ •
  2. IP ์‹ ์ฒญ์„œ ์ž‘์„ฑ ์‹œ ํ•„์ˆ˜ ์ž…๋ ฅ์ด ๋˜๋Š” ๋ถ€๋ถ„ ์„ค์ •
  3. ์‘๋‹ต ๊ฒฐ๊ณผ์— ๋Œ€ํ•œ Sheets ์ƒ์„ฑ
  4. Sheets์—์„œ ์Šน์ธ์—ฌ๋ถ€ ์ปฌ๋Ÿผ/idx ์ปฌ๋Ÿผ ์ƒ์„ฑ
    • ์Šน์ธ์—ฌ๋ถ€ ์ปฌ๋Ÿผ: ๊ด€๋ฆฌ์ž๊ฐ€ ์Šน์ธ ์—ฌ๋ถ€ ์„ ํƒํ•  ์ปฌ๋Ÿผ
    • idx ์ปฌ๋Ÿผ: ์‹ ์ฒญ์„œ ์ถ”๊ฐ€ ํ›„ ๋ฐœ๊ธ‰๋ฐ›์€ idx ๊ฐ’ ์—…๋ฐ์ดํŠธํ•  ์ปฌ๋Ÿผ

3. Apps Script

์„ค๋ฌธ์ด ์ž‘์„ฑ๋˜์–ด ์‹œํŠธ์— ๋‚ด์šฉ ์ €์žฅ๋  ๋•Œ๋งˆ๋‹ค ์‹คํ–‰๋  ์Šคํฌ๋ฆฝํŠธ๋ฅผ ์ž‘์„ฑ

์‹ ์ฒญํ•  ์Šคํฌ๋ฆฝํŠธ์˜ ์ข…๋ฅ˜๋Š” โ‘  ์‹ ์ฒญ์„œ ์ž‘์„ฑ ์‹œ ์‹ ์ฒญ์„œ ๋“ฑ๋ก ์Šคํฌ๋ฆฝํŠธ, โ‘ก ๊ด€๋ฆฌ์ž ์Šน์ธ ์‹œ ์‹ ์ฒญ์„œ ์Šน์ธ ์Šคํฌ๋ฆฝํŠธ

  1. Sheets ๋ฉ”๋‰ด > ํ™•์žฅ ํ”„๋กœ๊ทธ๋žจ > Apps Script ์„ ํƒ
  2. ์Šคํฌ๋ฆฝํŠธ ์ž‘์„ฑ ์ „ NAC์˜ Swagger ํŽ˜์ด์ง€์—์„œ ์‚ฌ์šฉํ•  API ํ™•์ธ
    • swagger: API ๋ฌธ์„œํ™” ํ•ด์ฃผ๋Š” ๋„๊ตฌ
    • ์ƒ์„ฑ๊ณผ ์Šน์ธ์„ ์œ„ํ•ด ์‹ ์ฒญ์„œ ์ƒ์„ฑ(POST)์™€ ์‹ ์ฒญ์„œ ์ƒํƒœ ์ˆ˜์ •(PUT) API๋ฅผ ํ™•์ธ
  3. Google Form์ด ์ž‘์„ฑ๋  ๋•Œ๋งˆ๋‹ค ์‹คํ–‰๋  ์Šคํฌ๋ฆฝํŠธ๋ฅผ ์ž‘์„ฑ
  4. ํŠธ๋ฆฌ๊ฑฐ ๋“ฑ๋ก
    • ์ž‘์„ฑํ•  ์Šคํฌ๋ฆฝํŠธ๋ฅผ Apps Script์—์„œ ํŠธ๋ฆฌ๊ฑฐ๋กœ ์ถ”๊ฐ€
  5. NAC์—์„œ IP ์‹ ์ฒญ ๊ฒฐ๊ณผ ํ™•์ธ
    • ๊ด€๋ฆฌ>์‹ ์ฒญ>IP ์‚ฌ์šฉ ์‹ ์ฒญ์„œ>๊ฒฐ๊ณผ ์กฐํšŒ ๋ฉ”๋‰ด

  • ์œ„์˜ ์‹œ๋‚˜๋ฆฌ์˜ค์ฒ˜๋Ÿผ Google Apps Script ๋ฟ๋งŒ ์•„๋‹ˆ๋ผ REST API ํ˜ธ์ถœํ•  ์ˆ˜ ์žˆ๋Š” ๋‹ค์–‘ํ•œ ๋„๊ตฌ์™€ Genian NAC ์—ฐ๋™ ์‹œ ํ™œ์šฉ ๋ฒ”์œ„๊ฐ€ ๋” ๋ฌด๊ถ๋ฌด์ง„ํ•ด์งˆ ๊ฒƒ. 
  • ๊ณ ๊ฐ ํ™˜๊ฒฝ ๊ฐœ์„ ์— ๊ตฌ๊ธ€ ํผ์ฒ˜๋Ÿผ ์‹ค์ƒํ™œ์—์„œ ์ž์ฃผ ์“ฐ์ด๋Š” ํˆด์„ ์‚ฌ์šฉํ•˜๊ณ  REST API๊นŒ์ง€ ์—ฐ๋™ํ•˜์—ฌ ์†”๋ฃจ์…˜์„ ์„ธ์› ๋‹ค๋Š” ๊ฒƒ์ด ์ƒ์†Œํ•˜๋ฉด์„œ๋„ ํฅ๋ฏธ๋กœ์› ๋‹ค...