[AWS] Secret Manager

Secret Manager๋Š” ๋ง ๊ทธ๋Œ€๋กœ ์‹œํฌ๋ฆฟ ๊ฐ’๋“ค์„ ๊ด€๋ฆฌํ•˜๊ธฐ ์œ„ํ•ด ์ œ๊ณต๋˜๋Š” ๊ธฐ๋ฐ˜ ์„œ๋น„์Šค ์ค‘ ํ•˜๋‚˜๋‹ค.
ํŒจ์Šค์›Œ๋“œ๋‚˜ DB ์ ‘์†์ •๋ณด ๊ฐ™์€ ๋ณด์•ˆ์— ๋ฏผ๊ฐํ•œ ๊ฐ’๋“ค์„ ๋‹ค๋ฃจ๊ธฐ ์œ„ํ•ด ์กด์žฌํ•œ๋‹ค.




๋น„์šฉ

๊ณ ์ • ๋น„์šฉ์ด ์กด์žฌํ•œ๋‹ค. Secret ํ•˜๋‚˜๋‹น ์›” ์ •์•ก 0.4๋‹ฌ๋Ÿฌ ์ •๋„๋ฅผ ๋ถ€๊ณผํ•œ๋‹ค.
API ํ˜ธ์ถœ๋„ ๋น„์šฉ์ด 1๋งŒ๊ฑด๋‹น 0.05๋‹ฌ๋Ÿฌ๋กœ ์กด์žฌํ•˜๊ธด ํ•˜๋Š”๋ฐ, ์ด๊ฒŒ ๊ทธ๋ ‡๊ฒŒ ๋นˆ๋ฒˆํ•˜๊ฒŒ ํ˜ธ์ถœ๋˜๋Š” ๋ฆฌ์†Œ์Šค๋Š” ์•„๋‹ˆ๋‹ˆ ํฌ์ง€๋Š” ์•Š์„ ๊ฒƒ์ด๋‹ค.

๊ทธ๋ž˜์„œ ๊ฐ€๋Šฅํ•˜๋ฉด ๋‹จ์ผ secret์— ์ด๊ฒƒ์ €๊ฒƒ ๋ชจ์•„์„œ ์งฑ๋ฐ•์•„๋‘๋Š”๊ฒŒ ๋น„์šฉ์ ์œผ๋กœ๋Š” ์œ ๋ฆฌํ•˜๊ฒ ๋‹ค.

https://aws.amazon.com/ko/secrets-manager/pricing/




์ด์ 

๊ทธ๋Ÿผ ์ด๊ฒŒ ๋‹ค๋ฅธ ์ €์žฅ์†Œ๋‚˜ ๊ด€๋ฆฌ๋ฐฉ์‹๊ณผ ๋น„๊ตํ•ด์„œ ๋ญ๊ฐ€ ๋” ์ข‹์€๊ฑธ๊นŒ?
์‚ฌ์‹ค ํ‚ค/๊ฐ’์„ ์ ๋‹นํžˆ ๊ตฌ๊ฒจ๋„ฃ๊ณ  ์ฝ๋Š”๊ฑด ์–ด๋–ค ๋‹ค๋ฅธ Store ์„œ๋น„์Šค๋ฅผ ์จ๋„ ๋‹ฌ์„ฑํ•  ์ˆ˜ ์žˆ๋Š” ๋ฌธ์ œ๋‹ค.

**1. ์ ‘๊ทผ ๋กœ๊ทธ **
๋‹ค๋ฅธ Store ์„œ๋น„์Šค๋“ค์€ ๋ฐ์ดํ„ฐ ์ ‘๊ทผ์— ๋Œ€ํ•ด์„œ ํ•˜๋‚˜ํ•˜๋‚˜ ๋กœ๊ทธ๋ฅผ ๋‚จ๊ธฐ์ง„ ์•Š๋Š”๋‹ค. ๊ทธ๋ž˜์„œ ๋ญ”๊ฐ€ ๋ณด์•ˆ ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ–ˆ์„๋•Œ ๋ฌธ์ œ๋ฅผ ์ถ”์ ํ•˜๊ธฐ๊ฐ€ ์–ด๋ ต๋‹ค.
ํ•˜์ง€๋งŒ Secret์— ๋Œ€ํ•œ ์ ‘๊ทผ์€ ํ•ญ์ƒ CloudTrail์— ์ ‘๊ทผ ๋กœ๊ทธ๊ฐ€ ๋‚จ๋Š”๋‹ค.

