Compute Engine IAM 역할

이 페이지에서는 사전 정의된 역할과 사전 정의된 각 Compute Engine IAM 역할에 포함된 권한을 포함하여 Compute Engine Identity and Access Management(IAM)에 대해 설명합니다.

프로젝트에 새 구성원을 추가할 때는 구성원에게 특정 리소스에 대한 액세스 권한을 부여하기 위해 IAM 정책을 사용하여 새 구성원에 IAM 역할을 할당합니다.

프로젝트 수준에서 정책을 설정하는 방법을 알아보려면 IAM 문서에서 리소스에 대한 액세스 권한 부여, 변경, 취소를 읽어보세요. Compute Engine 리소스에 정책을 설정하는 방법을 알아보려면 Compute Engine 리소스에 대한 액세스 권한 부여를 읽어보세요. Compute Engine 서비스 계정에 역할을 할당하는 방법을 알아보려면 서비스 계정 만들기 및 인스턴스에 사용 문서를 읽어보세요. 권한의 하위 집합을 포함하는 커스텀 역할을 만드는 방법을 알아보려면 커스텀 역할 만들기 및 관리를 읽어보세요.

또한 개별 API 메소드에 필요한 IAM 권한의 전체 목록도 확인해보세요.

시작하기 전에

IAM이란?

Google Cloud Platform은 사용자가 특정 Google Cloud Platform 리소스 액세스를 보다 세부적으로 관리하고 다른 리소스에 대한 무단 액세스를 방지할 수 있게 해주는 IAM(ID 및 액세스 관리)를 제공합니다. IAM은 최소 권한의 보안 원칙을 채택하여 리소스에 대해 필요한 액세스 권한만 부여할 수 있게 해줍니다.

IAM을 사용하면 IAM 정책을 설정하여 누가(ID) 어떤 리소스에 무슨(역할) 권한을 갖는지를 제어할 수 있습니다. IAM 정책은 프로젝트 구성원에게 특정 역할을 부여하고 ID 관련 권한을 제공합니다. 예를 들어 프로젝트 등의 특정 리소스에 대한 roles/compute.networkAdmin 역할을 Google 계정에 할당하면 이 계정이 프로젝트에 있는 네트워크 관련 리소스를 제어할 수 있지만 인스턴스 및 디스크와 같은 다른 리소스는 관리할 수 없습니다. IAM을 사용하여 프로젝트팀 구성원에게 부여된 GCP Console의 이전 역할을 관리할 수도 있습니다.

사전 정의된 Compute Engine IAM 역할

IAM을 사용할 때 Compute Engine의 모든 API 메소드를 사용하기 위해서는 API 요청을 실행하는 ID에 해당 리소스를 사용하기 위한 적절한 권한이 있어야 합니다. 권한은 프로젝트 구성원(사용자, 그룹 또는 서비스 계정)에 역할을 부여하는 정책을 설정함으로써 부여됩니다.

이전 역할(소유자, 편집자, 뷰어)과 커스텀 역할 외에도 다음과 같은 사전 정의된 Compute Engine 역할을 프로젝트 구성원에게 할당할 수 있습니다.

한 프로젝트 구성원에게 동일한 리소스에 대한 여러 역할을 부여할 수 있습니다. 예를 들어 네트워킹팀이 방화벽 규칙도 직접 관리하는 경우 네트워킹팀의 Google 그룹roles/compute.networkAdminroles/compute.securityAdmin을 모두 부여할 수 있습니다.

다음 표는 사전 정의된 Compute Engine IAM 역할과 각 역할에 포함된 권한을 설명합니다. 각 역할에는 특정 작업에 적합한 권한 집합이 포함되어 있습니다. 예를 들어 처음 두 역할은 인스턴스 관리를 위한 권한을 부여하고, 네트워크 관련 역할은 네트워크 관련 리소스를 관리하기 위한 권한을 포함하고, 보안 역할은 방화벽과 SSL 인증서 같은 보안 관련 리소스를 관리하기 위한 권한을 포함합니다.

