본문 바로가기
IT정보

[AWS] 공짜로 아이디/패스워드를 안전하게 관리하는 방법

by IT백화점 2024. 3. 10.

AWS에서 데이터베이스의 접속정보나 키 정보를 안전하게 관리하기 위해 일반적으로 Screat Manager를 사용할 것이다. 

하지만, Screat Manager는 유료(API 호출 1만 건당 0.05 USD)이다. 

물론, 처음 사용자에게는 30일간 무료 기간을 제공하지만 언젠가는 비용을 지불해야만 한다.

 

Parameter Store란

AWS에서는 공짜로 아이디/패스워드 등을 평생 무료로 안전하게 저장하고 관리할 수 있는 방법이 있는데, 그것이 바로 Systems Manager의 Parameter Store 기능이다. 

 

Systems Manager Parameter Store

 

Parameter Store는 Key : Value 형식으로 값을 저장되며, 

저장되는 값은 문자열, 문자열 list, 보안문자열 방식으로 저장할 수 있다. 

특히, 보안문자열방식을 선택하면 KMS 키를 사용하여 데이터를 암호화 한다. 

 

 

Parameter Store 특징

Parameter Store는 다음과 같은 특징을 갖는다.

 

1. 계층구조

Parameter Store의 계층구조는 "/"로 표현이 되며,  계층구조는 파라미터를 조회할 때 편리하게 해준다. 

예를 들어  /Dev/DBServer/MySQL/* 를 하여 MySQL 계층의 모든 값을 가져올 수도 있고, /DEV/DBServer/* 를 하여 DBServer 하위 계층의 모든 값을 가져올 수도 있다. 

 

또한, 계층으로 구분하여 저장하면 관리하기도 용이하다. 

 

2. 암호화

Parameter Store에 저장하는 값을 암호화하여 저장할 수 있다. 

 

 

위와 같이 저장하는 유형을 '보안 문자열'로 선택하면 KMS 키를 사용하여 값이 암호화하여 저장된다. 

 

 

3. 버전관리

Parameter Store에 저장된 값이 변경되면 그 이력이 버전으로 관리가 되며, 값을 불러올때도 특정 버전의 값을 불러오는 것도 가능하다. 

 

 

위와 같이 password를 수정하여 두 개의 버전이 생겼을때,  /Dev/DBServer/MySQL/password:1  이라고 하면 버전 1의 값을 가져올 수 있다. 

 

 

4. 레이블

각 버전에는 레이블을 지정할 수 있으며, 레이블을 기준으로 값을 불러올 수도 있다.  

한 버전에는 최대 10개 까지의 레이블을 지정할 수 있다. 

 

 

위와 같이, 버전에 레이블을 지정하여 host마다 다르게 비밀번호를 설정하여 사용할 수도 있다.