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๋ฅผ ํ์ฉ

๊ฐ๋ ์๊ฐ
- Genian NAC
- ๋ด๋ถ ์์ฐ๊ณผ ์ฌ์ฉ์๋ฅผ ๋ณดํธํ๊ณ ๊ธฐ์ ์์์ ์์ ํ๊ฒ ์ฌ์ฉํ ์ ์๋๋ก ์ง์ํ๋ ์ ๋ฌด์ ๋คํธ์ํฌ ์ ๊ทผ์ ์ด ์๋ฃจ์
- Genian NAC์์๋ ์์ ์ ๊ทผยทํต์ ํ ์ ์๋ ๊ธฐ๋ฅ ๋ฐ IP ์ ์ฒญ ๋ฑ์ REST API๋ก ์ ๊ณต
- Google Form
- ๊ตฌ๊ธ์์ ์ ๊ณตํ๋ ๋ฌด๋ฃ ์น ๊ธฐ๋ฐ ์ค๋ฌธ์กฐ์ฌ ๋๊ตฌ
- ์ค๋ฌธ์ง ์์ฑ ์ Script๊ฐ ๋์ํ๋๋ก ์ค์ ๊ฐ๋ฅ, ๊ตฌ๊ธํผ์ ํตํด ์ฌ์ฉ์์๊ฒ IP ์ ์ฒญ์ ๋ฐ๋ ์ฉ๋๋ก ํ์ฉ
- Google Apps Script
- ๊ตฌ๊ธ์์ ์ ๊ณตํ๋ ํด๋ผ์ฐ๋ ๊ธฐ๋ฐ ์คํฌ๋ฆฝํ ํ๋ซํผ
- Google ์ ํ๊ตฐ๊ณผ ํตํฉํ์ฌ ๋ง์ถคํ ์ ํ๋ฆฌ์ผ์ด์ ์ ๋น๋ํ ์ ์์
- ๊ตฌ๊ธ ์ํฌ์คํ์ด์ค, Gmail, ๋๋ผ์ด๋ธ, Sheets ๋ฑ์ ํตํฉํ๊ฒฝ์์ Javascript ๊ธฐ๋ฐ ์คํฌ๋ฆฝํธ๋ฅผ ์์ฑํ๋ฉฐ ํน์ ์ด๋ฒคํธ์ ๋ง์ถฐ ์คํฌ๋ฆฝํธ ์คํํ๋ ํธ๋ฆฌ๊ฑฐ์ ์ด๋ฒคํธ ๋ฐ API ์ฐ๋์ ํด๋ผ์ฐ๋ ๊ธฐ๋ฐ์ผ๋ก ๋ฌด๋ฃยท์ ๋น์ฉ ์ฌ์ฉ ๊ฐ๋ฅํ ๋๊ตฌ
์ฌ์ ์ค๋น ๋ฐ ๊ตฌํ
1. Genian NAC
Google Apps Script์์ NAC API ํธ์ถ ์ํด์๋ ๋คํธ์ํฌ ์ ๊ทผ ๊ฐ๋ฅํด์ผ ํ๊ธฐ ๋๋ฌธ์ ํด๋ผ์ฐ๋ ๊ธฐ๋ฐ์ NAC ํ๊ฒฝ์ด๊ฑฐ๋ NAC์ ์ ๊ทผํ ์ ์๋๋ก ๋๋ฉ์ธ ์ค์ ์ด ์ฐ์ โ ์ ๊ทผ ํธ์์ฑ์ ์ํด Test์ฉ Cloud NAC ์์ฑํ์ฌ ์งํ
- Cloud NAC ์ฌ์ดํธ ์์ฑ
- genians ์ฌ์ดํธ( https://www.genians.com/ )์์ ๊ณ์ ์์ฑ ๋ฐ ์ฌ์ดํธ ์์ฑ
- ์ผ์ ์ค์ ๋ฐ API ํค ๋ฐ๊ธ
- IP ์ ์ฒญ ์ํด์๋ ๊ด๋ฆฌ ์ค์ธ ๋คํธ์ํฌ์ NAC ์ผ์ ์ฐ๊ฒฐํ๊ณ ์์ฑํ ์ฌ์ดํธ์ ๋ฑ๋กํด์ผ ํจ
- API ์ฐ๋ ์ํด์๋ ๊ด๋ฆฌ์์ API Key ์์ฑํด์ผ ํจ (์์ฑํ Cloud NAC ์ฌ์ดํธ ์ ๊ด๋ฆฌ์ ํญ์์ ์์ฑ ๊ฐ๋ฅ)
- API Key๋ ์์ฑ ์์๋ง ํ์ธํ ์ ์๊ธฐ ๋๋ฌธ์ ๋ถ์คํ์ง ์๋๋ก ์ฃผ์
- ์ผ์ Node ID ํ์ธ
- IP ์ ์ฒญ์ ํ ๋ NAC ์ผ์ ์ ํํด์ผ ํ๋๋ฐ, ์ ํํ ๋์ Key๊ฐ ๋๋ Node ID๋ฅผ ํ์ธ (์์ฑํ Cloud NAC ์ฌ์ดํธ ์ ์์คํ >์ผ์ ์ค์ ํญ์์ ํ์ธ ๊ฐ๋ฅ)
2. Google Form
- ์ฌ์ฉ์์๊ฒ IP ์ ์ฒญ ๋ฐ์ ์ ์๋ Google Form์ ํญ๋ชฉ ์ค์
- IP ์ ์ฒญ์ ์์ฑ ์ ํ์ ์ ๋ ฅ์ด ๋๋ ๋ถ๋ถ ์ค์
- ์๋ต ๊ฒฐ๊ณผ์ ๋ํ Sheets ์์ฑ
- Sheets์์ ์น์ธ์ฌ๋ถ ์ปฌ๋ผ/idx ์ปฌ๋ผ ์์ฑ
- ์น์ธ์ฌ๋ถ ์ปฌ๋ผ: ๊ด๋ฆฌ์๊ฐ ์น์ธ ์ฌ๋ถ ์ ํํ ์ปฌ๋ผ
- idx ์ปฌ๋ผ: ์ ์ฒญ์ ์ถ๊ฐ ํ ๋ฐ๊ธ๋ฐ์ idx ๊ฐ ์ ๋ฐ์ดํธํ ์ปฌ๋ผ
3. Apps Script
์ค๋ฌธ์ด ์์ฑ๋์ด ์ํธ์ ๋ด์ฉ ์ ์ฅ๋ ๋๋ง๋ค ์คํ๋ ์คํฌ๋ฆฝํธ๋ฅผ ์์ฑ
์ ์ฒญํ ์คํฌ๋ฆฝํธ์ ์ข ๋ฅ๋ โ ์ ์ฒญ์ ์์ฑ ์ ์ ์ฒญ์ ๋ฑ๋ก ์คํฌ๋ฆฝํธ, โก ๊ด๋ฆฌ์ ์น์ธ ์ ์ ์ฒญ์ ์น์ธ ์คํฌ๋ฆฝํธ
- Sheets ๋ฉ๋ด > ํ์ฅ ํ๋ก๊ทธ๋จ > Apps Script ์ ํ
- ์คํฌ๋ฆฝํธ ์์ฑ ์ NAC์ Swagger ํ์ด์ง์์ ์ฌ์ฉํ API ํ์ธ
- swagger: API ๋ฌธ์ํ ํด์ฃผ๋ ๋๊ตฌ
- ์์ฑ๊ณผ ์น์ธ์ ์ํด ์ ์ฒญ์ ์์ฑ(POST)์ ์ ์ฒญ์ ์ํ ์์ (PUT) API๋ฅผ ํ์ธ
- Google Form์ด ์์ฑ๋ ๋๋ง๋ค ์คํ๋ ์คํฌ๋ฆฝํธ๋ฅผ ์์ฑ
- ํธ๋ฆฌ๊ฑฐ ๋ฑ๋ก
- ์์ฑํ ์คํฌ๋ฆฝํธ๋ฅผ Apps Script์์ ํธ๋ฆฌ๊ฑฐ๋ก ์ถ๊ฐ
- NAC์์ IP ์ ์ฒญ ๊ฒฐ๊ณผ ํ์ธ
- ๊ด๋ฆฌ>์ ์ฒญ>IP ์ฌ์ฉ ์ ์ฒญ์>๊ฒฐ๊ณผ ์กฐํ ๋ฉ๋ด
- ์์ ์๋๋ฆฌ์ค์ฒ๋ผ Google Apps Script ๋ฟ๋ง ์๋๋ผ REST API ํธ์ถํ ์ ์๋ ๋ค์ํ ๋๊ตฌ์ Genian NAC ์ฐ๋ ์ ํ์ฉ ๋ฒ์๊ฐ ๋ ๋ฌด๊ถ๋ฌด์งํด์ง ๊ฒ.
- ๊ณ ๊ฐ ํ๊ฒฝ ๊ฐ์ ์ ๊ตฌ๊ธ ํผ์ฒ๋ผ ์ค์ํ์์ ์์ฃผ ์ฐ์ด๋ ํด์ ์ฌ์ฉํ๊ณ REST API๊น์ง ์ฐ๋ํ์ฌ ์๋ฃจ์ ์ ์ธ์ ๋ค๋ ๊ฒ์ด ์์ํ๋ฉด์๋ ํฅ๋ฏธ๋ก์ ๋ค...