인스턴스 관리자 역할

역할 이름 설명 권한
roles/compute.instanceAdmin.v1

가상 머신 인스턴스를 생성, 수정, 삭제할 권한이 부여됩니다. 여기에는 디스크를 생성, 수정, 삭제할 권한이 포함됩니다.

사용자가 서비스 계정으로서 실행하도록 구성된 가상 머신 인스턴스를 관리하는 경우에는 iam.serviceAccountUser 역할도 부여해야 합니다.

예를 들어 사내 가상 머신 인스턴스 그룹을 관리하지만 네트워크 또는 보안 설정은 관리하지 않고 서비스 계정으로 실행되는 인스턴스도 관리하지 않는 사람에게 이 역할을 부여합니다.

인스턴스 수준에서만 사용자에게 이 역할을 부여하면 해당 사용자는 새 인스턴스를 만들 수 없습니다.

  • compute.acceleratorTypes.get
  • compute.acceleratorTypes.list
  • compute.addresses.get
  • compute.addresses.list
  • compute.addresses.use
  • compute.autoscalers.*
  • compute.backendBuckets.get
  • compute.backendBuckets.list
  • compute.backendServices.get
  • compute.backendServices.list
  • compute.clientSslPolicies.get
  • compute.clientSslPolicies.list
  • compute.disks.*
  • compute.diskTypes.get
  • compute.diskTypes.list
  • compute.firewalls.get
  • compute.firewalls.list
  • compute.forwardingRules.get
  • compute.forwardingRules.list
  • compute.globalAddresses.get
  • compute.globalAddresses.list
  • compute.globalAddresses.use
  • compute.globalForwardingRules.get
  • compute.globalForwardingRules.list
  • compute.globalOperations.get
  • compute.globalOperations.list
  • compute.healthChecks.get
  • compute.healthChecks.list
  • compute.httpHealthChecks.get
  • compute.httpHealthChecks.list
  • compute.httpsHealthChecks.get
  • compute.httpsHealthChecks.list
  • compute.images.*
  • compute.instanceGroupManagers.*
  • compute.instanceGroups.*
  • compute.instances.*
  • compute.instanceTemplates.*
  • compute.interconnectAttachments.get
  • compute.interconnectAttachments.list
  • compute.interconnectLocations.get
  • compute.interconnectLocations.list
  • compute.interconnects.get
  • compute.interconnects.list
  • compute.licenses.*
  • compute.licenseCodes.*
  • compute.machineTypes.get
  • compute.machineTypes.list
  • compute.networkEndpointGroups.*
  • compute.networks.get
  • compute.networks.list
  • compute.networks.use
  • compute.networks.useExternalIp
  • compute.regionOperations.get
  • compute.regionOperations.list
  • compute.regions.get
  • compute.regions.list
  • compute.routers.get
  • compute.routers.list
  • compute.routes.get
  • compute.routes.list
  • compute.snapshots.*
  • compute.sslCertificates.get
  • compute.sslCertificates.list
  • compute.sslPolicies.get
  • compute.sslPolicies.list
  • compute.subnetworks.get
  • compute.subnetworks.list
  • compute.subnetworks.use
  • compute.subnetworks.useExternalIp
  • compute.targetHttpProxies.get
  • compute.targetHttpProxies.list
  • compute.targetHttpsProxies.get
  • compute.targetHttpsProxies.list
  • compute.targetInstances.get
  • compute.targetInstances.list
  • compute.targetPools.get
  • compute.targetPools.list
  • compute.targetSslProxies.get
  • compute.targetSslProxies.list
  • compute.targetTcpProxies.get
  • compute.targetTcpProxies.list
  • compute.targetVpnGateways.get
  • compute.targetVpnGateways.list
  • compute.urlMaps.get
  • compute.urlMaps.list
  • compute.vpnTunnels.get
  • compute.vpnTunnels.list
  • compute.zoneOperations.get
  • compute.zoneOperations.list
  • compute.zones.get
  • compute.zones.list
  • compute.projects.get
  • compute.projects.setCommonInstanceMetadata
  • resourcemanager.projects.get
  • resourcemanager.projects.list
  • servicemanagement.projectSettings.get
  • serviceusage.services.get
  • serviceusage.quotas.get

