Compute Engine IAM 역할

Compute Engine에는 특정 Identity and Access Management(IAM) 역할 집합이 있습니다. 사전 정의된 각 역할에는 일련의 권한이 포함되어 있습니다.

프로젝트에 새 구성원을 추가할 때 IAM 정책을 사용하여 해당 구성원에게 하나 이상의 IAM 역할을 부여할 수 있습니다. 각 IAM 역할에는 구성원에게 특정 리소스에 대한 액세스 권한을 부여하는 권한이 포함됩니다.

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

시작하기 전에

IAM이란?

Google Cloud에서는 Cloud Identity and Access Management(Cloud IAM)를 제공하므로 특정 Google Cloud 리소스에 대한 더욱 세분화된 액세스를 제공하고 다른 리소스에 대한 무단 액세스를 방지할 수 있습니다. IAM은 최소 권한의 보안 원칙을 채택하여 리소스에 대해 필요한 액세스 권한만 부여할 수 있게 해줍니다.

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

사전 정의된 Compute Engine Cloud IAM 역할

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

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

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

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

Compute 관리 역할

이름 설명 권한
roles/compute.admin

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

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

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

Compute 이미지 사용자 역할

이름 설명 권한
roles/compute.imageUser

이미지에 대한 다른 권한 없이 이미지를 열거하고 읽을 수 있는 권한이 있습니다. 프로젝트 수준에서 compute.imageUser 역할을 부여하면 사용자는 프로젝트의 모든 이미지를 나열할 수 있게 되고 프로젝트의 이미지를 기반으로 인스턴스 및 영구 디스크 등의 리소스를 생성할 수 있게 됩니다.

  • compute.images.get
  • compute.images.getFromFamily
  • compute.images.list
  • compute.images.useReadOnly
  • resourcemanager.projects.get
  • resourcemanager.projects.list
  • serviceusage.quotas.get
  • serviceusage.services.get
  • serviceusage.services.list

Compute 인스턴스 관리자(베타) 역할

이름 설명 권한
roles/compute.instanceAdmin

가상 머신 인스턴스를 생성, 수정, 삭제할 권한이 있습니다. 디스크를 생성, 수정, 삭제할 뿐 아니라 보안 VM베타 설정을 구성할 수 있는 권한도 포함됩니다.

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

예를 들어 회사 내에 가상 머신 인스턴스 그룹을 관리하지만 네트워크 또는 보안 설정과 서비스 계정으로 실행되는 인스턴스는 관리하지 않는 담당자가 있는 경우, 인스턴스가 포함된 조직, 폴더 또는 프로젝트 수준이나 개별 인스턴스 수준에서 이 역할을 부여할 수 있습니다.

  • compute.acceleratorTypes.*
  • compute.addresses.get
  • compute.addresses.list
  • compute.addresses.use
  • compute.autoscalers.*
  • compute.diskTypes.*
  • compute.disks.create
  • compute.disks.createSnapshot
  • compute.disks.delete
  • compute.disks.get
  • compute.disks.list
  • compute.disks.resize
  • compute.disks.setLabels
  • compute.disks.update
  • compute.disks.use
  • compute.disks.useReadOnly
  • compute.globalAddresses.get
  • compute.globalAddresses.list
  • compute.globalAddresses.use
  • compute.globalOperations.get
  • compute.globalOperations.list
  • compute.images.get
  • compute.images.getFromFamily
  • compute.images.list
  • compute.images.useReadOnly
  • compute.instanceGroupManagers.*
  • compute.instanceGroups.*
  • compute.instanceTemplates.*
  • compute.instances.*
  • compute.licenses.get
  • compute.licenses.list
  • compute.machineTypes.*
  • compute.networkEndpointGroups.*
  • compute.networks.get
  • compute.networks.list
  • compute.networks.use
  • compute.networks.useExternalIp
  • compute.projects.get
  • compute.regionOperations.get
  • compute.regionOperations.list
  • compute.regions.*
  • compute.reservations.get
  • compute.reservations.list
  • compute.subnetworks.get
  • compute.subnetworks.list
  • compute.subnetworks.use
  • compute.subnetworks.useExternalIp
  • compute.targetPools.get
  • compute.targetPools.list
  • compute.zoneOperations.get
  • compute.zoneOperations.list
  • compute.zones.*
  • resourcemanager.projects.get
  • resourcemanager.projects.list
  • serviceusage.quotas.get
  • serviceusage.services.get
  • serviceusage.services.list

