0. 들어가며...
왜 API KEY를 숨겨야 할까?
사실 .gitignore 파일에 관해 대충 알고있었지만, News API를 사용해 프로젝트를 진행하던 중, api키를 그대로 깃허브에 올리게되면 다른 누군가가 내 api키를 이용해서 무엇인가??를 할 수 있기때문에 되돌릴 수 없는 일이 일어날 수 있다는 것을 들었던 기억이 나서 이번 기회에 정리해보고자 글을 적는다.
다른 블로그들을 보다보니
😱 AWS 해킹당한 경험담 실제로 Github에 API KEY를 숨기지 않고 올려서 150만 원 정도 청구된 사례가 있다고 한다.
News API의 경우에는 저런 일이 일어날 것 같지는 않지만, 굳이 안좋은 일이 일어날 수 있는 일을 사전에 방지하는 습관을 갖자는 생각으로 글을 적는다.
1. [ .gitignore] 란?
.gitignore파일이란 Git 버전 관리에서 제외할 파일 목록을 지정하는 파일이다.
git으로 프로젝트를 관리할 때, 그 프로젝트 안의 특정파일들은 Git으로 관리할 필요가 없는 경우가 있다.
예를들면,
1. NodeJS-Express로 개발할 때 npm module
2. Java 컴파일된(.class) 파일AWS 비밀 키
3. JWT 비밀 키 등등이 있다.
npm 모듈은 용량이 크기도 하고, 프로젝트를 clone 받은 다음에 직접 npm install 해주는 것이 더 효율적이기 때문에 올리지 않는다.
그리고 AWS 키, JWT 비밀 키 같은 것은 Github에 public으로 노출이 되면 악용될 사레가 있기 때문에 올리지 않아야 한다.
2. gitigore 설정하는 방법
✅ 기본적으로 내가 vscode를 사용해서 vscode로 설명하겠다.
1. apykey.js file을 만들고 나의 API KEY를 넣는다.
2 .API KEY를 사용할 파일에서 import하여 사용해준다.
3. 변수에 받아와 사용하면된다.
4. .gitigonre를 만들어 사용하고 apikey.js file을 제외한다.
아래 사진과같이 .gitignore 파일에 apikey.js 를 입력해주면 무시되어 올라간다.
3. 변수에 받아와 사용하면된다.
✅ 실제로 github를 확인하면 원하는 대로 apikey.js 파일은 올라가지 않은 것을 확인할 수 있다.
✅ 무시된 apikey.js 파일명이 위와같이 흑백색으로 처리되는게 확인된다.
폴더 전체를 무시하는 방법도 있는데, 당장에 쓸 일이 없어 정리는 이쯤으로 간단하게 마무리 하겠다.
reference site
https://kotlinworld.com/269#%EC%A-%BC%EC%-D%--%ED%--%B-%EC%--%BC%ED%--%A-%--%EC%A-%--
https://velog.io/@kimjumpsun_code/Github%EC%97%90-API-Key-%EC%88%A8%EA%B8%B0%EA%B8%B0
Github에 API Key 숨기기
이번 5월 노마드 챌린지를 하기 이전에 나는 이미 api key를 그대로 push 했었다. 그나마 다행인건 private으로 올렸다는 것인데.. 이번 기회에 환경변수를 사용하지 않는 간단한 방법을 알게되어 기
velog.io