Compute 관리자 역할

역할 이름 설명 권한
roles/compute.admin

모든 Compute Engine 리소스를 관리할 수 있는 전체 권한입니다.

사용자가 서비스 계정으로서 실행하도록 구성된 가상 머신 인스턴스를 관리하는 경우에는 roles/iam.serviceAccountUser 역할도 부여해야 합니다.

  • compute.*
  • resourcemanager.projects.get
  • resourcemanager.projects.list
  • servicemanagement.projectSettings.get
  • serviceusage.services.get
  • serviceusage.quotas.get

DNS 관리자 역할

역할 이름 설명 권한
roles/dns.admin

모든 Cloud DNS 리소스를 관리할 수 있는 전체 권한입니다.

  • dns.changes.create
  • dns.changes.get
  • dns.changes.list
  • dns.dnsKeys.get
  • dns.dnsKeys.list
  • dns.managedZoneOperations.get
  • dns.managedZoneOperations.list
  • dns.managedZones.create
  • dns.managedZones.delete
  • dns.managedZones.get
  • dns.managedZones.list
  • dns.managedZones.update
  • dns.projects.get
  • dns.resourceRecordSets.create
  • dns.resourceRecordSets.delete
  • dns.resourceRecordSets.list
  • dns.resourceRecordSets.update

DNS 리더 역할

역할 이름 설명 권한
roles/dns.reader

Cloud DNS 리소스에 대한 보기 권한입니다.

  • dns.changes.get
  • dns.changes.list
  • dns.dnsKeys.get
  • dns.dnsKeys.list
  • dns.managedZoneOperations.get
  • dns.managedZoneOperations.list
  • dns.managedZones.get
  • dns.managedZones.list
  • dns.projects.get
  • dns.resourceRecordSets.list

서비스 계정 사용자 역할

역할 이름 설명 권한
roles/iam.serviceAccountUser instanceAdmin.v1과 함께 부여될 경우, 서비스 계정으로서 실행될 수 있는 VM 인스턴스에서 VM을 만들고, 디스크를 연결하고, 메타데이터를 업데이트할 수 있도록 액세스 권한을 부여합니다.
  • iam.serviceAccounts.actAs
  • iam.serviceAccounts.get
  • iam.serviceAccounts.list
  • resourcemanager.projects.get
  • resourcemanager.projects.list

이미지 사용자 역할

역할 이름 설명 권한
roles/compute.imageUser 생성 또는 삭제와 같은 다른 이미지 권한 없이 이미지를 나열하고 읽을 수 있는 권한입니다. 프로젝트 수준에서 이 역할을 부여하면 구성원이 프로젝트의 모든 이미지를 나열할 수 있게 되며, 프로젝트의 이미지를 기반으로 인스턴스 및 영구 디스크 등의 리소스를 만들기 위해서는 먼저 이 역할이 부여되어 있어야 합니다.
  • compute.images.get
  • compute.images.getFromFamily
  • compute.images.list
  • compute.images.useReadOnly
  • resourcemanager.projects.get
  • resourcemanager.projects.list
  • servicemanagement.projectSettings.get
  • serviceusage.services.get
  • serviceusage.quotas.get

부하 분산기 관리자 역할

역할 이름 설명 권한
roles/compute.loadBalancerAdmin