Compute 인스턴스 관리자(v1) 역할

이름 설명 권한
roles/compute.instanceAdmin.v1 Compute Engine 인스턴스, 인스턴스 그룹, 디스크, 스냅샷, 이미지를 관리할 수 있는 전체 권한을 제공합니다. 모든 Compute Engine 네트워킹 리소스에 대한 읽기 액세스 권한입니다.

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

  • compute.acceleratorTypes.*
  • compute.addresses.get
  • compute.addresses.list
  • compute.addresses.use
  • compute.autoscalers.*
  • compute.backendBuckets.get
  • compute.backendBuckets.list
  • compute.backendServices.get
  • compute.backendServices.list
  • compute.diskTypes.*
  • compute.disks.*
  • compute.externalVpnGateways.get
  • compute.externalVpnGateways.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.instanceTemplates.*
  • compute.instances.*
  • compute.interconnectAttachments.get
  • compute.interconnectAttachments.list
  • compute.interconnectLocations.*
  • compute.interconnects.get
  • compute.interconnects.list
  • compute.licenseCodes.*
  • compute.licenses.*
  • compute.machineTypes.*
  • compute.networkEndpointGroups.*
  • compute.networks.get
  • compute.networks.list
  • compute.networks.use
  • compute.networks.useExternalIp
  • compute.projects.get
  • compute.projects.setCommonInstanceMetadata
  • compute.regionBackendServices.get
  • compute.regionBackendServices.list
  • compute.regionHealthCheckServices.get
  • compute.regionHealthCheckServices.list
  • compute.regionNotificationEndpoints.get
  • compute.regionNotificationEndpoints.list
  • compute.regionOperations.get
  • compute.regionOperations.list
  • compute.regions.*
  • compute.reservations.get
  • compute.reservations.list
  • compute.resourcePolicies.*
  • 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.sslPolicies.listAvailableFeatures
  • 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.vpnGateways.get
  • compute.vpnGateways.list
  • compute.vpnTunnels.get
  • compute.vpnTunnels.list
  • compute.zoneOperations.get
  • compute.zoneOperations.list
  • compute.zones.*
  • resourcemanager.projects.get
  • resourcemanager.projects.list
  • serviceusage.quotas.get
  • serviceusage.services.get
  • serviceusage.services.list

Compute 부하 분산기 관리자 역할

이름 설명 권한
roles/compute.loadBalancerAdmin 베타

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

예를 들어 회사 내에 부하 분산기, 부하 분산기용 SSL 인증서, SSL 정책, 기타 부하 분산 리소스를 관리하는 부하 분산팀과 나머지 네트워킹 리소스를 관리하는 별도의 네트워킹팀이 있는 경우, 부하 분산팀 그룹에 loadBalancerAdmin 역할을 부여하면 됩니다.

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

Compute 네트워크 관리자 역할

