액세스 제어 개요

기본적으로 모든 Google Cloud 프로젝트에는 원래 프로젝트 생성자인 단일 사용자가 존재합니다. 그 외 다른 사용자에게는 프로젝트에 대한 액세스 권한이 없으므로 사용자를 프로젝트 구성원으로 추가할 때까지는 Compute Engine 리소스에 대한 액세스가 특정 리소스로 제한됩니다. 이 페이지에서는 새 사용자를 프로젝트에 추가하는 다양한 방법과 Identity and Access Management(IAM)를 사용하여 Compute Engine 리소스의 액세스 제어를 설정하는 방법을 설명합니다.

Compute Engine 인스턴스에서 실행되는 애플리케이션에 대한 액세스 권한을 제공하는 방법은 승인 확인 방법을 참조하세요.

사용자 액세스 제어 옵션

Compute Engine 리소스를 만들고 관리할 수 있는 권한을 사용자에게 부여하려면 사용자를 팀 구성원으로 프로젝트나 특정 리소스에 추가하고 IAM 역할을 사용하여 권한을 부여합니다.

팀 구성원은 유효한 Google 계정이 있는 개별 사용자, 외부 ID 공급업체의 사용자 계정, Google 그룹, 직원 ID 풀의 ID 그룹, 서비스 계정 또는 Google Workspace 도메인일 수 있습니다. 팀 구성원을 프로젝트나 리소스에 추가할 때 구성원에게 부여할 역할을 지정합니다. IAM은 세 가지 유형의 역할, 즉 사전 정의된 역할, 기본 역할, 커스텀 역할을 제공합니다.

리소스는 GCPGoogle Cloud리소스 계층 구조의 상위 리소스에 적용된 정책을 상속합니다. 리소스의 유효 정책은 해당 리소스에 설정된 정책과 상위 리소스에서 상속된 정책의 합집합입니다.

사전 정의된 Compute Engine 역할

사전 정의된 역할은 관련 권한 집합을 부여합니다. Compute Engine은 다음과 같은 사전 정의된 역할을 제공합니다.

역할 칭호 기능 대상 사용자
Compute Engine 이미지 사용자

다른 프로젝트의 이미지를 나열하고 사용할 수 있는 권한입니다. 다른 역할과 함께 이 역할을 특정 멤버에 부여하면 해당 멤버가 다른 프로젝트의 이미지를 사용해서 새 리소스를 만들 수 있습니다. 예를 들어 이 역할과 인스턴스 관리자 역할을 부여하면 해당 구성원이 다른 프로젝트의 이미지를 사용하여 VM 인스턴스와 영구 디스크를 만들 수 있습니다.

관리형 인스턴스 그룹을 만들거나 Deployment Manager를 사용하여 VM 인스턴스를 만드는 경우에 다른 프로젝트의 이미지를 사용하려면 먼저 프로젝트의 Google API 서비스 계정에 이 역할을 부여해야 할 수 있습니다.

  • 서비스 계정
  • 시스템 관리자
  • 개발자
Compute Engine 인스턴스 관리자(v1)

Compute Engine 인스턴스, 인스턴스 그룹, 디스크, 스냅샷, 이미지를 관리할 수 있는 전체 권한을 제공합니다. 모든 Compute Engine 네트워킹 리소스에 대한 읽기 전용 액세스 권한이 부여됩니다.

구성원이 서비스 계정으로 실행되도록 구성된 VM 인스턴스를 관리하는 경우 VM 인스턴스에 서비스 계정을 할당할 수 있도록 roles/iam.serviceAccountUser 역할도 부여해야 합니다.

  • 시스템 관리자
  • 개발자
Compute Engine 관리자 역할

모든 Compute Engine 리소스를 관리할 수 있는 전체 권한입니다. 사용자가 서비스 계정으로 실행되도록 구성된 VM 인스턴스를 관리할 경우 roles/iam.serviceAccountUser 역할도 부여해야 합니다.

  • 시스템 관리자
  • 개발자
Compute Engine 네트워크 관리자

방화벽 규칙과 SSL 인증서를 제외하고 네트워킹 리소스를 생성, 수정, 삭제할 수 있는 권한입니다. 네트워크 관리자 역할에서는 방화벽 규칙, SSL 인증서, 인스턴스에 대한 읽기 전용 액세스(임시 IP 주소 보기) 권한이 허용되지만 네트워크 관리자 역할은 구성원이 인스턴스를 생성, 시작, 중지 또는 삭제할 수 있는 권한을 제공하지 않습니다.