부하 분산기와 관련된 Compute Engine 리소스를 관리할 수 있는 전체 권한입니다.

  • compute.addresses.*
  • compute.globalAddresses.*
  • compute.backendBuckets.*
  • compute.backendServices.*
  • compute.regionBackendServices.*
  • compute.forwardingRules.*
  • compute.globalForwardingRules.*
  • compute.healthChecks.*
  • compute.httpHealthChecks.*
  • compute.httpsHealthChecks.*
  • compute.instanceGroups.*
  • compute.instances.get
  • compute.instances.list
  • compute.instances.use
  • compute.instances.useReadOnly
  • compute.networks.get
  • compute.networks.list
  • compute.networks.use
  • compute.sslCertificates.*
  • compute.securityPolicies.get
  • compute.securityPolicies.list
  • compute.securityPolicies.use
  • compute.subnetworks.get
  • compute.subnetworks.list
  • compute.subnetworks.use
  • compute.sslPolicies.*
  • compute.targetHttpProxies.*
  • compute.targetHttpsProxies.*
  • compute.targetInstances.*
  • compute.targetPools.*
  • compute.targetSslProxies.*
  • compute.targetTcpProxies.*
  • compute.urlMaps.*
  • compute.projects.get
  • resourcemanager.projects.get
  • resourcemanager.projects.list
  • servicemanagement.projectSettings.get
  • serviceusage.services.get
  • serviceusage.services.list
  • serviceusage.quotas.get

네트워크 뷰어 역할

역할 이름 설명 권한
roles/compute.networkViewer

모든 네트워킹 리소스에 대한 읽기 전용 액세스 권한입니다.

예를 들어, 네트워크 구성을 검사하는 소프트웨어가 있는 경우, 해당 소프트웨어의 서비스 계정에 networkViewer 역할을 부여할 수 있습니다.

  • compute.addresses.get
  • compute.addresses.list
  • compute.globalAddresses.get
  • compute.globalAddresses.list
  • compute.backendBuckets.get
  • compute.backendBuckets.list
  • compute.backendServices.get
  • compute.backendServices.list
  • compute.firewalls.get
  • compute.firewalls.list
  • compute.forwardingRules.get
  • compute.forwardingRules.list
  • compute.globalForwardingRules.get
  • compute.globalForwardingRules.list
  • compute.healthChecks.get
  • compute.healthChecks.list
  • compute.httpHealthChecks.get
  • compute.httpHealthChecks.list
  • compute.httpsHealthChecks.get
  • compute.httpsHealthChecks.list
  • compute.instanceGroups.get
  • compute.instanceGroups.list
  • compute.instances.get
  • compute.instances.getGuestAttributes
  • compute.instances.getSerialPortOutput
  • compute.instances.list
  • compute.networks.get
  • compute.networks.list
  • compute.packetMirroringConfigs.get
  • compute.packetMirroringConfigs.list
  • compute.routes.get
  • compute.routes.list
  • compute.routers.get
  • compute.routers.list
  • compute.sslCertificates.get
  • compute.sslCertificates.list
  • compute.subnetworks.get
  • compute.subnetworks.list
  • compute.targetHttpProxies.get
  • compute.targetHttpProxies.list
  • compute.targetHttpsProxies.get
  • compute.targetHttpsProxies.list
  • compute.targetInstances.get
  • compute.targetInstances.list
  • compute.targetPools.get
  • compute.targetPools.list
  • compute.targetSslProxies.get
  • compute.targetSslProxies.list
  • compute.targetVpnGateways.get
  • compute.targetVpnGateways.list
  • compute.urlMaps.get
  • compute.urlMaps.list
  • compute.vpns.get
  • compute.vpns.list
  • compute.vpnTunnels.get
  • compute.vpnTunnels.list
  • compute.scopes.get
  • compute.scopes.list
  • compute.regions.get
  • compute.regions.list
  • compute.zones.get
  • compute.zones.list
  • compute.projects.get
  • resourcemanager.projects.get
  • servicemanagement.projectSettings.get

네트워크 관리자 역할

역할 이름 설명 권한
roles/compute.networkAdmin

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

