본문으로 건너뛰기
김신건의 로그

[AWS] Secrets Manager + Parameter Store

· 수정 · 📖 약 1분 · 208자/단어 #aws #secrets #parameter-store #security #cloud
AWS Secrets Manager, Parameter Store, SSM Parameter, secret rotation

정의

Secrets ManagerParameter Store (SSM)
가격0.05/10k API대부분 무료 (standard)
자동 회전 (Lambda)아니오
버전 관리자동수동
크기64KB4KB (standard) / 8KB (advanced)
사용DB password, API key (회전 필요)config, feature flag

어떤 걸 언제?

flowchart TD
    Q{종류}
    Q -->|회전 필요한 비밀| SM[Secrets Manager]
    Q -->|회전 없는 설정값| PS[Parameter Store standard]
    Q -->|"민감 설정값 (회전 없음)"| PSSec[Parameter Store SecureString]
    Q -->|kubernetes secret 으로 sync| ESO[External Secrets Operator]

Secret 사용

import boto3, json
sm = boto3.client('secretsmanager')
secret = json.loads(sm.get_secret_value(SecretId='prod/db')['SecretString'])
db_password = secret['password']

자동 회전

sequenceDiagram
    SM->>Lambda: rotation 시작 (예: 30일마다)
    Lambda->>DB: 새 password 생성
    Lambda->>DB: 새 password 설정
    Lambda->>SM: AWSPENDING → AWSCURRENT
    Lambda->>SM: 옛 AWSCURRENT → AWSPREVIOUS
    Note over Lambda,DB: 새 password 검증
단계label
생성AWSPENDING
활성화AWSCURRENT
보존AWSPREVIOUS
폐기(없음)

EKS 와의 통합

패턴도구
Sync to K8s SecretExternal Secrets Operator
Mount as volumeSecrets Store CSI Driver
Direct fetch in podaws-sdk + IRSA

Parameter Store: 계층

/prod/db/host
/prod/db/port
/prod/api/key
/dev/db/host
aws ssm get-parameters-by-path --path /prod/db --recursive

흔한 함정

WARNING

  1. Hardcoded fallback = 코드에 secret 평문. 절대 금지.
  2. Cross-region replication 없음 = region 장애 시 secret 미접근. Multi-region 권장.
  3. Rotation 실패 모니터링 부재 = 옛 password 만료 → 서비스 다운.
  4. Parameter Store 의 4KB 한도 = 큰 비밀 (인증서) 은 advanced 또는 Secrets Manager.

관련 위키

이 글의 용어 (3개)
[AWS] IAM: User, Role, Policy, STScloud
정의 IAM (Identity and Access Management) = AWS 의 권한 관리 전부. User, Group, Role, Policy. 객체 | 객체 | 의미 |…
[AWS] KMS: 암호화 키 관리, envelope encryptioncloud
정의 KMS (Key Management Service) = 암호화 키 중앙 관리. envelope encryption + IAM 통합 + 감사 로그. 키 종류 | 종류 | 의미…
[K8s] ConfigMap & Secret: 설정과 비밀의 분리kubernetes
정의 | | ConfigMap | Secret | |---|---|---| | 데이터 | 평문 | base64 (암호화 아님) | | 크기 | 1MB | 1MB | | 용도 | …

💬 댓글

사이트 검색 / 명령어

검색

스크롤 = 확대/축소 · 드래그 = 이동 · 0 = 원래 크기 · ESC = 닫기