๋ชจ๋ฐ์ผ ์ฑ ๊ฐ๋ฐ์ ๋งฅ๋ฝ์์ "์น์ธ"์ ์ฌ์ฉ์ ๋๋ ์์คํ ์ํฐํฐ์ ํน์ ๊ถํ์ ๊ธฐ๋ฐ์ผ๋ก ํน์ ๋ฆฌ์์ค, ๊ธฐ๋ฅ ๋๋ ์์ ์ ๋ํ ์ก์ธ์ค๋ฅผ ํ์ฉํ๊ฑฐ๋ ๊ฑฐ๋ถํ๋ ํ๋ก์ธ์ค๋ฅผ ์๋ฏธํฉ๋๋ค. ์ด๋ ์น์ธ๋ ์ฌ์ฉ์๋ง ์์คํ ๋ด์์ ์์ ์ ์ํํ๊ฑฐ๋ ๋ฏผ๊ฐํ ๋ฐ์ดํฐ์ ์ก์ธ์คํ ์ ์๋๋ก ํ๊ณ ๋ฌด๋จ ์ก์ธ์ค๋ฅผ ๋ฐฉ์งํจ์ผ๋ก์จ ์ ํ๋ฆฌ์ผ์ด์ ์ ๋ณด์๊ณผ ๋ฌด๊ฒฐ์ฑ์ ์ ์งํ๋ ๋ฐ ์ค์ํ ์ญํ ์ ํฉ๋๋ค.
AppMasterno-code ํ๋ซํผ์ ์ผ๋ถ๋ก ์น์ธ ํ๋ก์ธ์ค์๋ ์ผ๋ฐ์ ์ผ๋ก ๋ ๊ฐ์ง ์ฃผ์ ๊ตฌ์ฑ ์์๊ฐ ์๋ฐ๋ฉ๋๋ค.
1. ์ธ์ฆ: ์ ์ ํ์ธ์ ์ํด ์ฌ์ฉ์ ์ด๋ฆ, ๋น๋ฐ๋ฒํธ ๋ฑ ์ฌ์ฉ์ ์๊ฒฉ ์ฆ๋ช ์ ํ์ธํ๋ ์ด๊ธฐ ๋จ๊ณ์ ๋๋ค. ์ด๋ OAuth, SSO(Single Sign-On), JWT(JSON ์น ํ ํฐ), ์์ฒด ์ธ์ ๋๋ ๋ค๋จ๊ณ ์ธ์ฆ๊ณผ ๊ฐ์ ๋ฐฉ๋ฒ์ ํตํด ๋ฌ์ฑํ ์ ์์ต๋๋ค. AppMaster ๋ค์ํ ์ธ์ฆ ๋ฐฉ๋ฒ์ ํตํฉํ๊ธฐ ์ํ ๊ด๋ฒ์ํ ์ต์ ์ ์ ๊ณตํ๋ฏ๋ก ๊ฐ๋ฐ์๋ ํน์ ์ฌ์ฉ ์ฌ๋ก ๋ฐ ์๊ตฌ ์ฌํญ์ ๋ฐ๋ผ ๊ฐ์ฅ ์ ํฉํ ์ต์ ์ ์ ํํ ์ ์์ต๋๋ค.
2. ๊ถํ ๋ถ์ฌ: ์ฌ์ฉ์์ ์ ์์ ์ฑ๊ณต์ ์ผ๋ก ์ธ์ฆํ ํ ์์คํ ์ ์ฌ์ ์ ์๋ ์ก์ธ์ค ์ ์ด ๊ท์น์ ๋ฐ๋ผ ์ฌ์ฉ์์๊ฒ ํ์ฉ๋๋ ์์ ๊ณผ ๋ฆฌ์์ค๋ฅผ ๊ฒฐ์ ํฉ๋๋ค. ์ด๋ฌํ ๊ท์น์ ํน์ ์ฌ์ฉ์ ์ญํ ์ ๊ถํ์ด ํ ๋น๋๋ ์ญํ ๊ธฐ๋ฐ ์ก์ธ์ค ์ ์ด(RBAC)๋ถํฐ ์ก์ธ์ค ๊ถํ์ ๋ถ์ฌํ ๋ ๊ฐ๋ณ ์ฌ์ฉ์ ์์ฑ๊ณผ ์ปจํ ์คํธ๋ฅผ ๊ณ ๋ คํ๋ ์์ฑ ๊ธฐ๋ฐ ์ก์ธ์ค ์ ์ด(ABAC)๊น์ง ์ธ๋ถํ๋ ๋ฐฉ์์ผ๋ก ์ ์ํ ์ ์์ต๋๋ค.
๋ชจ๋ฐ์ผ ์ฑ ๊ฐ๋ฐ์์ ์ธ์ฆ ๋ฉ์ปค๋์ฆ์ ์ ํ๋ฆฌ์ผ์ด์ ์ ์ฑ๊ฒฉ๊ณผ ์ ํ๋ฆฌ์ผ์ด์ ์ด ๊ตฌ์ถ๋ ํ๋ซํผ(Android, iOS ๋๋ ํฌ๋ก์ค ํ๋ซํผ)์ ๋ฐ๋ผ ๋ฌ๋ผ์ง ์ ์์ต๋๋ค. ๊ทธ๋ฌ๋ ํ๋ซํผ์ ๊ด๊ณ์์ด ๋ฏผ๊ฐํ ๋ฐ์ดํฐ์ ๋ณด์์ ๋ณด์ฅํ๊ณ ์ฌ์ฉ์ ๊ฐ์ธ ์ ๋ณด๋ฅผ ๋ณดํธํ๋ฉฐ GDPR ๋ฐ HIPAA์ ๊ฐ์ ๋ค์ํ ๊ท์ ์ ์ค์ํ๋ ค๋ฉด ๊ฐ๋ ฅํ ์ธ์ฆ ์ ๋ต์ ๊ตฌํํ๋ ๊ฒ์ด ์ค์ํฉ๋๋ค.
AppMaster ํฌ๊ด์ ์ธ ๋๊ตฌ ๋ฐ ๊ธฐ๋ฅ ์ธํธ๋ฅผ ์ ๊ณตํ์ฌ ์์ ํ๊ณ ํ์ฅ ๊ฐ๋ฅํ ์ธ์ฆ ์์คํ ์ ๊ตฌํ์ ์ฉ์ดํ๊ฒ ํฉ๋๋ค. ๊ณ ๊ฐ์ด ๋ฐ์ดํฐ ๋ชจ๋ธ(๋ฐ์ดํฐ๋ฒ ์ด์ค ์คํค๋ง) ๋ฐ ๋น์ฆ๋์ค ๋ก์ง(๋น์ฆ๋์ค ํ๋ก์ธ์ค)์ ์์ฑํ ์ ์๋ ์๊ฐ์ BP Designer๋ถํฐ REST API ๋ฐ WSS ์๋ํฌ์ธํธ์ ์๋ ์์ฑ์ ์ด๋ฅด๊ธฐ๊น์ง AppMaster ๊ธฐ์ ๋ถ์ฑ๋ฅผ ์ ๊ฑฐํ๋ฉด์ ์ ์ฒด ํ๋ก์ธ์ค๋ฅผ ๊ฐ์ํํฉ๋๋ค. AppMaster ์ฌ์ฉํ์ฌ ๊ตฌ์ถ๋ ์ ํ๋ฆฌ์ผ์ด์ ์ ๋ชจ๋ PostgreSQL ํธํ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ๊ธฐ๋ณธ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ก ์ฌ์ฉํ ์ ์์ผ๋ฏ๋ก ๋ค์ํ ๊ธฐ์ ๋ฐ ๊ณ ๋ถํ ์ฌ์ฉ ์ฌ๋ก๋ฅผ ์ฒ๋ฆฌํ ๋ ์ ์ฐ์ฑ๊ณผ ํจ์จ์ฑ์ ๋ณด์ฅํฉ๋๋ค.
์ ๊ตฌํ๋ ์ธ์ฆ ํ๋ก์ธ์ค๋ฅผ ํตํด ๊ฐ๋ฐ์๋ ์ฑ์ ๋ณด์ ํ๊ฒฝ์ ์ ์งํ ์ ์์ต๋๋ค. ์๋ฅผ ๋ค์ด, ๋ชจ๋ฐ์ผ ๋ฑ ํน ์ฑ์ ๋ฏผ๊ฐํ ๊ธ์ต ์ ๋ณด๋ฅผ ๋ณดํธํ๊ธฐ ์ํด ์ธ๋ถ์ ์ธ ์ธ์ฆ ์ ์ฑ ๊ณผ ํจ๊ป ๊ฐ๋ ฅํ ์ธ์ฆ ๋ฐฉ๋ฒ(์: ์์ฒด ์ธ์)์ ์ฌ์ฉํ๊ณ ์๊ฒฉ์ ๊ฐ์ถ ์ฌ์ฉ์์๊ฒ๋ง ํน์ ๊ฑฐ๋ ๊ธฐ๋ฅ์ ์ ๊ณตํฉ๋๋ค. ๋ง์ฐฌ๊ฐ์ง๋ก ERP(์ ์ฌ์ ์์ ๊ด๋ฆฌ) ์ฑ์ ์ญํ ๊ธฐ๋ฐ ์ก์ธ์ค ์ ์ด๋ฅผ ์ฌ์ฉํ์ฌ ์ง๋ฌด์ ๋ฐ๋ผ ๊ถํ์ ํ ๋นํจ์ผ๋ก์จ ์ง์์ด ์์ ์ ์์ ๊ณผ ๊ด๋ จ๋ ์ ์ ํ ๋ฆฌ์์ค ๋ฐ ๊ธฐ๋ฅ์๋ง ์ก์ธ์คํ๋๋ก ๋ณด์ฅํฉ๋๋ค.
์์ฝํ๋ฉด, ์ธ์ฆ์ ๋ชจ๋ฐ์ผ ์ฑ ๊ฐ๋ฐ์ ์์ด์๋ ์ ๋ ์์๋ก, ๋ฏผ๊ฐํ ๋ฐ์ดํฐ์ ๋ฆฌ์์ค๋ฅผ ๋ณดํธํ๋ ๋์์ ์ฌ์ฉ์์๊ฒ ๊ฐ์ธํ๋ ๊ฒฝํ์ ์ ๊ณตํ๋ ๋ฐ ์ค์ํ ์ญํ ์ ํฉ๋๋ค. AppMasterno-code ํ๋ซํผ์ ๊ฐ๋ฐ์์๊ฒ ํน์ ์ ํ๋ฆฌ์ผ์ด์ ์๊ตฌ ์ฌํญ์ ๋ง๊ฒ ๊ฐ๋ ฅํ๊ณ ํ์ฅ ๊ฐ๋ฅํ๋ฉฐ ์์ ํ ์ธ์ฆ ์์คํ ์ ์ค๊ณํ๊ณ ๊ตฌํํ๋ ๋ฐ ํ์ํ ๋๊ตฌ์ ๋ฆฌ์์ค๋ฅผ ์ ๊ณตํฉ๋๋ค. ์ด๋ฌํ ์ ๊ทผ ๋ฐฉ์์ ๊ฐ๋ฐ์ ๊ฐ์ํํ ๋ฟ๋ง ์๋๋ผ ์์ฅ ์ถ์ ๊ธฐ๊ฐ, ๋น์ฉ, ๋ณต์ก์ฑ์ ์ค์ฌ ๋น ๋ฅด๊ฒ ์งํํ๋ ๋ชจ๋ฐ์ผ ์ฑ ์ํ๊ณ์์ ํ์ ์ ๊ฐ์ํํ๊ณ ๊ฒฝ์ ์ฐ์๋ฅผ ํ๋ณดํ ์ ์์ต๋๋ค.