이름 설명 권한
roles/compute.networkAdmin

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

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

  • compute.acceleratorTypes.*
  • compute.addresses.*
  • compute.autoscalers.get
  • compute.autoscalers.list
  • compute.backendBuckets.*
  • compute.backendServices.*
  • compute.externalVpnGateways.*
  • compute.firewalls.get
  • compute.firewalls.list
  • compute.forwardingRules.*
  • compute.globalAddresses.*
  • compute.globalForwardingRules.*
  • compute.globalOperations.get
  • compute.globalOperations.list
  • compute.healthChecks.*
  • compute.httpHealthChecks.*
  • compute.httpsHealthChecks.*
  • compute.instanceGroupManagers.get
  • compute.instanceGroupManagers.list
  • compute.instanceGroupManagers.update
  • compute.instanceGroupManagers.use
  • compute.instanceGroups.get
  • compute.instanceGroups.list
  • compute.instanceGroups.update
  • compute.instanceGroups.use
  • compute.instances.get
  • compute.instances.getGuestAttributes
  • compute.instances.getScreenshot
  • compute.instances.getSerialPortOutput
  • compute.instances.list
  • compute.instances.listReferrers
  • compute.instances.use
  • compute.interconnectAttachments.*
  • compute.interconnectLocations.*
  • compute.interconnects.*
  • compute.machineTypes.*
  • compute.networkEndpointGroups.get
  • compute.networkEndpointGroups.list
  • compute.networkEndpointGroups.use
  • compute.networks.*
  • compute.projects.get
  • compute.regionBackendServices.*
  • compute.regionHealthCheckServices.*
  • compute.regionNotificationEndpoints.*
  • compute.regionOperations.get
  • compute.regionOperations.list
  • compute.regions.*
  • compute.routers.*
  • compute.routes.*
  • compute.securityPolicies.get
  • compute.securityPolicies.list
  • compute.securityPolicies.use
  • compute.sslCertificates.get
  • compute.sslCertificates.list
  • compute.sslPolicies.*
  • compute.subnetworks.*
  • compute.targetHttpProxies.*
  • compute.targetHttpsProxies.*
  • compute.targetInstances.*
  • compute.targetPools.*
  • compute.targetSslProxies.*
  • compute.targetTcpProxies.*
  • compute.targetVpnGateways.*
  • compute.urlMaps.*
  • compute.vpnGateways.*
  • compute.vpnTunnels.*
  • compute.zoneOperations.get
  • compute.zoneOperations.list
  • compute.zones.*
  • resourcemanager.projects.get
  • resourcemanager.projects.list
  • servicenetworking.operations.get
  • servicenetworking.services.addPeering
  • servicenetworking.services.get
  • serviceusage.quotas.get
  • serviceusage.services.get
  • serviceusage.services.list

Compute 네트워크 사용자 역할

이름 설명 권한
roles/compute.networkUser

공유 VPC 네트워크에 대한 액세스 권한을 제공합니다.

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

  • compute.addresses.createInternal
  • compute.addresses.deleteInternal
  • compute.addresses.get
  • compute.addresses.list
  • compute.addresses.useInternal
  • compute.externalVpnGateways.get
  • compute.externalVpnGateways.list
  • compute.externalVpnGateways.use
  • compute.firewalls.get
  • compute.firewalls.list
  • compute.interconnectAttachments.get
  • compute.interconnectAttachments.list
  • compute.interconnectLocations.*
  • compute.interconnects.get
  • compute.interconnects.list
  • compute.interconnects.use
  • compute.networks.access
  • compute.networks.get
  • compute.networks.list
  • compute.networks.listPeeringRoutes
  • compute.networks.use
  • compute.networks.useExternalIp
  • compute.projects.get
  • compute.regions.*
  • compute.routers.get
  • compute.routers.list
  • compute.routes.get
  • compute.routes.list
  • compute.subnetworks.get
  • compute.subnetworks.list
  • compute.subnetworks.use
  • compute.subnetworks.useExternalIp
  • compute.targetVpnGateways.get
  • compute.targetVpnGateways.list
  • compute.vpnGateways.get
  • compute.vpnGateways.list
  • compute.vpnGateways.use
  • compute.vpnTunnels.get
  • compute.vpnTunnels.list
  • compute.zones.*
  • resourcemanager.projects.get
  • resourcemanager.projects.list
  • servicenetworking.services.get
  • serviceusage.quotas.get
  • serviceusage.services.get
  • serviceusage.services.list

Compute 네트워크 뷰어 역할