2. ๋Ÿฐํƒ€์ž„ ๋กœ๋“œ - ํ‰๋ฌธ ์ €์žฅ ํšŒํ”ผ
์ปจํ…Œ์ด๋„ˆ ํ™˜๊ฒฝ ๋ณ€์ˆ˜ ๋“ฑ์— ํŒจ์Šค์›Œ๋“œ๋ฅผ ํ‰๋ฌธ์œผ๋กœ ์ €์žฅํ•˜๋Š” ๊ฒƒ์€ ์ƒ๋‹นํžˆ ์œ„ํ—˜์ฒœ๋งŒํ•œ ํ–‰๋™์ด๋‹ค. ๋งค์šฐ ์‰ฝ๊ณ  ์ž์—ฐ์Šค๋Ÿฝ๊ฒŒ ์œ ์ถœ๋  ์ˆ˜ ์žˆ๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค.
Secret์„ ์‚ฌ์šฉํ•˜๋ฉด Secret์— ๋Œ€ํ•œ ๊ฐ„์ ‘ ์ฐธ์กฐ๋กœ ํ™˜๊ฒฝ๋ณ€์ˆ˜ ์„ค์ •์„ ๊ฐˆ์Œํ•  ์ˆ˜ ์žˆ๋‹ค. (AWS ECS์˜ ๊ฒฝ์šฐ)

**3. ๋†’์€ ์•”ํ˜ธํ™” ์ˆ˜์ค€ **
๋ณ„๊ฑฐ ์•„๋‹Œ๊ฒƒ์ฒ˜๋Ÿผ ๋ณด์ผ ์ˆ˜๋„ ์žˆ์ง€๋งŒ, Secret์€ ๋งค์šฐ ๊ฐ•ํ•œ ์•”ํ˜ธํ™” ๊ธฐ๋ฒ•์„ ์‚ฌ์šฉํ•œ๋‹ค.
KMS๋ผ๋Š” ๋ณ„๋„ ์•”ํ˜ธํ™” ์‹œ์Šคํ…œ์„ ์‚ฌ์šฉํ•ด์„œ ๋ฐ์ดํ„ฐ ํ‚ค๋ฅผ ๋งŒ๋“ค๊ณ , ๊ทธ ํ‚ค๋กœ ์‹œํฌ๋ฆฟ์„ ์•”ํ˜ธํ™”ํ•ด์„œ ์ €์žฅํ•˜๋Š” ๊ฒƒ์ด๋‹ค.
๊ทธ๋ž˜์„œ KMS์™€ Secret์ด ์‹œ์Šคํ…œ์ ์œผ๋กœ ๊ฒฉ๋ฆฌ๋˜์–ด์žˆ๊ธฐ ๋•Œ๋ฌธ์— ์œ ์ถœ ์œ„ํ—˜์ด ๋น„๊ต์  ์ ๋‹ค.
KMS๋ฅผ ์“ฐ๊ธฐ ๋•Œ๋ฌธ์— ๋‚ด๋ถ€์ ์œผ๋กœ ๋ด‰ํˆฌ ์•”ํ˜ธํ™” ๊ธฐ๋ฒ•์„ ์‚ฌ์šฉํ•œ๋‹ค.
์ฐธ์กฐ: https://blog.naver.com/sssang97/224204769009




์ œํ•œ์‚ฌํ•ญ

๊ฐ secret์—๋Š” ํฌ๊ธฐ ์ œํ•œ์ด ์กด์žฌํ•œ๋‹ค.
์ œํ•œ์€ ์‹œํฌ๋ฆฟ๋‹น 64 KiB ์ •๋„๋‹ค. ๊ทธ๋ž˜์„œ ๋„ˆ๋ฌด ํฐ ๊ฐ’์€ ๋„ฃ์ง€ ์•Š๋Š” ๊ฒƒ์ด ์ข‹๋‹ค.




์‹œํฌ๋ฆฟ ๋งŒ๋“ค์–ด๋ณด๊ธฐ

ํŽ˜์ด์ง€์— ์ง„์ž…ํ•ด์„œ ์‹œํฌ๋ฆฟ ์ƒ์„ฑ์— ์ง„์ž…ํ•˜๋ฉด, ๋‹ค์Œ๊ณผ ๊ฐ™์€ ํ™”๋ฉด์ด ๋œฐ ๊ฒƒ์ด๋‹ค.

์‹œํฌ๋ฆฟ์—๋Š” ์—ฌ๋Ÿฌ๊ฐ€์ง€ ํƒ€์ž…์ด ์žˆ๋Š”๋ฐ, ์ผ๋ฐ˜์ ์œผ๋กœ๋Š” "๊ธฐํƒ€" ํƒ€์ž…์ด ์‚ฌ์šฉ์‚ฌ๋ก€์— ์ ํ•ฉํ•  ๊ฒƒ์ด๋‹ค.