예를 들어, 방화벽과 SSL 인증서를 관리하는 보안팀과 나머지 네트워킹 리소스를 관리하는 네트워킹팀이 회사에 있는 경우, 네트워킹팀 그룹에 networkAdmin 역할을 부여합니다.

  • compute.addresses.*
  • compute.globalAddresses.*
  • compute.backendBuckets.*
  • compute.securityPolicies.get
  • compute.securityPolicies.list
  • compute.securityPolicies.use
  • compute.backendServices.*
  • compute.firewalls.get
  • compute.firewalls.list
  • compute.forwardingRules.*
  • compute.globalForwardingRules.*
  • compute.healthChecks.*
  • compute.httpHealthChecks.*
  • compute.httpsHealthChecks.*
  • compute.interconnectAttachments.*
  • compute.interconnectLocations.*
  • compute.interconnects.*
  • compute.networks.*
  • compute.packetMirrorings.get
  • compute.packetMirrorings.list
  • compute.packetMirrorings.use
  • compute.routes.*
  • compute.routers.*
  • compute.sslCertificates.get
  • compute.sslCertificates.list
  • compute.clientSslPolicies.*
  • compute.sslPolicies.*
  • compute.subnetworks.*
  • compute.targetHttpProxies.*
  • compute.targetHttpsProxies.*
  • compute.targetInstances.*
  • compute.targetPools.*
  • compute.targetSslProxies.*
  • compute.targetTcpProxies.*
  • compute.targetVpnGateways.*
  • compute.urlMaps.*
  • compute.instances.get
  • compute.instances.getGuestAttributes
  • compute.instances.getSerialPortOutput
  • compute.instances.list
  • compute.instances.listReferrers
  • compute.instances.use
  • compute.instanceGroups.get
  • compute.instanceGroups.list
  • compute.instanceGroups.use
  • compute.instanceGroups.update
  • compute.instanceGroupManagers.get
  • compute.instanceGroupManagers.list
  • compute.instanceGroupManagers.use
  • compute.instanceGroupManagers.update
  • compute.vpns.*
  • compute.vpnTunnels.*
  • compute.scopes.get
  • compute.scopes.list
  • compute.regions.get
  • compute.regions.list
  • compute.zones.get
  • compute.zones.list
  • compute.globalOperations.get
  • compute.globalOperations.list
  • compute.regionOperations.get
  • compute.regionOperations.list
  • compute.zoneOperations.get
  • compute.zoneOperations.list
  • compute.projects.get
  • resourcemanager.projects.get
  • resourcemanager.projects.list
  • servicemanagement.projectSettings.get
  • serviceusage.services.get
  • serviceusage.quotas.get

보안 관리자 역할

역할 이름 설명 권한
roles/compute.securityAdmin

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

예를 들어, 방화벽과 SSL 인증서를 관리하는 보안팀과 나머지 네트워킹 리소스를 관리하는 네트워킹팀이 회사에 있는 경우, 보안팀 그룹에 securityAdmin 역할을 부여합니다.

  • compute.firewalls.*
  • compute.packetMirrorings.*
  • compute.sslCertificates.*
  • compute.clientSslPolicies.*
  • compute.securityPolicies.*
  • compute.sslPolicies.*
  • compute.instances.setShieldedVmIntegrityPolicy
  • compute.instances.updateSecurity
  • compute.instances.updateShieldedVmConfig
  • compute.networks.get
  • compute.networks.list
  • compute.networks.updatePolicy
  • compute.routes.get
  • compute.routes.list
  • compute.subnetworks.get
  • compute.subnetworks.list
  • compute.subnetworks.updatePolicy
  • compute.scopes.get
  • compute.scopes.list
  • compute.regions.get
  • compute.regions.list
  • compute.zones.get
  • compute.zones.list
  • compute.globalOperations.get
  • compute.globalOperations.list
  • compute.regionOperations.get
  • compute.regionOperations.list
  • compute.zoneOperations.get
  • compute.zoneOperations.list
  • compute.projects.get
  • resourcemanager.projects.get
  • resourcemanager.projects.list
  • servicemanagement.projectSettings.get
  • serviceusage.services.get
  • serviceusage.quotas.get

