728x90
- 시스템 셋팅
AWS CLI 설치 : https://docs.aws.amazon.com/ko_kr/cli/latest/userguide/install-macos.html
AWS 인증용 profile 셋팅 : profile 명 exkr-kms
$ aws configure --profile exkr-kms
AWS Access Key ID [None]: AKIAJHQMLLDJRWODVZBQ
AWS Secret Access Key [None]: 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
Default region name [None]: ap-northeast-2
- KMSManager 사용법
aws/KMSManagerExample.java
- KMSManager 초기화
KMSManager kmsManager = KMSManager.getInstance();
kmsManager.init((String) System.getProperties().get("exkr.kms.alias"));
- 사용자별(uid) cipher 생성
String cipher = kmsManager.createCipherWithUID(uid);
- uid와 cipher로 암호화
String encrypted = kmsManager.encryptWithUID(uid, plain, cipher);
- uid와 cipher로 복호화
String decrypted = kmsManager.decryptWithUID(uid, encrypted, cipher);
서비스 프로퍼티 암호화 : 실행 옵션 exkr.kms.cipher 사용하여 암/복호화
예제 소스들 ~~~~
예제 프로젝트
1. resources/META-INF/spring.factories 추가
org.springframework.context.ApplicationContextInitializer=com.example.springapiexample.init.DecryptPropertiesContextInitializer
2. resources/application.properties 에 예제 프로퍼티 추가
exkr.test={cipher}743QDr/oHPyshILBgJURgXfqyUe4ZHgpKDx2qRwVR1k=
3. curl -si localhost:8080/greeting 호출시 exkr.test 복화화되어 출력 '안녕하세요!'포함한 문자열
{"id":1,"content":"Hello, 안녕하세요?! with World pwd"}
~~~
끝!
'Back-end > 기타' 카테고리의 다른 글
Optional 클래스(2) : ispresent() vs ifpresent() 차이 (0) | 2023.04.11 |
---|---|
Optional 클래스(3) : orElse()와 orElseGet() 차이 (0) | 2023.04.11 |
AI는 과연 어디까지 선을 넘을까? (0) | 2022.12.13 |
웹 화면 전체를 회색으로 변하게 하는 가장 효율적인 방법은? (0) | 2022.12.09 |
Rest api url 패턴정의시 아래와 규칙을 참고하자 (0) | 2022.12.07 |