ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 스프링부트 GCS 연동 part1
    Java&Spring/Spring 2023. 1. 25. 14:59

    서문:

    스프링 부트와 gcs 연동에 관한 글이다. 

     

    관련 블로그를 찾아 따라할려고 했지만 , 서버를 로컬에서 돌리고 가상 인스턴스에 올리지 않는 가정에서 시작하여 차이가 있다.

     

    1. gcs 가 발급을 하는 키중 하나인 json 파일을 보안상의 문제로 github 에 올릴 수가 없다.

    2. 이전 프로젝트에서 aws s3 를 이용하여 구축을 했던 설정처럼 Iam 유저에서 secret key 와 access key 값을 뽑아 yml 파일에 입력하는 방식으로 진행을 하고자한다.

     

    사전 준비 사항

    1. GCP VM 인스턴스 외부 , 내부 ip 확인 

     

     

     

    ----------------------------------------------------------------------------------------------------------------------

    ----------------------------------------------------------------------------------------------------------------------

     

    1. 구글 클라우드에 버킷을 만들자

     

    GoogleCloud Console > 좌측 상단 메뉴 > Cloud Storage >버킷 클릭

    좌측 상단 + 만들기 클릭

     

     

    2.

        - 이름 : 적당히 만든다 , 버킷의 이름은 고유하고 수정이 불가하니 잘 적자

         - 데이터 저장 위치는 단일 지역으로 설정했다 : 앱에 들어가는 사진의 조회 및 수정 업로드 등 활발할것으로 예상을 한다.

    3. 버킷 사용 목적의 맞는 스토리지 클래스를 해주자.  사용자 이미지 업로드 용이기 때문에 Standard 로 설정했다.

       

       

    옵션 선택후   만들기 버튼을 누르면 잠시후 버킷이 생성이 된다.

    ----------------------------------------------------------------------------------------------------------------------

    ----------------------------------------------------------------------------------------------------------------------

     

    2. IAM

    버킷에만 접속이 가능한 서비스 계정을 만들어 줄것이다.

    모든 서비스를 관리하는 계정의 고유 정보가 노출이 돠면 보안상의 문제가 정말 크기 때문에 가능하면 역할을 세분화 하는것을 권장을 한다.

     

    Cloud Storage 의 대한 IAM 역할의 정확한 설명은 공식 문서를 참고하자.

    https://cloud.google.com/storage/docs/access-control/iam-roles

     

     

    2-1.  메뉴 -> Iam 및 관리자 서비스 계정

     

     

    2-2  만들기 클릭 후 이름 설정을 해주자

     

     

    2-3  접근 가능한 역할을 설정하는 중요한 부분이다.  공식문서를 참고하여 필요한것을 추가해주자.

    TIP ) 필터에 찾는게 어려워서 좌측에서 cloud storage 를 찾은후 역할을 추가했다.

     

    추가한 역할 

    1. 스토리지 전송 에이전트

    2.저장소 개체 관리자

    3.저장소 관리자

    4.저장소 전송 관리자

    -> 생성후 자신의 프로젝트의 Iam 페이지에서 권한을 추가하거나 삭제 가능하다.

     

     

    2-4 만든 서비스계정의 키를 추가해 주자.

    만든 서비스계정 ->  키 -> 키추가 -> 새키 만들기 json

    새키 만들기 눌러 준다.,

     

     

    ----------------------------------------------------------------------------------------------------------------------

    ----------------------------------------------------------------------------------------------------------------------

    3. 코드는 많으니 다음 블로그에서,,

Designed by Tistory.