설정 암호화
SQ Official Doc Link: https://docs.sonarqube.org/display/SONAR/Settings+Encryption
Table of Contents
암호화(encryption)은 대부분 환경설정에서 비밀번호를 제거하기 위해 (데이터베이스 혹은 SCM 인증 등) 사용합니다. 구현된 솔루션은 대칭 키 알고리즘(symetric key algoithm)에 기반합니다. 핵심 포인트는 비밀 키가 디스크의 보안 파일에 저장된다는 점입니다. 이 보안 파일은 SonarQube Server를 기동했거나, SonarQube Scanner, SonarQube Ant Task, SonarQube Maven Task 혹은 지속적인 통합(continuous integration) 서버로부터 분석을 실행한 시스템 계정의 사용자가 소유하며, 해당 사용자만 그 내용을 읽을 수 있습니다.
AES 128 bit 알고리즘을 사용하며, 자바 가상 머신에서 제공하지 않는 256 bit 암호화는 지원하지 않습니다(링크 참고(영문))
1. 비밀 키 생성
고유한 비밀 키는 SonarQube 인프라스트럭처(서버 및 분석기)에서 모두 공유합니다. 비밀 키를 생성하려면 Administration > Configuration > Encryption 메뉴에서 Generate Secret Key를 클릭합니다:
2. SonarQube 서버에 비밀 키 저장
생성한 비밀 키를 파일에 복사합니다:
sonar-secret.txtbIOVA1TybepjqLH+uYxuNh==
비밀 키를 저장한 파일을 SonarQube server 호스팅 머신에 저장합니다(기본 위치:
~/.sonar/sonar-secret.txt
). 임의의 위치에 저장하고자 하는 경우 SONARQUBE_HOME/conf/sonar.properties 파일의sonar.secretKeyPath
에 해당 저장소의 경로를 입력합니다:SONARQUBE_HOME/conf/sonar.properties... # On Linux sonar.secretKeyPath=/path/to/my/secure/location/my_secret_key.txt # On Windows # (use / or \\ as directory separator) sonar.secretKeyPath=C:/path/to/my/secure/location/my_secret_key.txt ...
- 해당 파일의 접근 권한을 SonarQube server 실생 계정으로 제항합니다(파일 소유(ownership) 및 읽기-전용(read-access only) 설정).
- SonarQube server를 재시작합니다.
3. 사용자 설정의 암호화 값 생성
Administration > Configuration > Encryption 메뉴에서 사용자 설정에 대한 암호화 값을 생성합니다:
4. SonarQube server 환경 설정에서 암호화 한 사용자 설정값 사용
암호화 된 값을 복사하여 SONARQUBE_HOME/conf/sonar.properties에 입력합니다:
sonar.jdbc.url=jdbc:oracle:thin:@172.16.199.130/XE sonar.jdbc.username=sonar sonar.jdbc.password={aes}CCGCFg4Xpm6r+PiJb1Swfg== # 암호화 한 데이터베이스 접속 비밀번호 ... sonar.secretKeyPath=C:/path/to/my/secure/location/my_secret_key.txt
이후 SonarQube server를 재시작합니다.
© 2017-2018 Moses Kim.
별도의 언급이 없는 한, 이 스페이스의 컨텐츠는 크리에이티브 커먼즈 저작자표시-비영리-동일조건변경허락 4.0 국제 라이선스에 따라 이용할 수 있습니다.
SONARQUBE는 SonarSource SA의 트레이드 마크입니다. 모든 트레이트 마크 및 저작권은 각 소유자의 소유물입니다.
::: SonarQube 관련 문의 : 이메일 :::