Compute 뷰어 역할

역할 이름 설명 권한
roles/compute.viewer

Compute Engine 리소스를 가져와 나열할 수 있지만 리소스에 저장된 데이터를 읽을 수는 없는 읽기 전용 액세스 권한입니다.

예를 들어, 프로젝트 수준에서 이 역할이 부여된 계정은 프로젝트의 모든 디스크를 목록화할 수 있지만 해당 디스크에 있는 데이터는 전혀 읽을 수 없습니다.

  • compute.*.get
  • compute.*.getIamPolicy
  • compute.*.list
  • compute.forwardingRules.externalGet
  • compute.images.getFromFamily
  • compute.instances.getGuestAttributes
  • compute.instances.getSerialPortOutput
  • compute.instances.listReferrers
  • compute.networks.listIpOwners
  • compute.networks.listUsableSubnets
  • compute.sslPolicies.listAvailableFeatures
  • compute.subnetworks.listIpOwners
  • compute.urlMaps.validate
  • resourcemanager.projects.get
  • resourcemanager.projects.list
  • servicemanagement.projectSettings.get
  • serviceusage.services.get
  • serviceusage.quotas.get

저장소 관리자 역할

역할 이름 설명 권한
roles/compute.storageAdmin

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

예를 들어 회사에서 프로젝트 이미지를 관리하는 사람에게 프로젝트에 대한 편집자 역할은 부여하지 않으려는 경우 프로젝트 수준에서 이들의 계정에 storageAdmin 역할을 부여합니다.

  • compute.disks.*
  • compute.diskTypes.get
  • compute.diskTypes.list
  • compute.images.*
  • compute.licenses.*
  • compute.licenseCodes.*
  • compute.snapshots.*
  • compute.scopes.get
  • compute.scopes.list
  • compute.regions.get
  • compute.regions.list
  • compute.zones.get
  • compute.zones.list
  • compute.globalOperations.get
  • compute.globalOperations.list
  • compute.regionOperations.get
  • compute.regionOperations.list
  • compute.zoneOperations.get
  • compute.zoneOperations.list
  • compute.projects.get
  • resourcemanager.projects.get
  • resourcemanager.projects.list
  • servicemanagement.projectSettings.get
  • serviceusage.services.get
  • serviceusage.quotas.get

공유 VPC 관리자 역할

역할 이름 설명 권한
roles/compute.xpnAdmin

공유 VPC 관리 권한: 공유 VPC 호스트 프로젝트를 지정하고 공유 VPC 서비스 프로젝트를 호스트 프로젝트 네트워크에 연결할 수 있습니다.

Google Cloud Platform에서는 공유 VPC 관리자를 공유 VPC 호스트 프로젝트의 소유자로 지정하는 것이 좋습니다. 공유 VPC 관리자는 서비스 소유자에게 compute.networkUser 역할을 부여할 책임이 있으며, 공유 VPC 호스트 프로젝트 소유자는 프로젝트 자체를 제어합니다. 단일 주체(개인 또는 그룹)가 두 가지 역할을 모두 수행할 수 있으면 프로젝트를 더 쉽게 관리할 수 있습니다.

  • compute.globalOperations.get
  • compute.globalOperations.list
  • compute.organizations.administerXpn
  • compute.organizations.enableXpnHost
  • compute.organizations.disableXpnHost
  • compute.organizations.enableXpnResource
  • compute.organizations.disableXpnResource
  • compute.projects.get
  • compute.subnetworks.getIamPolicy
  • resourcemanager.organizations.get
  • resourcemanager.projects.get
  • resourcemanager.projects.list
  • resourcemanager.projects.getIamPolicy

네트워크 사용자 역할

