스크립트 자동화 연동

스크립트 파일 다운로드

다음 파일을 적절한 곳에 다운로드하여 압축을 해제합니다.

아래와 같은 파일들을 볼 수 있습니다.

gcloud-service-account-script-main
├── auto.sh
├── config
│   ├── apis.json
│   └── roles.json
├── config.env.template
├── README.md
└── scripts
    ├── 1_init.sh
    ├── 2_create_service_account.sh
    ├── 3_1_create_custom_role_with_permissions.sh
    ├── 3_2_create_custom_org_role_with_permissions.sh
    ├── 4_1_assign_roles_and_apis.sh
    └── 4_2_assing_org_roles_and_apis.sh

GCP 콘솔 접속 및 로그인

GCP 콘솔에 최상위 권한으로 로그인 후 콘솔에 진입합니다. 콘솔 버튼은 우측 상단에 위치해 있습니다.

조직 및 프로젝트 선택

좌측 상단의 프로젝트 선택 드롭다운을 클릭한 후, 조직 드롭다운에서 해당 조직을 선택합니다. 전체 탭을 클릭하여 모든 프로젝트를 확인합니다.

서비스 어카운트 추가를 위한 프로젝트 선택

전체 탭에서 서비스 어카운트 추가를 원하는 프로젝트를 선택합니다. 콘솔 좌측 상단에 선택한 프로젝트가 고정된 것을 확인합니다.

클라우드 콘솔 편집기 실행

콘솔 우측 상단의 Cloud Shell 활성화 버튼을 클릭하여 터미널을 활성화합니다.

팝업 창이 활성화되면 승인을 진행합니다.

콘솔 우측 상단의 편집기 열기 버튼을 클릭하여 클라우드 콘솔 편집기를 실행합니다.

편집기가 정상적으로 전환된 것을 확인합니다.

스크립트 파일 업로드

압축해제한 폴더를 좌측 파일 탐색기 영역(빨간 박스)에 드래그하여 업로드합니다.

터미널 실행

상단 검색창에 **> terminal**을 입력하고 **Create New Terminal (With Profile)**을 선택한 후, bash 프로필을 선택합니다.

스크립트 실행 준비

업로드한 폴더로 이동하여 스크립트 파일의 실행 권한을 부여합니다. 다음 명령어를 한 줄씩 입력한 후 엔터로 실행합니다.

cd gcloud-service-account-script-dev/ && ls -al
chmod +x auto.sh && ls -al

통합 스크립트 실행

./auto.sh 명령어로 통합 스크립트를 실행합니다.

./auto.sh

실행 확인 메시지가 나타나면 y를 입력하고 엔터를 누릅니다. image.png

로그인 계정을 확인한 후, 해당 계정이 맞다면 y를 입력하고 엔터를 누릅니다. image.png

설정하려는 조직을 선택하고 번호를 입력한 후 엔터를 누릅니다. image.png

해당 조직의 모든 프로젝트를 검색한 후 원하는 프로젝트의 번호를 선택하고 엔터를 누릅니다. image.png

2단계 서비스 계정 생성이 자동으로 실행됩니다. image.png

3.1 단계에서 커스텀 프로젝트 역할 생성 확인 메시지가 나타나면 y를 입력하고 엔터를 누릅니다. image.png

3.2 단계에서 커스텀 조직 역할 생성 확인 메시지가 나타나면 y를 입력하고 엔터를 누릅니다. image.png

프로젝트 레벨 권한 및 API 할당 단계에서 서비스 계정 [project-sa] 번호 또는 임의 설정한 계정 이름을 확인한 후 엔터를 누릅니다. image.png

조직 레벨 권한 및 API 할당 단계에서 서비스 계정 [project-sa] 번호 또는 임의 설정한 계정 이름을 확인한 후 엔터를 누릅니다. 모든 프로젝트에 대한 API 활성화로 인해 상당한 시간이 소요됩니다. image.png

완료

지금까지의 과정을 모두 마쳤다면 새롭게 생성한 서비스 어카운트는 조직 내의 모든 프로젝트에 Google Cloud의 서비스 계정 및 역할(Role)이 상속됩니다.

[(생성한 프로젝트) > Service Account > KEYS]에서 생성한 서비스 계정의 인증키를 JSON 형태로 다운로드합니다. 이는 SpaceONE에서 Trusted Account를 등록할 때 사용됩니다.