์—ฌ๊ธฐ์„œ๋Š” ํ‚ค/๊ฐ’ ์Œ์œผ๋กœ ์—ฌ๋Ÿฌ๊ฐœ์˜ ์‹œํฌ๋ฆฟ ์ •๋ณด๋ฅผ ๋™์‹œ์— ์ง‘์–ด๋„ฃ์„ ์ˆ˜ ์žˆ๋‹ค.
์ด๊ฑด ๋‚ด๋ถ€์ ์œผ๋กœ JSON ๊ฐ’์œผ๋กœ ์ €์žฅ๋œ๋‹ค.


ํ˜น์€ ์ž์œ  ํ…์ŠคํŠธ๋กœ ์ž…๋ ฅํ•  ์ˆ˜๋„ ์žˆ๋‹ค.
์ด๋Ÿฌ๋ฉด yaml์ด๋‚˜ ์›ํ•˜๋Š” ํฌ๋งท์„ ๋”ฐ๋ผ์„œ ์ €์žฅํ•  ์ˆ˜๋„ ์žˆ๋Š”๋ฐ, ๋Œ€์‹  ์ž๋™ key ์ถ”์ถœ ๊ธฐ๋Šฅ ๊ฐ™์€๊ฑด ๋ชป์“ด๋‹ค.

์ ๋‹นํžˆ ์ƒ์„ฑํ•˜๋ฉด ์ด๋Ÿฐ ์‹์œผ๋กœ ๋ฆฌ์†Œ์Šค๊ฐ€ ์ƒ์„ฑ๋œ๋‹ค.

๋ณด์•ˆ์ƒ์˜ ์ด์œ ๋กœ ๊ธฐ๋ณธ ํŽ˜์ด์ง€์—๋Š” ๊ทธ ๊ฐ’์ด ๋…ธ์ถœ๋˜์ง€๋Š” ์•Š๋Š”๋‹ค.

์ €๊ธฐ์„œ "๋ณด์•ˆ ์•”ํ˜ธ ๊ฐ’ ๊ฒ€์ƒ‰"์„ ๋ˆ„๋ฅด๋ฉด ๊ฐ’์ด ๋…ธ์ถœ๋˜๊ณ , ์ˆ˜์ •ํ•  ์ˆ˜๋„ ์žˆ๊ฒŒ ๋œ๋‹ค.




AWS ECS์™€ ํ†ตํ•ฉ

์‹œํฌ๋ฆฟ ๋งค๋‹ˆ์ €๋Š” ์ผ๋ถ€ ์„œ๋น„์Šค๋“ค๊ณผ์˜ ๊ฐ•๋ ฅํ•œ ํ†ตํ•ฉ์„ ์ง€์›ํ•œ๋‹ค. ํŠน์ • ์‹œํฌ๋ฆฟ์˜ ๊ฐ’์„ ์ž๋™์œผ๋กœ ์ฃผ์ž…ํ•˜๊ฑฐ๋‚˜ ํ•˜๋Š” ๊ฒƒ์ด ๊ฐ€๋Šฅํ•œ๋ฐ, ๊ทธ ๊ธฐ๋Šฅ์ด ์ง€์›๋˜๋Š” ๋Œ€ํ‘œ์ ์ธ ์„œ๋น„์Šค๊ฐ€ ECS๋‹ค.

ECS ์ž‘์—…์ •์˜์˜ ์ปจํ…Œ์ด๋„ˆ ์ŠคํŽ™-ํ™˜๊ฒฝ๋ณ€์ˆ˜์— ๊ฐ’์„ "ValueFrom"์œผ๋กœ ์„ค์ •ํ•ด์„œ ์‹œํฌ๋ฆฟ ์ •๋ณด๋ฅผ ๋„ฃ์œผ๋ฉด, ECS๊ฐ€ ํƒœ์Šคํฌ๋ฅผ ์‹œ์ž‘ํ• ๋•Œ๋งˆ๋‹ค ์ž๋™์œผ๋กœ ์‹œํฌ๋ฆฟ ๊ฐ’์„ ๋™์ ์œผ๋กœ ์ฃผ์ž…ํ•ด์ค€๋‹ค.