이름 설명 권한
roles/compute.networkViewer

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

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

  • compute.acceleratorTypes.*
  • compute.addresses.get
  • compute.addresses.list
  • compute.autoscalers.get
  • compute.autoscalers.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.globalAddresses.get
  • compute.globalAddresses.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.instanceGroupManagers.get
  • compute.instanceGroupManagers.list
  • compute.instanceGroups.get
  • compute.instanceGroups.list
  • compute.instances.get
  • compute.instances.getGuestAttributes
  • compute.instances.getScreenshot
  • compute.instances.getSerialPortOutput
  • compute.instances.list
  • compute.instances.listReferrers
  • compute.interconnectAttachments.get
  • compute.interconnectAttachments.list
  • compute.interconnectLocations.*
  • compute.interconnects.get
  • compute.interconnects.list
  • compute.machineTypes.*
  • compute.networks.get
  • compute.networks.list
  • compute.networks.listPeeringRoutes
  • compute.projects.get
  • compute.regionBackendServices.get
  • compute.regionBackendServices.list
  • compute.regionHealthCheckServices.get
  • compute.regionHealthCheckServices.list
  • compute.regionNotificationEndpoints.get
  • compute.regionNotificationEndpoints.list
  • compute.regions.*
  • compute.routers.get
  • compute.routers.list
  • compute.routes.get
  • compute.routes.list
  • compute.sslCertificates.get
  • compute.sslCertificates.list
  • compute.sslPolicies.get
  • compute.sslPolicies.list
  • compute.sslPolicies.listAvailableFeatures
  • 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.targetTcpProxies.get
  • compute.targetTcpProxies.list
  • compute.targetVpnGateways.get
  • compute.targetVpnGateways.list
  • compute.urlMaps.get
  • compute.urlMaps.list
  • compute.vpnGateways.get
  • compute.vpnGateways.list
  • compute.vpnTunnels.get
  • compute.vpnTunnels.list
  • compute.zones.*
  • resourcemanager.projects.get
  • resourcemanager.projects.list
  • servicenetworking.services.get
  • serviceusage.quotas.get
  • serviceusage.services.get
  • serviceusage.services.list

Compute 조직 보안 정책 관리자 역할

이름 설명 권한
roles/compute.orgSecurityPolicyAdmin 베타 Compute Engine 조직 보안 정책을 관리할 수 있는 전체 권한입니다.
  • compute.globalOperations.get
  • compute.globalOperations.getIamPolicy
  • compute.globalOperations.list
  • compute.globalOperations.setIamPolicy
  • compute.projects.get
  • compute.securityPolicies.*
  • resourcemanager.projects.get
  • resourcemanager.projects.list
  • serviceusage.quotas.get
  • serviceusage.services.get
  • serviceusage.services.list

Compute 조직 보안 정책 사용자 역할

이름 설명 권한
roles/compute.orgSecurityPolicyUser 베타 Compute Engine 보안 정책을 보거나 사용하여 조직 또는 폴더와 연결합니다.
  • compute.globalOperations.get
  • compute.globalOperations.getIamPolicy
  • compute.globalOperations.list
  • compute.globalOperations.setIamPolicy
  • compute.projects.get
  • compute.securityPolicies.get
  • compute.securityPolicies.list
  • compute.securityPolicies.use
  • resourcemanager.projects.get
  • resourcemanager.projects.list
  • serviceusage.quotas.get
  • serviceusage.services.get
  • serviceusage.services.list

Compute 조직 리소스 관리자 역할

이름 설명 권한
roles/compute.orgSecurityResourceAdmin 베타 Compute Engine 보안 정책의 조직 또는 폴더 연결을 관리할 수 있는 전체 권한입니다.
  • compute.globalOperations.get
  • compute.globalOperations.getIamPolicy
  • compute.globalOperations.list
  • compute.globalOperations.setIamPolicy
  • compute.projects.get
  • resourcemanager.projects.get
  • resourcemanager.projects.list
  • serviceusage.quotas.get
  • serviceusage.services.get
  • serviceusage.services.list

Compute 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

Compute 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

Compute OS 로그인 외부 사용자 역할

이름 설명 권한
roles/compute.osLoginExternalUser

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

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

  • compute.oslogin.*

Compute 패킷 미러링 관리자 역할

이름 설명 권한
roles/compute.packetMirroringAdmin 미러링할 리소스를 지정합니다.
  • compute.networks.mirror
  • compute.projects.get
  • compute.subnetworks.mirror
  • resourcemanager.projects.get
  • resourcemanager.projects.list
  • serviceusage.quotas.get
  • serviceusage.services.get
  • serviceusage.services.list

Compute 패킷 미러링 사용자 역할

이름 설명 권한
roles/compute.packetMirroringUser Compute Engine 패킷 미러링을 사용합니다.
  • compute.packetMirrorings.*
  • compute.projects.get
  • resourcemanager.projects.get
  • resourcemanager.projects.list
  • serviceusage.quotas.get
  • serviceusage.services.get
  • serviceusage.services.list

