ํ”ผ๋“œ๋กœ ๋Œ์•„๊ฐ€๊ธฐ
Game on Djangular ๐ŸŽฎ Ep.1
Dev.toDev.to
Security

Djangular ์Šคํƒ ๊ธฐ๋ฐ˜์˜ Enterprise๊ธ‰ ๊ฒŒ์ž„ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ๊ด€๋ฆฌ ์‹œ์Šคํ…œ ์„ค๊ณ„

Game on Djangular ๐ŸŽฎ Ep.1

Willem van Heemstra2026๋…„ 4์›” 16์ผ5๋ถ„advanced

Context

ํŒŒํŽธํ™”๋œ ๊ฒŒ์ž„ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ๊ด€๋ฆฌ์™€ ์ €์žฅ ๋ฐ์ดํ„ฐ์˜ ํ†ตํ•ฉ ํ•„์š”์„ฑ ๋Œ€๋‘. ๋‹จ์ˆœ ์›น ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ๋„˜์–ด ์™ธ๋ถ€ ์„œ๋ฒ„์™€์˜ ๋ฐ์ดํ„ฐ ๋™๊ธฐํ™” ๋ฐ ์—”ํ„ฐํ”„๋ผ์ด์ฆˆ ์ˆ˜์ค€์˜ ๋ณด์•ˆ ์ธ์ฆ ์ฒด๊ณ„ ๊ตฌ์ถ•์ด ์š”๊ตฌ๋จ.

Technical Solution

  • Django REST Framework์™€ Angular๋ฅผ ๊ฒฐํ•ฉํ•œ Djangular ์•„ํ‚คํ…์ฒ˜๋ฅผ ํ†ตํ•œ ํ”„๋ก ํŠธ์—”๋“œ-๋ฐฑ์—”๋“œ ๊ด€์‹ฌ์‚ฌ ๋ถ„๋ฆฌ
  • PostgreSQL ๊ธฐ๋ฐ˜์˜ Game, UserGame, Review ๋ชจ๋ธ ์„ค๊ณ„๋ฅผ ํ†ตํ•œ ๋‹ค๋Œ€๋‹ค ๊ด€๊ณ„์˜ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ๋ฐ์ดํ„ฐ ์ •๊ทœํ™”
  • JWT(JSON Web Token) ๊ธฐ๋ฐ˜์˜ ์ธ์ฆ ์ฒด๊ณ„์™€ Angular Interceptor๋ฅผ ํ†ตํ•œ ์ƒํƒœ ์œ ์ง€ ๋ฐ ๋ณด์•ˆ ์š”์ฒญ ์ฒ˜๋ฆฌ
  • XML-Bridge ๋ชจ๋“ˆ ๊ตฌํ˜„์œผ๋กœ ์™ธ๋ถ€ Linux ์„œ๋ฒ„์™€ HTTP/HTTPS ๊ธฐ๋ฐ˜์˜ ๋ฐ์ดํ„ฐ ๊ตํ™˜ ์ธํ„ฐํŽ˜์ด์Šค ํ™•๋ณด
  • mTLS(Mutual TLS) ๋ฐ PKI ์ธํ”„๋ผ ๋„์ž…์„ ํ†ตํ•œ ์„œ๋ฒ„ ๊ฐ„ ์ƒํ˜ธ ์ธ์ฆ ๋ฐ ๋ฐ์ดํ„ฐ ์ „์†ก ๋ณด์•ˆ ๊ฐ•ํ™”
  • SailPoint IAM ๋ฐ SCIM 2.0 ์ ์šฉ์„ ํ†ตํ•œ ์—”ํ„ฐํ”„๋ผ์ด์ฆˆ ์ˆ˜์ค€์˜ ID ๊ด€๋ฆฌ ๋ฐ ์ ‘๊ทผ ์ œ์–ด ๊ตฌํ˜„

- ๋ถ„์‚ฐ ํ™˜๊ฒฝ์˜ ์„œ๋ฒ„ ๊ฐ„ ํ†ต์‹  ์‹œ TLS๋ฅผ ๋„˜์–ด mTLS ๋„์ž…์„ ํ†ตํ•œ ์–‘๋ฐฉํ–ฅ ์‹ ๋ขฐ ๊ด€๊ณ„ ๊ฒ€ํ†  - ๋‹จ์ˆœ DB ์ €์žฅ์„ ๋„˜์–ด XML/JSON ๋“ฑ ํ‘œ์ค€ ํฌ๋งท์˜ Bridge ๋ ˆ์ด์–ด ์„ค๊ณ„๋ฅผ ํ†ตํ•œ ์™ธ๋ถ€ ์‹œ์Šคํ…œ ํ™•์žฅ์„ฑ ํ™•๋ณด - JWT ๊ธฐ๋ฐ˜ ์ธ์ฆ ์‹œ Guard์™€ Interceptor๋ฅผ ํ†ตํ•œ ํ”„๋ก ํŠธ์—”๋“œ ์ง„์ž…์  ์ œ์–ด ๋กœ์ง ๊ตฌํ˜„ - django-ca์™€ ๊ฐ™์€ ๋„๊ตฌ๋ฅผ ํ™œ์šฉํ•œ ๋‚ด๋ถ€ PKI ์ฒด๊ณ„ ๊ตฌ์ถ• ๋ฐ ์ธ์ฆ์„œ ๊ฐฑ์‹  ํ”„๋กœ์„ธ์Šค ์„ค๊ณ„

์›๋ฌธ ์ฝ๊ธฐ