역할 이름 설명 권한
roles/compute.networkUser 공유 VPC 네트워크를 사용할 수 있는 권한입니다. 특히 공유 VPC 호스트 프로젝트 네트워크에서 리소스를 만들어야 하는 서비스 소유자에게 이 역할을 부여합니다.
  • compute.addresses.get
  • compute.addresses.list
  • compute.firewalls.get
  • compute.firewalls.list
  • compute.interconnectAttachments.get
  • compute.interconnectAttachments.list
  • compute.interconnectLocations.get
  • compute.interconnectLocations.list
  • compute.interconnects.get
  • compute.interconnects.list
  • compute.interconnects.use
  • compute.networks.get
  • compute.networks.list
  • compute.networks.listIpOwners
  • compute.networks.listUsableSubnets
  • compute.networks.use
  • compute.networks.useExternalIp
  • compute.routes.get
  • compute.routes.list
  • compute.routers.get
  • compute.routers.list
  • compute.subnetworks.list
  • compute.subnetworks.listIpOwners
  • compute.subnetworks.get
  • compute.subnetworks.use
  • compute.subnetworks.useExternalIp
  • compute.targetVpnGateways.get
  • compute.targetVpnGateways.list
  • compute.vpns.get
  • compute.vpns.list
  • compute.vpnTunnels.get
  • compute.vpnTunnels.list
  • compute.scopes.get
  • compute.scopes.list
  • compute.regions.get
  • compute.regions.list
  • compute.zones.get
  • compute.zones.list
  • compute.projects.get
  • resourcemanager.projects.get
  • resourcemanager.projects.list
  • servicemanagement.projectSettings.get
  • serviceusage.services.get
  • serviceusage.quotas.get

OS 관리자 로그인 역할

역할 이름 설명 권한
roles/compute.osAdminLogin

Compute Engine 인스턴스에 관리자 사용자로 로그인할 수 있는 액세스 권한입니다.

  • compute.instances.get
  • compute.instances.list
  • compute.instances.osAdminLogin
  • compute.instances.osLogin
  • compute.projects.get
  • resourcemanager.projects.get
  • resourcemanager.projects.list
  • serviceusage.quotas.get
  • serviceusage.services.get
  • serviceusage.services.list

OS 로그인 역할

역할 이름 설명 권한
roles/compute.osLogin

Compute Engine 인스턴스에 관리자가 아닌 표준 사용자로 로그인할 수 있는 액세스 권한입니다.

  • compute.instances.get
  • compute.instances.list
  • compute.instances.osLogin
  • compute.projects.get
  • resourcemanager.projects.get
  • resourcemanager.projects.list
  • serviceusage.quotas.get
  • serviceusage.services.get
  • serviceusage.services.list

OS 로그인 외부 사용자 역할

역할 이름 설명 권한
roles/compute.osLoginExternalUser

조직 수준에서만 사용할 수 있습니다.

이 조직에 연결된 OS 로그인 정보를 설정할 수 있는 외부 사용자용 액세스 권한입니다. 이 역할은 인스턴스에 대한 액세스 권한을 부여하지 않습니다. 외부 사용자가 SSH를 사용하여 인스턴스에 액세스하기 위해서는 필요한 OS 로그인 IAM 역할 중 하나를 부여받아야 합니다.

  • compute.oslogin.updateExternalUser

serviceAccountUser 역할

roles/iam.serviceAccountUser 역할과 roles/compute.instanceAdmin.v1 역할이 함께 부여된 구성원은 서비스 계정을 사용하는 인스턴스를 만들고 관리할 수 있습니다. roles/iam.serviceAccountUserroles/compute.instanceAdmin.v1 역할이 함께 부여된 구성원은 구체적으로 다음을 수행할 수 있습니다.

  • 서비스 계정으로 실행되는 인스턴스를 만들 수 있습니다.
  • 서비스 계정으로 실행되는 인스턴스에 영구 디스크를 연결할 수 있습니다.
  • 서비스 계정으로 실행되는 인스턴스에서 인스턴스 메타데이터를 설정할 수 있습니다.
  • SSH를 사용하여 서비스 계정으로 실행되는 인스턴스에 연결할 수 있습니다.
  • 인스턴스가 서비스 계정으로 실행되도록 다시 구성할 수 있습니다.