Compute 보안 관리자 역할

이름 설명 권한
roles/compute.securityAdmin

방화벽 규칙과 SSL 인증서를 생성, 수정, 삭제하고 보안 VM베타 설정을 구성할 수 있는 권한입니다.

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

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

Compute 스토리지 관리자 역할

이름 설명 권한
roles/compute.storageAdmin

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

예를 들어 회사에서 프로젝트 이미지를 관리하는 담당자에게 프로젝트에 대한 편집자 역할을 부여하지 않으려면 해당 계정에 프로젝트에 대한 storageAdmin 역할을 부여하면 됩니다.

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

Compute 뷰어 역할

이름 설명 권한
roles/compute.viewer

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

예를 들어 이 역할을 부여받은 계정은 프로젝트 내 모든 디스크를 목록화할 수 있지만 디스크에 있는 어떠한 데이터도 읽을 수 없습니다.

  • compute.acceleratorTypes.*
  • compute.addresses.get
  • compute.addresses.list
  • compute.autoscalers.get
  • compute.autoscalers.list
  • compute.backendBuckets.get
  • compute.backendBuckets.list
  • compute.backendServices.get
  • compute.backendServices.list
  • compute.commitments.get
  • compute.commitments.list
  • compute.diskTypes.*
  • compute.disks.get
  • compute.disks.getIamPolicy
  • compute.disks.list
  • compute.externalVpnGateways.get
  • compute.externalVpnGateways.list
  • compute.firewalls.get
  • compute.firewalls.list
  • compute.forwardingRules.get
  • compute.forwardingRules.list
  • compute.globalAddresses.get
  • compute.globalAddresses.list
  • compute.globalForwardingRules.get
  • compute.globalForwardingRules.list
  • compute.globalOperations.get
  • compute.globalOperations.getIamPolicy
  • compute.globalOperations.list
  • compute.healthChecks.get
  • compute.healthChecks.list
  • compute.httpHealthChecks.get
  • compute.httpHealthChecks.list
  • compute.httpsHealthChecks.get
  • compute.httpsHealthChecks.list
  • compute.images.get
  • compute.images.getFromFamily
  • compute.images.getIamPolicy
  • compute.images.list
  • compute.instanceGroupManagers.get
  • compute.instanceGroupManagers.list
  • compute.instanceGroups.get
  • compute.instanceGroups.list
  • compute.instanceTemplates.get
  • compute.instanceTemplates.getIamPolicy
  • compute.instanceTemplates.list
  • compute.instances.get
  • compute.instances.getGuestAttributes
  • compute.instances.getIamPolicy
  • compute.instances.getScreenshot
  • compute.instances.getSerialPortOutput
  • compute.instances.getShieldedInstanceIdentity
  • compute.instances.getShieldedVmIdentity
  • compute.instances.list
  • compute.instances.listReferrers
  • compute.interconnectAttachments.get
  • compute.interconnectAttachments.list
  • compute.interconnectLocations.*
  • compute.interconnects.get
  • compute.interconnects.list
  • compute.licenseCodes.get
  • compute.licenseCodes.getIamPolicy
  • compute.licenseCodes.list
  • compute.licenses.get
  • compute.licenses.getIamPolicy
  • compute.licenses.list
  • compute.machineTypes.*
  • compute.maintenancePolicies.get
  • compute.maintenancePolicies.getIamPolicy
  • compute.maintenancePolicies.list
  • compute.networkEndpointGroups.get
  • compute.networkEndpointGroups.getIamPolicy
  • compute.networkEndpointGroups.list
  • compute.networks.get
  • compute.networks.list
  • compute.networks.listPeeringRoutes
  • compute.nodeGroups.get
  • compute.nodeGroups.getIamPolicy
  • compute.nodeGroups.list
  • compute.nodeTemplates.get
  • compute.nodeTemplates.getIamPolicy
  • compute.nodeTemplates.list
  • compute.nodeTypes.*
  • compute.projects.get
  • compute.regionBackendServices.get
  • compute.regionBackendServices.list
  • compute.regionHealthCheckServices.get
  • compute.regionHealthCheckServices.list
  • compute.regionNotificationEndpoints.get
  • compute.regionNotificationEndpoints.list
  • compute.regionOperations.get
  • compute.regionOperations.getIamPolicy
  • compute.regionOperations.list
  • compute.regions.*
  • compute.reservations.get
  • compute.reservations.list
  • compute.resourcePolicies.get
  • compute.resourcePolicies.list
  • compute.routers.get
  • compute.routers.list
  • compute.routes.get
  • compute.routes.list
  • compute.securityPolicies.get
  • compute.securityPolicies.getIamPolicy
  • compute.securityPolicies.list
  • compute.snapshots.get
  • compute.snapshots.getIamPolicy
  • compute.snapshots.list
  • compute.sslCertificates.get
  • compute.sslCertificates.list
  • compute.sslPolicies.get
  • compute.sslPolicies.list
  • compute.sslPolicies.listAvailableFeatures
  • compute.subnetworks.get
  • compute.subnetworks.getIamPolicy
  • 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.targetTcpProxies.get
  • compute.targetTcpProxies.list
  • compute.targetVpnGateways.get
  • compute.targetVpnGateways.list
  • compute.urlMaps.get
  • compute.urlMaps.list
  • compute.urlMaps.validate
  • compute.vpnGateways.get
  • compute.vpnGateways.list
  • compute.vpnTunnels.get
  • compute.vpnTunnels.list
  • compute.zoneOperations.get
  • compute.zoneOperations.getIamPolicy
  • compute.zoneOperations.list
  • compute.zones.*
  • resourcemanager.projects.get
  • resourcemanager.projects.list
  • serviceusage.quotas.get
  • serviceusage.services.get
  • serviceusage.services.list

