앞선 글에서 GCP의 계층 구조(Organization → Folder → Project)에 대해 정리했다면, 이제 그 구조를 누가, 어떤 권한으로 사용할 수 있을지를 설정하는 것이 다음 단계입니다.
GCP에서는 IAM(Identity and Access Management)을 통해 사용자에게 권한을 부여하고, Cloud Identity를 통해 조직 내 계정을 관리할 수 있습니다.
이 글에서는 GCP에서 사용자를 관리하고 권한을 부여하는 흐름을 조직이 있는 경우와 조직이 없는 경우로 나눠서 설명합니다.
1. 조직(Organization) 없이 GCP를 사용하는 경우
조직 없이 GCP를 사용하는 경우는 대부분 다음과 같은 상황이다:
- 개인 Gmail 계정으로 프로젝트를 생성한 경우
- 조직 구조를 만들지 않고 빠르게 테스트 환경을 구성한 경우
이 경우 GCP는 No organization
상태로 표시되며, IAM에서 사용자의 이메일을 직접 입력하여 권한을 부여하게 된다.
사용자의 목록을 확인 하는 별도의 메뉴가 없으며, 권한을 부여하지 않았다면 해당 프로젝트에 어떤 사용자가 있는지 확인이 어렵다.
[권한 부여 방법]
- GCP Console > IAM & Admin > IAM
+ Add
버튼 클릭- 사용자 이메일 입력
- Viewer, Editor, Owner 등의 역할 선택 후 저장
조직이 없는 프로젝트를 만들었으며 아래와 같은 환경에서 구성 해봅니다.
현재 해당 프로젝트에는 최초 생성자(yami4744@gmail.com)의 계정만 존재
"엑세스 권한 부여"를 클릭하면 아래와 같은 화면이 표시되며 사용자(이메일)과 권한을 선택하여 추가 할 수 있습니다.
맞지 않는 사용자를 추가하려고 하면 아래와 같은 오류가 표시됩니다.
기본적으로 허용되는 계정은 구글 계정(@gmail.com이 아니여도 가능), Google Workspace / Cloud ID 계정에 연결되어있어야 합니다.
아래 계정은 구글계정이며 이메일(회사)로 연결되어있습니다.
아래와 같이 초대에 대한 내용을 메일로 전달합니다.
계정명(이메일 : 여기서는 @sk.com)로 직접 전송됩니다.
아래와 같이 수락에 대한 링크가 있으며, 클릭하여 수락을 진행합니다.
링크를 눌러 로그인을 하면 아래와 같이 "2단계 인증" 설정에 대해 확인하며, "초대 수락"을 누르면 해당 프로젝트에 부여된 권한을 획득합니다.
아래와 같이 초대된 사용자가 GCP Console을 이용할 수 있는 상태가 되었습니다.
그 외에 초대 링크를 전달받지 못하거나, 수락하지 않은 경우는 GCP를 이용할 수 없습니다.
아래와 같이 "느낌표" 표시로 남아있으며, 실제로 로그인을 해서 콘솔에 접근해도 해당 프로젝트에 대해 확인이 불가능합니다.
2. 조직(Organization)과함께 GCP를 사용하는 경우
Cloud Identity 또는 Google Workspace를 통해 조직을 구성한 경우에는
GCP 리소스가 Organization 하위에 생성되고, 사용자 계정은 Admin Console에서 관리됩니다.
IAM은 여전히 역할 부여 도구로 사용되지만, 사용자는 조직에서 생성한 계정 또는 그룹을 통해 관리한다.
[권한 부여 방법]
- Admin Console에서 사용자 계정 생성
- 필요한 경우 Google Group에 사용자 추가
- GCP IAM에서 해당 사용자 또는 그룹에 역할(Role) 부여
조직 & 프로젝트를 구성되어있는 상태에서 사용자 추가를 구성 해봅니다.
현재 조직 생성시에 만든 Admin 계정(yami2254@yamistudy.store)만 보이는 Admin Console 화면입니다.
사용자 탭에서 "새 사용자 추가"를 클릭합니다.
아래와 같이 사용자를 입력할 수 있으며, 보조이메일 및 전화번호는 필수 항목이 아닙니다.
정상적으로 생성이 되면 아래와 같은 화면이 표시됩니다.
아래 표시된 문구처럼 현재 환경은 Cloud Identity만 사용하기 때문에 이메일이 전송되는 것은 없습니다.(Cloud Workspace를 사용하면 로그인 링크 제공됨)
여기서는 두 개의 사용자를 추가해두었습니다.(testuser1 : 홍길동, testuser2 : 김스벅)
추가된 사용자 계정으로 로그인을 하면 최초 아래와 같이 휴대폰 번호로 "본인 인증"과정을 진행합니다.
본인인증이 완료되면 아래와 같이 정상적으로 GCP Console에 접속이 가능함을 확인 할 수 있습니다.
다만, 제약사항은 아래와 같은 것들이 존재 합니다.
- Cloud Identity로 만들어진 사용자가 최초 로그인시에 본인인증을 휴대폰 번호로 하나 고유해야 합니다.
- 사용자들간에 다른 휴대폰 번호를 써야하며 1:1로 매핑됩니다.
- 그렇지 않은 경우라면 아래와 같이 로그인이 불가능합니다.
- 조직과 다른 도메인을 가진 사용자를 추가하고자 하면 "조직 정책"에서 아래 정책을 "비활성화" 해야합니다.
- "Domain restricted sharing"에 대해서 아래는 현재 "활성"상태이며 해당 값이 기본값
- 해당 정책을 아래와 같이 규칙을 "모두 허용"으로 수정합니다.
- 수정이 완료되면 아래와 같이 "비활성"으로 변경됩니다.
- 그럼 아래와 같이 IAM에서 권한을 부여할수 있으며, 로그인시에도 정상적인 콘솔 접근이 가능함을 확인할 수 있습니다.
마무리
GCP는 조직 없이도 사용할 수 있지만, 운영 환경에서는 조직 + Cloud Identity 기반 사용자 관리를 통해 보안과 효율성을 확보하는 것이 중요합니다.
조직이 없으면 보안 관련 리소스를 사용하는데 제약사항이 있으며, 콘솔 접근제어, VPC SC(Service Control)등 Enterprise 급의 보안요건을 충족하기 어렵습니다.