jphwany 2022. 8. 9. 01:30

● 계획

  •     오늘 나의 학습 목표

Github Action을 통한 배포 자동화 Flow 이해

자동화를 진행하는 파일들의 단계별 진행 내용 이해


● 점검 및 평가

  •     새롭게 학습한 내용은
  •     이해되지 않은 부분은
  •     보완하기 위해 무엇을

 

Github를 이용해서 그런지 파이프라인 배포 자동화보다는 좀 더 직관적이고 깔끔했다

 

빌드 결과물 저장하는 S3 버킷을 만들고

Github 레포지토리에 실습 프로젝트를 commit ,push 을 해놓는다

여기서 주의할 점은 Git Actions을 활용하기 위해선 공개범위를 public으로 해놓아야

한다는 점이다

….그리고 이 부분은 나중에 굉장한 실수를 불러오게된다

 

workflow를 빈 yml 설정파일로 설정하는데 기존의 gradle 빌드가 기본 설정된 구성을

사용했다

 

workflow를 실행하는 과정에서 액세스 키가 필요하지만

이게 공개되면 보안 이슈가 발생할 수 있기 때문에

Github Secret을 사용해서 액세스 키 값을 변수에 담고 사용해야했다

 

여기서 나는 실수를 했다.

 

name: Configure AWS credentials       uses: aws-actions/configure-aws-credentials@v1       with:         aws-access-key-id: ${{ secrets.AWS_ACCESS_KEY }}         aws-secret-access-key: ${{ secrets.AWS_SECRET_ACCESS_KEY }}         aws-region: ap-northeast-2

 

이 부분에서 aws-access-key-id, aws-secret-access-key 부분을

아까 변수 설정한 이름 그대로 가져왔어야 했다

 

왜냐하면 ${{ secrets . 변수명 }} 의 형식으로 담기 때문이다

 

그런데 나는 잘 모르니까 그냥 멍청하게 값에다가

실제 액세스 키와 값을 집어넣고.. 커밋 푸쉬를 했다……..

 

나중에 aws 측에서 어느 유저가 보안 이슈를 범했다고 연락이 왔다고 한다

나만 그런건지 다른 사람들도 그런건지는 모르겠으나

 

정말 심장이 아찔했다.. 이게 그냥 권한도 별로 없는 연습용 계정이었다지만

실제 실무환경에서 이런 행동을 했다고 생각하면 …….끔찍하다

 

두 번 다시는 보안 쪽에서 안일하게 생각하지 말아야겠다

 

제대로 학습 내용을 이해 못한 것이다

 

왜 변수명을 사용해서 키 값을 따로 지정해줬는지.

yml 파일 구조에 대해 제대로 찾아보지 않은 점.

깃허브 커밋 푸쉬를 하는데 심지어 public이라 누구에게도 보일 수 있었다는 것을 망각한 것.

 

정말 많이 반성해야겠다

앞으로 이런 일이 일어나지 않게끔 경각심을 가지고 공부해야겠다