Compute 공유 VPC 관리자 역할

이름 설명 권한
roles/compute.xpnAdmin

공유 VPC 호스트 프로젝트를 관리할 수 있는 권한을 제공합니다. 특히 호스트 프로젝트를 사용 설정하고 호스트 프로젝트의 네트워크에 VPC 서비스 프로젝트를 연결할 수 있습니다.

이 역할은 조직 수준에서 조직 관리자만 부여할 수 있습니다.

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

  • compute.globalOperations.get
  • compute.globalOperations.list
  • compute.organizations.*
  • compute.projects.get
  • compute.subnetworks.getIamPolicy
  • compute.subnetworks.setIamPolicy
  • resourcemanager.organizations.get
  • resourcemanager.projects.get
  • resourcemanager.projects.getIamPolicy
  • resourcemanager.projects.list

할당 관리자 역할

이름 설명 권한
roles/osconfig.assignmentAdmin 알파 할당에 대한 전체 관리자 액세스 권한입니다.
  • resourcemanager.projects.get
  • resourcemanager.projects.list

할당 편집자 역할

이름 설명 권한
roles/osconfig.assignmentEditor 알파 할당 리소스의 편집자입니다.
  • resourcemanager.projects.get
  • resourcemanager.projects.list

할당 뷰어 역할

이름 설명 권한
roles/osconfig.assignmentViewer 알파 할당 리소스의 뷰어입니다.
  • resourcemanager.projects.get
  • resourcemanager.projects.list

GuestPolicy 관리자 역할

이름 설명 권한
roles/osconfig.guestPolicyAdmin 알파 GuestPolicy에 대한 전체 관리자 액세스 권한입니다.
  • osconfig.guestPolicies.*
  • resourcemanager.projects.get
  • resourcemanager.projects.list

GuestPolicy 편집자 역할

이름 설명 권한
roles/osconfig.guestPolicyEditor 알파 GuestPolicy 리소스의 편집자입니다.
  • osconfig.guestPolicies.get
  • osconfig.guestPolicies.list
  • osconfig.guestPolicies.update
  • resourcemanager.projects.get
  • resourcemanager.projects.list

GuestPolicy 뷰어 역할

이름 설명 권한
roles/osconfig.guestPolicyViewer 알파 GuestPolicy 리소스의 뷰어입니다.
  • osconfig.guestPolicies.get
  • osconfig.guestPolicies.list
  • resourcemanager.projects.get
  • resourcemanager.projects.list

OsConfig 관리자 역할

