DevOps
AWS Secrets Manager, KMS(Key Management Service)
팅리엔
2021. 4. 20. 23:44
AWS Secrets Manager
AWS의 비밀 값 관리 서비스
비밀 값들을 Secrets Manager에 저장하고, 애플리케이션에서 API를 통해 이 비밀 값들을 가져가 사용한다.
사용 절차
- Secrets Manager에 '비밀'을 만들고, 그 안에 key, value 형태의 비밀 값들을 등록한다.
- AWS CLI나 SDK를 사용해서 Secrets Manager에 비밀 값을 요청한다.
- 비밀 값을 요청할 때 특정 IAM 사용자로서 요청해야 하며, 이 사용자에게 비밀 값 조회 권한이 있다고 판단되면 비밀 값을 준다.
KMS (Key Management Service)
암호화 하는 데 사용되는 키를 관리하는 서비스
여기에 등록한 키를 다른 AWS 서비스가 가져다가 암호화를 진행한다.
Secrets Manager의 장점
- '비밀'이라는 단위 안에 '비밀 값'들을 저장하므로 애플리케이션별로, 또는 환경별로 비밀 값들을 관리할 수 있다.
- 각 값에 대한 변경 이력이 남으며 삭제해도 일정 기간 동안은 보존된다.
- IAM 권한을 통하여 일부 관리자만 비밀 값에 접근하게 할 수 있다.
파라미터 스토어
AWS Systems Manager 서비스에 Secrets Manager와 비슷한 파라미터 스토어 기능이 있다.
- 키/값 쌍으로 값 저장
- KMS 이용해 암호화된 값 저장
- IAM 이용해 일부 사용자만 접근 가능
- AWS CLI, SDK 등 이용해 접근 가능
- 값의 변경 이력 저장
차이점?
- 파라미터 스토어는 무료 / Secrets Manager는 보안 정보당 월 0.40 USD, API 호출 1만 건당 0.05 USD
- Secrets Manager는 RDS와 직접적 연동 가능
- Secrets Manager는 값 삭제 후 일정 기간동안 복원 가능