네트워크 관리자
Compute Engine 보안 관리자

방화벽 규칙과 SSL 인증서를 생성, 수정, 삭제할 수 있는 권한입니다.

보안 관리자
Compute Engine 부하 분산기 관리자베타

부하 분산기와 관련 리소스를 생성, 수정, 삭제할 수 있는 권한입니다.

부하 분산기 관리자
Compute Engine 서비스 계정 사용자

서비스 계정을 사용하는 인스턴스를 만들 수 있는 권한과 이미 서비스 계정으로 실행되도록 구성된 인스턴스에서 디스크를 연결하고 메타데이터를 설정할 수 있는 권한입니다.

이 역할에서는 Compute Engine API에 대한 어떠한 권한도 제공하지 않으므로 이 역할 자체만 부여할 수 없습니다. 인스턴스 관리자 역할과 같은 다른 역할과 함께 이 역할을 구성원에게 부여해야 합니다.

  • 시스템 관리자
  • 개발자
Compute Engine 뷰어 역할

Compute Engine 리소스를 가져와 나열할 수 있지만 리소스에 저장된 데이터를 읽을 수 없는 읽기 전용 액세스 권한입니다. 예를 들어, 이 역할이 있는 계정은 모든 디스크를 프로젝트에 목록화할 수 있지만 해당 디스크의 데이터를 전혀 읽을 수 없습니다.

시스템 관리자
Compute Engine 네트워크 사용자

공유 VPC 네트워크를 사용할 수 있는 권한입니다. 특히 호스트 프로젝트에서 리소스를 사용해야 하는 서비스 소유자에게 이 역할을 부여합니다. 이 역할이 부여되면 서비스 소유자는 호스트 프로젝트에 속하는 네트워크와 서브네트워크를 사용할 수 있습니다. 예를 들어 네트워크 사용자는 공유 VPC 호스트 네트워크에 속하는 VM 인스턴스를 만들 수 있지만 호스트 프로젝트에서 새로운 네트워크를 만들거나 삭제할 수 없습니다.

  • 시스템 관리자
  • 개발자
Compute Engine 네트워크 뷰어

모든 네트워킹 리소스에 대한 읽기 전용 액세스 권한입니다. 예를 들어 네트워크 구성을 검사하는 소프트웨어가 있는 경우 이 소프트웨어의 서비스 계정에 네트워크 뷰어 역할을 부여할 수 있습니다.

  • 네트워크 관리자
  • 시스템 관리자
  • 개발자
  • 서비스 계정
Compute Engine 스토리지 관리자베타

디스크, 이미지, 스냅샷을 생성, 수정, 삭제할 수 있는 권한을 제공합니다.

예를 들어 회사에 이미지를 관리하는 사람이 있지만 이들에게 프로젝트에 대한 편집자 역할을 주고 싶지 않은 경우, 이들의 계정에 이 역할을 부여합니다.

  • 시스템 관리자
  • 개발자
Compute Engine 공유 VPC 관리자

공유 VPC 호스트 프로젝트를 관리할 수 있는 권한입니다. 특히 호스트 프로젝트를 사용 설정하고 호스트 프로젝트의 네트워크에 서비스 프로젝트를 연결할 수 있습니다. 이 역할은 조직 수준에서만 부여됩니다.

프로젝트 생성자

특정 역할에 따라 권한이 부여되는 API 메서드의 목록을 보려면 Compute Engine IAM 역할 문서를 참조하세요.

사전 정의된 역할 표

다음 표에서 각 Compute Engine 역할의 기능을 모두 비교할 수 있습니다.

기능 인스턴스 관리자(v1) 이미지 사용자 네트워크 사용자 네트워크 뷰어 네트워크 관리자 보안 관리자 스토리지 관리자 공유 VPC 관리자 Compute 관리자 Compute 뷰어 부하 분산기 관리자
VM 인스턴스 만들기 또는 삭제 *
VM 인스턴스에 SSH 사용 * *
VM 인스턴스 나열 또는 가져오기
이미지, 디스크, 스냅샷 만들기 또는 삭제
이미지 나열 또는 가져오기