이름 설명 권한
roles/osconfig.osConfigAdmin 알파 OsConfig에 대한 전체 관리자 액세스 권한입니다.
  • resourcemanager.projects.get
  • resourcemanager.projects.list

OsConfig 편집자 역할

이름 설명 권한
roles/osconfig.osConfigEditor 알파 OsConfig 리소스의 편집자입니다.
  • resourcemanager.projects.get
  • resourcemanager.projects.list

OsConfig 뷰어 역할

이름 설명 권한
roles/osconfig.osConfigViewer 알파 OsConfig 리소스의 뷰어입니다.
  • resourcemanager.projects.get
  • resourcemanager.projects.list

PatchDeployment 관리자 역할

이름 설명 권한
roles/osconfig.patchDeploymentAdmin 알파 PatchDeployments에 대한 전체 관리자 액세스 권한입니다.
  • osconfig.patchDeployments.*
  • resourcemanager.projects.get
  • resourcemanager.projects.list

PatchDeployment 뷰어 역할

이름 설명 권한
roles/osconfig.patchDeploymentViewer 알파 PatchDeployment 리소스의 뷰어입니다.
  • osconfig.patchDeployments.get
  • osconfig.patchDeployments.list
  • resourcemanager.projects.get
  • resourcemanager.projects.list

패치 작업 실행자 역할

이름 설명 권한
roles/osconfig.patchJobExecutor 알파 패치 작업을 실행하는 액세스 권한입니다.
  • osconfig.patchJobs.*
  • resourcemanager.projects.get
  • resourcemanager.projects.list

패치 작업 뷰어 역할

이름 설명 권한
roles/osconfig.patchJobViewer 알파 패치 작업을 가져오고 나열합니다.
  • osconfig.patchJobs.get
  • osconfig.patchJobs.list
  • resourcemanager.projects.get
  • resourcemanager.projects.list

DNS 관리자 역할

이름 설명 권한
roles/dns.admin 모든 Cloud DNS 리소스에 대한 읽기/쓰기 액세스 권한을 제공합니다.
  • compute.networks.get
  • compute.networks.list
  • dns.changes.*
  • dns.dnsKeys.*
  • dns.managedZoneOperations.*
  • dns.managedZones.*
  • dns.networks.*
  • dns.policies.create
  • dns.policies.delete
  • dns.policies.get
  • dns.policies.list
  • dns.policies.update
  • dns.projects.*
  • dns.resourceRecordSets.*
  • resourcemanager.projects.get
  • resourcemanager.projects.list

DNS 피어 역할

이름 설명 권한
roles/dns.peer DNS 피어링 영역(zone)이 있는 대상 네트워크에 대한 액세스 권한입니다.
  • dns.networks.targetWithPeeringZone

DNS 리더 역할

이름 설명 권한
roles/dns.reader 모든 Cloud DNS 리소스에 대한 읽기 전용 액세스 권한을 제공합니다.
  • compute.networks.get
  • dns.changes.get
  • dns.changes.list
  • dns.dnsKeys.*
  • dns.managedZoneOperations.*
  • dns.managedZones.get
  • dns.managedZones.list
  • dns.policies.get
  • dns.policies.list
  • dns.projects.*
  • dns.resourceRecordSets.list
  • resourcemanager.projects.get
  • resourcemanager.projects.list

서비스 계정 관리자 역할

이름 설명 권한
roles/iam.serviceAccountAdmin 서비스 계정을 만들고 관리합니다.
  • iam.serviceAccounts.create
  • iam.serviceAccounts.delete
  • iam.serviceAccounts.get
  • iam.serviceAccounts.getIamPolicy
  • iam.serviceAccounts.list
  • iam.serviceAccounts.setIamPolicy
  • iam.serviceAccounts.update
  • resourcemanager.projects.get
  • resourcemanager.projects.list

서비스 계정 만들기 역할

이름 설명 권한
roles/iam.serviceAccountCreator 서비스 계정을 만들 수 있는 액세스 권한입니다.
  • iam.serviceAccounts.create
  • iam.serviceAccounts.get
  • iam.serviceAccounts.list
  • resourcemanager.projects.get
  • resourcemanager.projects.list

서비스 계정 삭제 역할

