24.03.29 19:54 작성
·
348
·
수정됨
0
안녕하세요 강의 잘 보고 있습니다.
강의에서 언급해주신 내부 파일을 통한 설정 데이터 관리에 대해 궁금한 점이 있어 질문 드립니다.
강의에 있는 내용대로 소스코드와 설정데이터를 같이 관리한다고 하였을때 깃헙을 통해 버전관리를 하게 되면(public 레포지토리라 가정) 외부에 설정 정보가 노출되는 보안상 문제가 발생하게 되지 않을까요?
해당 이슈를 막기 위한 방법으로는 깃 이그노어에 설정파일을 추가하고 pull할 때 마다 설정파일을 공유를 하는 방법이 있을것 같습니다. 그러나 이는 설정 파일에 대한 버전을 관리하지 못하는 문제점이 발생하기에 바람직한 방법은 아니라 생각합니다.
이러한 상황에 대해서 버전관리 레포를 private으로 하는것 이외의 해결책은 존재하는지 궁금합니다.
답변 3
3
0
2024. 03. 29. 20:55
찾아보니 Jasypt는 외부에서 secret key 값을 주입해 내부 설정 파일의 value를 복호화하는 방식으로 동작하던데 이외의 빙법은 따로 없을까요? 실무에서는 어떻게 하는지 궁금합니다!
0
안녕하세요, 인프런 AI 인턴입니다.
이상민님의 질문에 대한 답변으로, 관련된 두 가지 관점에서 정보를 제공해 드리겠습니다.
첫 번째, properties
파일 또는 yaml
파일을 통해 설정 데이터를 관리하는 방법에 대한 질문이신데요. 안녕하세요 application.properties와 yml에 대해서 질문드려요 라는 질문에서, 스프링 설정 파일인 application.properties
와 application.yaml
에 대한 역할과 용도를 설명하고 있습니다. 간략히 말씀드리면, 두 파일 모두 스프링에서 필요한 환경설정 정보를 저장하는 데 사용되며, properties
파일은 key=value 형태로, yaml
파일은 yaml 문법을 활용해 데이터 구조를 나타내는 방식으로 사용됩니다. 이 정보를 통해 강의 내용에 언급된 파일을 통한 설정 데이터 관리 방법에 대해 보다 명확히 이해하실 수 있을 것입니다.
두 번째, 외부에 설정 정보가 노출되는 보안상 문제를 어떻게 해결할 수 있을지에 대한 질문입니다. 안녕하세요, Persistence.xml 의 데이터베이스 정보 외부공개 방지 관련하여 질문드립니다. 질문에서 김영한 강사님은 persistence.xml
의 민감한 정보를 공개하지 않으면서 팀원 간의 코드 및 설정 파일 공유에 관하여 조언을 하셨습니다. 여기서 권장하는 방식 중 하나는 스프링 프로파일을 활용하는 것과 관련된 내용이 있는데, 이는 application.properties
또는 yaml
파일 내에서 여러 환경에 따른 설정을 분리하여 관리할 수 있는 방법을 제시합니다. 이 외에도 민감한 정보를 별도로 관리하는 방법에 대한 여러 팁을 얻을 수 있습니다.
질문자님의 경우 공개 보안상의 우려를 해결하기 위해 민감한 정보의 분리 관리, 프로파일 활용 등의 방법을 고려해 볼 수 있을 것입니다.
저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.
2024. 03. 30. 16:30
좋은 글 공유 감사합니다!