ํ”ผ๋“œ๋กœ ๋Œ์•„๊ฐ€๊ธฐ
Manage Sensitive Data In Application Code | ๐Ÿ—๏ธ Build A Secure Configuration Service
Dev.toDev.to
Security

Rotation ๊ธฐ๋ฐ˜ Secret ๊ด€๋ฆฌ ๋ฐ Multi-tenant ๊ฒฉ๋ฆฌ ์ „๋žต์„ ํ†ตํ•œ ๋ณด์•ˆ ์•„ํ‚คํ…์ฒ˜ ์ตœ์ ํ™”

Manage Sensitive Data In Application Code | ๐Ÿ—๏ธ Build A Secure Configuration Service

Ntombizakhona Mabaso2026๋…„ 6์›” 26์ผ18๋ถ„intermediate

Context

์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ์ฝ”๋“œ ๋‚ด ๋ฏผ๊ฐ ์ •๋ณด ๋…ธ์ถœ ์œ„ํ—˜๊ณผ ๋ฐ์ดํ„ฐ ๋ถ„๋ฅ˜ ์ฒด๊ณ„ ๋ถ€์žฌ๋กœ ์ธํ•œ ๋ณด์•ˆ ์ทจ์•ฝ์„ฑ ๋ฐœ์ƒ. ํŠนํžˆ Multi-tenant ํ™˜๊ฒฝ์—์„œ ํ…Œ๋„ŒํŠธ ๊ฐ„ ๋ฐ์ดํ„ฐ ์œ ์ถœ์„ ๋ฐฉ์ง€ํ•˜๊ธฐ ์œ„ํ•œ ์—„๊ฒฉํ•œ ๋…ผ๋ฆฌ์ /๋ฌผ๋ฆฌ์  ๊ฒฉ๋ฆฌ ๊ตฌ์กฐ ํ•„์š”์„ฑ ๋Œ€๋‘.

Technical Solution

  • ์ž๋™ Rotation ํ•„์š” ์—ฌ๋ถ€์— ๋”ฐ๋ผ Secrets Manager($0.40/secret)์™€ SSM Parameter Store(Free)๋ฅผ ๊ตฌ๋ถ„ํ•˜์—ฌ ์ฑ„ํƒํ•˜๋Š” ๋น„์šฉ-ํšจ์œจ์  ๊ด€๋ฆฌ ์ฒด๊ณ„ ๊ตฌ์ถ•
  • PII ๋ฐ์ดํ„ฐ ๋ณดํ˜ธ๋ฅผ ์œ„ํ•ด API ์‘๋‹ต ์‹œ Field Masking ๋ฐ ๋กœ๊ทธ ์ถœ๋ ฅ ์ „ Sanitization ํ”„๋กœ์„ธ์Šค๋ฅผ ์ ์šฉํ•œ ๋ฐ์ดํ„ฐ ์œ ์ถœ ์›์ฒœ ์ฐจ๋‹จ
  • DynamoDB Partition Key Prefix์— IAM Condition Keys(dynamodb:LeadingKeys)๋ฅผ ๊ฒฐํ•ฉํ•˜์—ฌ ์ •์ฑ… ๊ธฐ๋ฐ˜์˜ ๋…ผ๋ฆฌ์  Tenant Isolation ๊ตฌํ˜„
  • Runtime Secret Fetching ๋ฐ TTL ๊ธฐ๋ฐ˜ ์บ์‹ฑ ์ „๋žต์„ ๋„์ž…ํ•˜์—ฌ Deploy-time Resolve ๋ฐฉ์‹์˜ ์—…๋ฐ์ดํŠธ ์ง€์—ฐ ๋ฌธ์ œ ํ•ด๊ฒฐ ๋ฐ API ํ˜ธ์ถœ ๋น„์šฉ ์ ˆ๊ฐ
  • ๋ฐ์ดํ„ฐ ๋ฏผ๊ฐ๋„(PII, PHI, Financial)์— ๋”ฐ๋ผ Encryption at rest/transit ๋ฐ Tokenization์„ ์ฐจ๋“ฑ ์ ์šฉํ•œ ๋ฐ์ดํ„ฐ ๋ถ„๋ฅ˜ ์ฒด๊ณ„ ์ˆ˜๋ฆฝ

- DB Credentials ๋“ฑ ์ฃผ๊ธฐ์  ๋ณ€๊ฒฝ์ด ํ•„์š”ํ•œ ๊ฐ’์€ Secrets Manager์˜ ์ž๋™ Rotation ๊ธฐ๋Šฅ์„ ์šฐ์„  ๊ฒ€ํ† ํ•˜์‹ญ์‹œ์˜ค. - Application Config ๋ฐ Feature Flag์€ ๋น„์šฉ ํšจ์œจ์ ์ธ SSM Parameter Store์˜ SecureString ํƒ€์ž…์„ ํ™œ์šฉํ•˜์‹ญ์‹œ์˜ค. - Multi-tenant ์„ค๊ณ„ ์‹œ JWT Claim์—์„œ Tenant ID๋ฅผ ์ถ”์ถœํ•˜๊ณ , ์ด๋ฅผ DynamoDB Partition Key Prefix์™€ IAM Policy์— ์—ฐ๋™ํ•˜์—ฌ ๊ฐ•์ œ ๊ฒฉ๋ฆฌ๋ฅผ ๊ตฌํ˜„ํ•˜์‹ญ์‹œ์˜ค. - Secret ์กฐํšŒ ๋น„์šฉ ์ ˆ๊ฐ์„ ์œ„ํ•ด Cold Start ์‹œ lru_cache ๋˜๋Š” TTL ๊ธฐ๋ฐ˜ ์บ์‹œ ๋ ˆ์ด์–ด๋ฅผ ๋ฐ˜๋“œ์‹œ ๊ตฌํ˜„ํ•˜์‹ญ์‹œ์˜ค.

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