이름 설명 권한
roles/iam.serviceAccountDeleter 서비스 계정을 삭제할 수 있는 액세스 권한입니다.
  • iam.serviceAccounts.delete
  • iam.serviceAccounts.get
  • iam.serviceAccounts.list
  • resourcemanager.projects.get
  • resourcemanager.projects.list

서비스 계정 키 관리자 역할

이름 설명 권한
roles/iam.serviceAccountKeyAdmin 서비스 계정 키를 만들고 관리(및 순환)합니다.
  • iam.serviceAccountKeys.*
  • iam.serviceAccounts.get
  • iam.serviceAccounts.list
  • resourcemanager.projects.get
  • resourcemanager.projects.list

서비스 계정 토큰 생성자 역할

이름 설명 권한
roles/iam.serviceAccountTokenCreator OAuth2 액세스 토큰, 서명 blob, JWT 생성 등과 같이 서비스 계정을 가장하는 작업을 합니다.
  • iam.serviceAccounts.get
  • iam.serviceAccounts.getAccessToken
  • iam.serviceAccounts.getOpenIdToken
  • iam.serviceAccounts.implicitDelegation
  • iam.serviceAccounts.list
  • iam.serviceAccounts.signBlob
  • iam.serviceAccounts.signJwt
  • resourcemanager.projects.get
  • resourcemanager.projects.list

서비스 계정 사용자 역할

이름 설명 권한
roles/iam.serviceAccountUser 서비스 계정으로 작업을 실행합니다.
  • iam.serviceAccounts.actAs
  • iam.serviceAccounts.get
  • iam.serviceAccounts.list
  • resourcemanager.projects.get
  • resourcemanager.projects.list

작업 부하 아이덴티티 사용자 역할

이름 설명 권한
roles/iam.workloadIdentityUser GKE 워크로드의 서비스 계정을 가장합니다.
  • iam.serviceAccounts.get
  • iam.serviceAccounts.getAccessToken
  • iam.serviceAccounts.getOpenIdToken
  • iam.serviceAccounts.list

serviceAccountUser 역할

roles/compute.instanceAdmin.v1roles/iam.serviceAccountUser 역할을 함께 부여받은 구성원은 서비스 계정을 사용하는 인스턴스를 만들고 관리할 수 있습니다. 구체적으로 roles/iam.serviceAccountUserroles/compute.instanceAdmin.v1 역할을 함께 부여받은 구성원에게는 다음 작업을 수행할 수 있는 권한이 제공됩니다.

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

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

  • 권장사항. 특정 서비스 계정의 구성원에게 역할을 부여합니다. 이렇게 하면 이 구성원은 iam.serviceAccountUser 역할을 부여받은 서비스 계정에는 액세스할 수 있지만, iam.serviceAccountUser 역할을 부여받지 않은 다른 서비스 계정에는 액세스할 수 없습니다.

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

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

인스턴스에 instanceAdmin으로 연결

roles/compute.instanceAdmin.v1 역할을 부여받은 프로젝트 구성원은 gcloud 도구 같은 표준 Google Cloud 도구 또는 브라우저에서 SSH를 통해 연결 기능을 사용하여 가상 머신(VM) 인스턴스에 연결할 수 있습니다.

구성원이 gcloud 명령줄 도구 또는 브라우저에서 SSH를 통해 연결 기능을 사용하면 도구에서 공개 키/비공개 키 쌍을 자동으로 생성하여 공개 키를 프로젝트 메타데이터에 추가합니다. 구성원에게 프로젝트 메타데이터를 수정할 권한이 없으면 구성원의 공개 키가 인스턴스 메타데이터에 자동으로 추가됩니다.

구성원에게 사용하려는 키 쌍이 이미 있는 경우에는 공개 키를 인스턴스의 메타데이터에 직접 추가할 수 있습니다. 인스턴스에서 SSH 키를 추가하거나 삭제하는 방법에 대해 자세히 알아보세요.

서비스 계정과 IAM

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

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

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

관리형 인스턴스 그룹 및 Cloud IAM

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

지원되지 않는 작업

Cloud IAM 역할로는 인스턴스 그룹에서 순차적 업데이트를 수행하도록 액세스 권한을 부여할 수 없습니다.

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

다음 단계