"์‹œํฌ๋ฆฟ๋งค๋‹ˆ์ €ARN:ํ‚ค์ด๋ฆ„::"์˜ ํ˜•ํƒœ๋กœ ๋„ฃ์œผ๋ฉด ์‹œํฌ๋ฆฟ์˜ ํŠน์ • key ๊ฐ’๋งŒ ๋„ฃ๊ณ , "์‹œํฌ๋ฆฟ๋งค๋‹ˆ์ €ARN"๋ฅผ ๊ทธ๋ƒฅ ๋„ฃ์œผ๋ฉด ํ•ด๋‹น ์‹œํฌ๋ฆฟ์˜ ์ „์ฒด ๊ฐ’(JSON ๊ฐ’)์ด ๋“ค์–ด๊ฐ„๋‹ค.

๊ทผ๋ฐ ์—ฌ๊ธฐ์—๋Š” ํ•œ๊ณ„๊ฐ€ ์žˆ๋‹ค.
์‹œํฌ๋ฆฟ์„ ์ถ”๊ฐ€ํ•˜๋ฉด, ๊ทธ๋•Œ๋งˆ๋‹ค key ๊ฐ’์„ ํ•˜๋‚˜ํ•˜๋‚˜ ๋งคํ•‘ํ•ด์ค˜์•ผ ํ•ด์„œ ๋งค์šฐ ๋ฒˆ๊ฑฐ๋กญ๋‹ค๋Š” ๊ฒƒ์ด๋‹ค. ํŠน์ • ์‹œํฌ๋ฆฟ์˜ ๋ชจ๋“  key๋ฅผ ์ž๋™์œผ๋กœ loadํ•œ๋‹ค๊ฑฐ๋‚˜ ํ•˜๋Š” ๊ธฐ๋Šฅ์ด ์—†๋‹ค.
AWS ํŒ€์—์„œ๋„ ์ด ๊ธฐ๋Šฅ์„ ๊ณ ๋ คํ•˜๊ณ ๋Š” ์žˆ์ง€๋งŒ, ์šฐ์„ ์ˆœ์œ„๋Š” ๋‚ฎ์€๊ฑฐ๊ฐ™๋‹ค. ์ด์Šˆ๋„ 5๋…„์งธ ๋ฐฉ์น˜๋˜๊ณ  ์žˆ๋‹ค.

์œ ์ผํ•œ ๋Œ€์•ˆ์€ ๊ทธ๋ƒฅ ์‹œํฌ๋ฆฟ์˜ ์ „์ฒด JSON ๊ฐ’์„ ํ†ต์งธ๋กœ ๋กœ๋“œํ•œ ๋‹ค์Œ์— ํ”„๋กœ๊ทธ๋žจ์—์„œ ํŒŒ์‹ฑํ•ด์„œ ์“ฐ๋Š” ๊ฒƒ์ด๋‹ค.




๊ธฐํƒ€ ํ™˜๊ฒฝ

ECS์ฒ˜๋Ÿผ ์ง์ ‘ ํ†ตํ•ฉ ๊ธฐ๋Šฅ์ด ์ œ๊ณต๋˜๋Š”๊ฒŒ ์•„๋‹ˆ๋ผ๋ฉด, ํ”„๋กœ๊ทธ๋žจ ๋‹จ์—์„œ AWS SDK๋ฅผ ์‚ฌ์šฉํ•ด์„œ ์‹œํฌ๋ฆฟ ๊ฐ’์„ ์ง์ ‘ ๊ฐ€์ ธ์˜ค๋Š” ๊ฒƒ์ด ์ผ๋ฐ˜์ ์ธ ๋ฐฉ๋ฒ•์ด ๋œ๋‹ค.

์˜์™ธ๋กœ AWS๋Š” ์‹œํฌ๋ฆฟ์˜ ๊ธฐ๋Šฅ ํ†ตํ•ฉ ์ˆ˜์ค€์ด ์ €์กฐํ•˜๋‹ค.
AWS Lambda, Batch ๊ฐ™์€ ๊ธฐ๋Šฅ๋“ค๋„ ECS๋งŒํผ์˜ ํ†ตํ•ฉ์„ ์ง€์›ํ•˜์ง„ ์•Š๋Š”๋‹ค.



์ฐธ์กฐ
https://docs.aws.amazon.com/AmazonECS/latest/developerguide/specifying-sensitive-data.html
https://stackoverflow.com/questions/57191835/aws-ecs-how-to-retrieve-specific-key-from-secret-manager
https://docs.aws.amazon.com/secretsmanager/latest/userguide/reference_limits.html
https://docs.aws.amazon.com/secretsmanager/latest/userguide/security-encryption.html?utm_source=openai