SI 프로젝트에서 고객사에서 요구하는 조건은 제 각각 이지만 AWS 기반의 프로젝트 에서는 보통 SecretManager 와 KMS(KeyManagementService)를 활용하여 id나 password와 같은 비밀정보를 저장하고 DB에 패스워드등을 저장할때는 KMS를 활용하여 컬럼 암호화를 진행 후 DB에 저장하는게 대부분이다.
이번 프로젝트도 SecretManager와 KMS를 활용하여 민감정보와 개인정보를 저장하고 관리 하였다.
관련 내용은 아래와 같다.
AWS 시크릿 매니저와 KMS를 사용하여 애플리케이션의 비밀정보와 민감정보를 관리한 방법을 설명.
비밀번호 관리 (AWS 시크릿 매니저)
애플리케이션을 개발하면서 비밀번호와 같은 비밀정보를 안전하게 관리하는 것이 중요하다.
이전 프로젝트 에서는 이를 위해 AWS 시크릿 매니저를 사용했다.
먼저, 애플리케이션의 비밀번호를 시크릿 매니저에 저장하면 비밀정보를 안전하게 관리할 수 있고, 필요할 때만 접근할 수 있다.
애플리케이션이 실행될 때는 AWS SDK를 사용하여 시크릿 매니저에서 비밀정보를 조회하여 사용 가능하다.
이를 통해 코드 내에 비밀번호를 하드코딩하지 않고, 안전하게 비밀정보를 사용할 수 있었다.
이렇게 하면 비밀번호가 노출될 위험을 줄일 수 있다.
민감정보 관리 (KMS를 통한 DB 컬럼 암호화)
데이터베이스에 민감정보를 저장할 때는 AWS KMS를 사용하여 데이터를 암호화했다.
먼저, KMS를 사용하여 데이터베이스 컬럼을 암호화하기 위한 키를 생성한다.
이 키는 민감정보를 암호화하고 복호화하는 데 사용된다.
데이터베이스에 민감정보를 저장할 때는 애플리케이션에서 KMS 키를 사용하여 데이터를 암호화했다. 이를 통해 데이터베이스에 저장된 민감정보가 보호된다. 데이터베이스에서 민감정보를 조회할 때는 KMS 키를 사용하여 데이터를 복호화 후 사용 한다.
이를 통해 애플리케이션이 민감정보를 안전하게 사용할 수 있다.
이와 같은 방법으로 AWS 시크릿 매니저와 KMS를 활용하여 애플리케이션의 비밀정보와 민감정보를 안전하게 관리 가능하다.
- 끝 -
'플젝 구현내용 정리' 카테고리의 다른 글
웹 방화벽(WAF)과 일반 방화벽(FireWall) 그리고 인프라 보안 (4) | 2024.09.04 |
---|---|
NLB(L4)와 ALB(L7) 로드밸런서로 서비스 구현 (0) | 2024.09.03 |
사이드카 패턴을 적용한 Service Mesh (Envoy Proxy) 적용기 (0) | 2024.09.03 |
그라파나(Grafana), 프로메테우스(Prometheus), MongoDB (1) | 2024.09.03 |
DBMS 인덱스 적용 사례 (0) | 2024.09.03 |