티스토리 뷰

DevOps/Terraform

Terraform GCP Credentials

Reo Dongmin Lee 2019. 9. 4. 01:00

Terraform으로 GCP API 호출을 위해 credential을 추가해야는데

공식적으로 권장되는 방법은 GCP service account를 생성하여 secret key를 이용하는 방법.

 

Service Account & secret key 생성

GCP console에서 

[ IAM & admin ] -> [ service accounts ] 메뉴 선택 후

service account 생성, role 지정 후 secret key 생성. 

secret key 타입은 JSON 타입으로 지정하고 다운로드 된 key를 원하는 이름으로 변경하여 path로 지정할 위치로 이동 시킨다.

 

Add credentials

Terraform provider 안에 다음과 같이 credentials = file path를 직접 넣어줘도 되지만

provider "google" {
  credentials = "${file("/Users/myaccount/credentials/credentials.json")}"
  project     = "terraform-reo"
  region      = "us-central1"
}

이경우 secret key 위치가 소스에 노출되므로

GOOGLE_CLOUD_KEYFILE_JSON 환경 변수를 사용하는 것을 권장한다.

export GOOGLE_CLOUD_KEYFILE_JSON={{path}}

위와 같이 secret key 파일 path를 환경변수로 지정하면 provider 안에 credentials 변수 값을 따로 지정하지 않아도 된다.

위 명령어를 terminal에서 수행할 경우 해당 session에서만 유효하니 

bash_profile 이나 .profile 파일에 해당 라인을 추가하자.

윈도우 환경이라면 [제어판] - [시스템] - [고급시스템 설정] - [환경변수] 로 들어가서 환경변수를 추가해준다.

 

 

 

'DevOps > Terraform' 카테고리의 다른 글

Terraform GCP resource dependencies  (0) 2019.09.04
Terrafrom 으로 Google Cloud Instance 생성하기  (3) 2019.08.08
댓글