SaaS ์์ ๊ถํ ์ฒ๋ฆฌ
SaaS ๊ด๋ จํ์ฌ ๊ณต๋ถํ๋ฉฐ ๋๋์ ๊ณผ ์๊ฐ์ ์ ๋ฆฌํ ๊ธ์ ๋๋ค.
SaaS(Software as a Service)๋ ํด๋ผ์ฐ๋ ๊ธฐ๋ฐ์ ์ํํธ์จ์ด ์ ๊ณต ๋ชจ๋ธ์ ๋๋ค.
์ฌ๊ณ ๊ด๋ฆฌ ์๋ฃจ์ , ์ธ์ฌ๊ด๋ฆฌ ์๋ฃจ์ ๋ฑ ๊ณ ๊ฐ์๊ฒ ์ํํธ์จ์ด๋ก ์๋น์ค๋ฅผ ์ ๊ณตํ๋ ์ฌ์ ์ด์ ๋ฐฉ์์ ๋งํฉ๋๋ค.
์ด๋ ์ด์ ์ ์ด ๋ฉํฐํ ๋์ ๋ชจ๋ธ๊ณผ๋ ์ง์ ์ ์ผ๋ก ๊ด๋ จ์ด ์๋ ์ฃผ์ ์ ๋๋ค.
ํ๋์ ์ํํธ ์จ์ด๋ฅผ ํจ๊ป ์ฌ์ฉ
SaaS ์์๋ ํ๋์ ๊ธฐ๋ฐ ์ํํธ์จ์ด๋ฅผ ์ฌ๋ฌ ๊ณ ๊ฐ๋ค์ด ๊ฐ์ด ์ฌ์ฉํฉ๋๋ค.
๊ฐ ์ฌ์ฉ์๋ค์ด ์ฌ์ฉํ ๋ฐ์ดํฐ๋ ์ฌ๋ฌ๊ฐ์ง ๋ฐฉ๋ฒ์ผ๋ก ๋๋์ด ๊ด๋ฆฌํฉ๋๋ค.
ํน์ ์ฌ์ฉ์ ํน์ ์ ์ฒด์ ๊ด๋ฆฌ ์ํํธ์จ์ด๋ฅผ ์ง์ ๋ง์ถคํ์ผ๋ก ์ ์ ํด์ฃผ๋ ๋ชจ์ต์ด๋์ ์กฐ๊ธ ๋ค๋ฅธ ๋ชจ์ต์ ๋๋ค.
SaaS ์์๋ ๊ณ ๊ฐ ๋ง์ถคํ์ผ๋ก ์๋น์ค๋ฅผ ์ ๊ณตํ ์๋ ์์ง๋ง ๊ด๋ฆฌ๊ฐ ์ด๋ ค์์ง ์ ์๋ค๋ ๋จ์ ์ด ์์ต๋๋ค.
EAV ์ปจ์ ๋ฑ ์ค์ ์ฌ์ฉํ ์ ์๋ ๋ฐฉ๋ฒ์ ๋ช๊ฐ์ง ์ฐพ์๋ด๊ธฐ๋ ํ์ง๋ง ๋ฐ์ดํฐ๋ฒ ์ด์ค ์ฟผ๋ฆฌ๋ฅผ ๋ ๋ฆด ๋ ๋ณต์กํด์ง๋ ์ ๊ณผ ์ํํธ์จ์ด๋ฅผ ์ ๋ฐ์ดํธ ํ ๋ ์ด ๊ณผ์ ์ด ๋ค์ ๋ณต์กํ ์ ์๊ฒ ๋ค ๋ผ๋ ์๊ฐ์ด ๋ค์์ต๋๋ค.
๊ถํ ๊ด๋ฆฌ
์ปค์คํฐ๋ง์ด์ง ๋ฟ๋ง ์๋๋ผ ๊ถํ ๊ด๋ จํด์๋ ์ฌ๋ฌ๊ฐ์ง ๊ณ ๋ฏผ๊ฑฐ๋ฆฌ๊ฐ ๋ง์ด ์๊ฒผ์ต๋๋ค.
๋ณดํต SaaS ์์๋ ํ ๋ํธ ๊ทธ๋ฃน ( ์๋น์ค ์ฌ์ฉ์ ) ๋ด์์๋ ์ฌ๋ฌ๊ฐ์ง ๊ถํ์ด ๋๋ ์ ์์ต๋๋ค.
๋ฟ๋ง ์๋๋ผ SaaS๋ฅผ ์ ๊ณตํ๋ ์๋น์ค ์ ๊ณต์ ๊ทธ๋ฃน ( ๊ฐ๋ฐ์, ๊ธฐ์ ๋ฑ ) ๋ด์์๋ ๊ถํ์ด ๋๋ฉ๋๋ค.
์ธ์ฃผ๋ฅผ ๋ฐ์์ ํด๋น ์ ์ฒด์ ๋ฑ ๋ง๋ ํํ๋ก๋ง ์ ์ ํด์ค๋ค๋ฉด ์ด๋ฐ ๊ถํ ๋ฌธ์ ๋ ํด๋น ํ๋ก๊ทธ๋จ์์๋ง ์ฒ๋ฆฌํ๋ฉด ๋๊ธฐ ๋๋ฌธ์ ๊ณ ๋ฏผ ๊ฑฐ๋ฆฌ๊ฐ ๋ง์ด ์ค์ด๋ญ๋๋ค.
์๋ฅผ๋ค์ด Aํ์ฌ์์ "์ฐ๋ฆฌ ํ์ฌ ์ง์ ๊ด๋ฆฌ ํ๋ก๊ทธ๋จ์ ์ ์ํด์ฃผ์ธ์" ๋ผ๊ณ ์์ฒญํ๋ค๋ฉด ํด๋น ํ์ฌ๋ด์ ์ง์๋ค์ ๊ถํ๋ง ์ฒ๋ฆฌํ๋ฉด ๋๊ธฐ ๋๋ฌธ์ ๊ณ ๋ฏผ๊ฑฐ๋ฆฌ๊ฐ ๋ง์ด ์ค์ด๋ญ๋๋ค.
ํ์ง๋ง SaaS ์์๋ A์ฌ์ฉ์์ ๊ถํ, B์ฌ์ฉ์์ ๊ถํ, C์ ์ฒด์ ๊ถํ ๋ฑ ๋ฒ์จ ์๊ฐํ ๊ฑฐ๋ฆฌ๊ฐ ๋ง์ต๋๋ค.
์ฌ๊ธฐ์ A์ฌ์ฉ์ ๊ทธ๋ฃน๋ด์ ์๋ ๋ค๋ฅธ ์ฌ์ฉ์๋ค์ ๊ถํ ์ฒ๋ฆฌ ๊น์ง ํด์ผํฉ๋๋ค.
๋ณดํต A์ฌ์ฉ์ ๊ทธ๋ฃน๋ด์ ์๋ ๋ค๋ฅธ ์ฌ์ฉ์๋ค์ ๊ถํ์ A์ฌ์ฉ์ ๊ทธ๋ฃน์ ์ต๊ณ ๊ด๋ฆฌ์ ๋ฑ์ด ์ฒ๋ฆฌํฉ๋๋ค.
A์ฌ์ฉ์ ๊ทธ๋ฃน์ ์ต๊ณ ๊ด๋ฆฌ์์ธ์ง, ์๋น์ค ์ ๊ณต์ ๊ทธ๋ฃน ๋ด์ ์ต๊ณ ๊ด๋ฆฌ์ ์ธ์ง ๊ตฌ๋ณ๋ ํ์ํ๊ณ ํด๋น ๊ด๋ฆฌ์๊ฐ ์ด๋ค ์์ ์ด ๊ฐ๋ฅํ์ง๋ ๊ตฌ๋ณ์ด ํ์ํฉ๋๋ค.
์ฌ๋ฌ๊ฐ์ง ๊ถํ ์ฒ๋ฆฌ ๋ฐฉ๋ฒ
1. Role-Based Access Control (RBAC)
์ญํ ๊ธฐ๋ฐ ์์ธ์ค ์ ์ด ๋ผ๊ณ ํฉ๋๋ค. ๊ทธ๋ฃน๋ด์ ์ฌ์ฉ์๊ฐ ์ํํ ์ ์๋ ์์ ์ ์ ์ดํ๋ ๋ฐฉ๋ฒ์ค ํ๋์ด๋ฉฐ,
๊ฐ ์ฌ์ฉ์๋ค์๊ฒ ํ๋์ด์์ "์ญํ "์ ํ ๋นํ๊ณ ์๋ก ๋ค๋ฅธ ๊ถํ์ ๋ถ์ฌํ์ฌ ์ด๋ฅผ ์ํํ๋ ์ฒ๋ฆฌ ๋ฐฉ๋ฒ์ ๋๋ค.
๊ฐ ์ญํ ์๋ ์๋ ์์์ ๊ฐ์ ๋ด์ฉ๋ค์ ์ฌ์ ์ ์ํ์ฌ ๊ธฐ๋กํฉ๋๋ค.
- ๋ฌด์์ ์ ๊ทผํ ์ ์๋๊ฐ
- ๋ฌด์์ ์กฐํํ๊ณ ์ญ์ ํ ์ ์๋๊ฐ
- ๋ก๊ทธ์ธ ์ธ์ ์ ์ต๋ ๊ธฐ๊ฐ์ด ์ด๋์ ๋์ธ๊ฐ
์๋ฅผ๋ค์ด Super Admin, Admin, User ๋ก ๋๋์ด SuperAdmin์ ๋ชจ๋ ๊ธฐ๋ฅ, Admin์ ์ผ๋ถ๊ธฐ๋ฅ, User๋ ์กฐํ๋ง ๊ฐ๋ฅํ๋๋ก ์ฒ๋ฆฌํ๋ ํํ์ ๋ฐฉ์์ ๋๋ค.
์ญํ ์ ๊ณตํต์ผ๋ก ์ฌ์ฉํ๋ ํํ์ด๊ณ ๊ทธ๋ฃน๋ด ๋๊ตฌ ํ๋ช ์๊ฒ ํน๋ณํ ๋ง์ถฐ์ ธ ์์ง ์์ต๋๋ค.
์๋ฅผ๋ค์ด A๊ณผ์ฅ, B๊ณผ์ฅ์ Admin๊ถํ์ ๊ฐ์ง๊ณ ์๊ณ C๋๋ฆฌ๋ User๊ถํ์ ๊ฐ์ง๊ณ ์์ต๋๋ค.
์ด์ฒ๋ผ ์ฌ์ ์ ์๋ ๋ช ํํ "์ญํ "๋ค์ ์ฌ๋ฌ ์ฌ๋์๊ฒ ํ ๋นํด์ ์ฒ๋ฆฌํ๋ ๋ฐฉ์ ์ ๋๋ค.
์ด ๋ฐฉ์์ ์ฌ์ฉํ๋ฉด ์์ฝ๊ฒ ๊ทธ๋ฃน ๋ด ์ฌ์ฉ์์ ๊ถํ์ ๋ฐ๊ฟ ์ ์์ต๋๋ค.
์๋ฅผ๋ค์ด C๋๋ฆฌ๊ฐ ์น์งํด์ ๊ณผ์ฅ์ด ๋์๋ค๋ฉด ๋จ์ํ ์ญํ ์ Admin์ผ๋ก ๋ฐ๊ฟ์ฃผ๊ธฐ๋ง ํ๋ฉด ๋ฉ๋๋ค.
2. Attribute-Based Access Control (ABAC)
์์ฑ๊ธฐ๋ฐ ์์ธ์ค ์ ์ด ๋ผ๊ณ ํฉ๋๋ค. ์ ๊ทผ ์ ์ด๋ ์์ ์ ๋ํ ๊ถํ์ ์ฌ์ฉ์์, ๋ฆฌ์์ค, ํ๊ฒฝ์ ๋ฐ๋ผ ๋ค๋ฅด๊ฒ ์ฒ๋ฆฌํฉ๋๋ค.
- ์ฌ์ฉ์ ์ง๊ธ ๋ฑ
- ๊ธ์ ์์ฑํ ์ฌ๋์ด ๋๊ตฌ์ธ์ง, ๋ฌธ์์ ๋ณด์๋ฑ๊ธ ๋ฑ
- ๋ก๊ทธ์ธ์ ์๋ํ๋ ๋ฌผ๋ฆฌ์ ์ธ ์์น ๋ฑ
RBAC๋ฅผ ์กฐ๊ธ ๋ ์ ์ฐํ๊ฒ ์ฒ๋ฆฌํ๊ธฐ ์ํ ๋ฐฉ์์ด๋ผ๊ณ ์๊ฐ๋๋ค.
์ ์ ์๋๋ก ์๋ฎฌ๋ ์ด์ ํด๋ณด๋ฉด ์๋์ ๊ฐ์ด ์๋ฎฌ๋ ์ด์ ํด๋ณผ ์ ์๋ค.
A๋ถ์ฅ, B๋๋ฆฌ๊ฐ ์๊ณ , RBAC ๋ฐฉ์์ผ๋ก Admin, User ๋๊ฐ์ง Role์ด ์๋ค๊ณ ๊ฐ์ ํ๊ฒ ์ต๋๋ค.
์ด๋ A๋ถ์ฅ์ด ๋ฌธ์ ๋ฅผ ์ผ์ผ์ผ ๊ฐ๋ฑ์ด ๋์์ต๋๋ค.
๊ทธ๋ผ A๋ถ์ฅ์ User๋ผ๋ ๊ถํ์ ๋ถ์ฌํ๋ฉด ๊ฐ๋จํ๊ฒ ํด๊ฒฐ๋ ์ผ์ ๋๋ค.
๊ทธ๋ฐ๋ฐ A๋ถ์ฅ์ ์ด ํ์ฌ์ ํต์ฌ ์ธ๋ฌผ์ ๋๋ค. Admin ๋ ๋ฒจ์ ์ ๋ฌด๋ฅผ ๋ด๋นํ๊ณ ์์๋๋ฐ ๊ฐ๋ฑ์ด ๋์ด ๊ถํ์ ๋ง์ด ์์ ์ํ์ ๋๋ค.
ํต์ฌ์ธ๋ฌผ์ด ํ์ฌ ์ ๋ฌด์ ์ฌ๋ฌ๊ฐ์ง ์ ์ฝ์ด ๊ฑธ๋ฆฌ๋ฉด ๋ฌธ์ ๊ฐ ๋ง์ด ๋ฐ์ํ๊ธฐ์ if(A๋ถ์ฅ) a,b,c ๊ถํ๋ง ์์ธ์ ์ผ๋ก ๋ถ์ฌํ๋ค.
๋ผ๋ ์์ธ๋ฅผ ๋ฃ์ด์ฃผ๋ ๋ฐฉ์์ ์ทจํ ์ ์์ต๋๋ค.
์ด์ฒ๋ผ RBAC๋ฅผ ๋ฒ ์ด์ค๋ก ์์ธ๋ฅผ ๋ช๊ฐ์ง์ฉ ์ถ๊ฐํด์ฃผ๋ ๋ฐฉ์์ ๋๋ค.
ํ์ฌ๋ก์ฌ ์๋นํ ์ข์ ๋ฐฉ๋ฒ ๊ฐ์๋ณด์ ๋๋ค. ๊ทธ๋ฐ๋ฐ ์์ธ๊ฐ ํ๋ ๋ ๋๋ค๋ณด๋ฉด ๊ด๋ฆฌ๊ฐ ํ๋ค ๊ฒ ๊ฐ๋ค๋ ์๊ฐ์ด ๋ญ๋๋ค.
3. API ์์ค์์ ์ ์ด
์ด ๋ฐฉ๋ฒ์ ๋ณ๊ฐ๋ก ์ฌ์ฉํ๊ธฐ๋ณด๋ค๋ ์ ๋ฐฉ๋ฒ๋ค๊ณผ ํจ๊ป ์ฌ์ฉ ํ๋ ๊ฒ์ด ๋ง๋ ๊ฒ ๊ฐ๋ค.
API ๋ ๋ฒจ์์ ๋จผ์ ์ ์ดํ์ฌ ๋ถํ์ํ ์กฐํ๋ฅผ ์ค์ผ ์ ์์ ๊ฒ ๊ฐ๋ค.
Spring Security ์์ ์ ๊ณตํ๋ ๊ถํ ๊ด๋ฆฌ๋ฅผ ์ด์ฉํ์ฌ API ์์ค์์ ๋จผ์ ์ ์ดํ ํ ์ด๋ฅผ ์ถฉ์กฑํ๋ฉด DB์ ๊ธฐ๋ก๋ ์ ๋ณด๋ฅผ ํ ๋๋ก,์ด๋ ํ ๊ถํ์ ๊ฐ์ง ์ฌ์ฉ์ ์ธ์ง ์๋ณํ๋ ๋ฐฉ์์ผ๋ก ์ฒ๋ฆฌํ ์ ์์ ๊ฒ ๊ฐ๋ค.
๊ณ ๋ฏผ์ค์ธ ๋ด์ฉ 1
Spring Security ๋จ์์ ํ๋์ฝ๋ฉ ํ์ฌ ๊ถํ์ ๋ฏธ๋ฆฌ ์ ์ดํ๋ค๋ฉด ๊ถํ์ ๋ณ๊ฒฝ ํ ๋ ๋งค๋ฒ ์๋ก ๋ฐฐํฌ๋ฅผ ํด์ผ ํ ํ ๋ฐ Spring Security ์์
DB๋ฅผ ์กฐํํ๋๊ฒ ๋ง๋๊ฑด์ง ๊ณ ๋ฏผ์ค์ ๋๋ค.
๊ณ ๋ฏผ์ค์ธ ๋ด์ฉ 2
์ญํ ์ด๋ ๋ด์ฉ์ Admin, User๋ฑ์ผ๋ก ํํ์ด ๊ฐ๋ฅํ์ง๋ง ๊ฐ ์ญํ ๋ค์ด ์ด๋ ํ "์์ "์ ์ํํ ์ ์๋์ง๋ฅผ ๊ด๊ณํ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ์ด๋ป๊ฒ ํํํด์ผ ํ ์ง ๊ณ ๋ฏผ์ค์ ๋๋ค.
'๐ Sector Insights > Dev' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
๊ตฌ๋ ๊ธฐ๋ฐ ๋น์ฆ๋์ค ๋ชจ๋ธ (0) | 2024.02.21 |
---|---|
๋ฉํฐํ ๋์ ๋ชจ๋ธ (1) | 2024.02.18 |