roles/iam.serviceAccountUser 역할은 다음 두 가지 방법 중 하나로 부여할 수 있습니다.

  • [권장] 특정 서비스 계정의 구성원에게 역할을 부여합니다. 이렇게 하면 구성원은 자신이 iam.serviceAccountUser인 서비스 계정에는 액세스할 수 있지만, 자신이 iam.serviceAccountUser가 아닌 다른 서비스 계정에는 액세스할 수 없습니다.

  • 프로젝트 수준에서 구성원에게 역할을 부여합니다. 구성원은 이후에 생성되는 서비스 계정을 포함하여 해당 프로젝트의 모든 서비스 계정에 액세스할 수 있습니다.

서비스 계정에 대해 잘 모른다면 서비스 계정에 대해 자세히 알아보세요.

인스턴스에 instanceAdmin으로 연결

프로젝트 구성원에게 roles/compute.instanceAdmin.v1 역할을 부여하면 해당 구성원은 gcloud 도구나 브라우저에서 SSH로의 접속 기능과 같은 표준 Google Cloud Platform 도구를 사용하여 가상 머신 인스턴스에 연결할 수 있습니다.

구성원이 gcloud 명령줄 도구나 브라우저에서 SSH로의 접속 기능을 사용하면 이러한 도구가 자동으로 공개/비공개 키 쌍을 생성하고 공개 키를 프로젝트 메타데이터에 추가합니다. 멤버에게 프로젝트 메타데이터를 편집할 수 있는 권한이 없는 경우에는 도구가 멤버의 공개 키를 인스턴스 메타데이터에 추가합니다.

멤버에게 자신이 사용하려는 기존 키쌍이 있는 경우에는 자신의 공개 키를 인스턴스의 메타데이터에 직접 추가할 수 있습니다. 인스턴스에서 SSH 키 추가 및 제거에 대해 자세히 알아보세요.

서비스 계정과 IAM

새로운 커스텀 서비스 계정을 만들고 서비스 계정에 IAM 역할을 부여하여 인스턴스의 액세스 권한을 제한할 수 있습니다. 커스텀 서비스 계정과 함께 IAM 역할을 사용하면 다음을 수행할 수 있습니다.

  • 세분화된 IAM 역할을 사용하여 Cloud Platform API에 대한 인스턴스의 액세스 권한을 제한할 수 있습니다.
  • 각 인스턴스 또는 인스턴스 집합에 고유한 ID를 제공할 수 있습니다.
  • 기본 서비스 계정의 액세스 권한을 제한할 수 있습니다.

서비스 계정에 대해 자세히 알아보세요.

관리형 인스턴스 그룹 및 IAM

특히 자동 확장형으로 구성된 관리형 인스턴스 그룹은 직접적인 사용자 상호작용 없이 사용자를 대신해서 작업을 수행하는 리소스입니다. 관리형 인스턴스 그룹은 서비스 계정 ID를 사용하여 인스턴스 그룹에서 인스턴스를 생성, 삭제, 관리합니다. 자세한 내용은 관리형 인스턴스 그룹 및 IAM 문서를 읽어보세요.

지원되지 않는 작업

IAM 역할을 사용하여 인스턴스 그룹에서 지속적 업데이트를 수행하도록 액세스 권한을 부여할 수 없습니다.

이러한 작업을 수행할 수 있는 권한을 부여하려면 더 포괄적인 소유자, 편집자 또는 뷰어 역할을 사용하세요.

다음 단계

이 페이지가 도움이 되었나요? 평가를 부탁드립니다.

다음에 대한 의견 보내기...

Compute Engine 문서