Run a VM as a service account

Assign a service account for a VM, add access scopes, and set up the VM to run as a service account.

Explore further

For detailed documentation that includes this code sample, see the following:

Code sample

To learn how to apply or remove a Terraform configuration, see Basic Terraform commands . For more information, see the Terraform provider reference documentation .

  resource 
  
 "google_compute_instance" 
  
 "default" 
  
 { 
  
 name 
  
 = 
  
 "my-test-vm" 
  
 machine_type 
  
 = 
  
 "n1-standard-1" 
  
 zone 
  
 = 
  
 "us-central1-a" 
  
 boot_disk 
  
 { 
  
 initialize_params 
  
 { 
  
 image 
  
 = 
  
 "debian-cloud/debian-11" 
  
 } 
  
 } 
 // Local SSD disk 
  
 scratch_disk 
  
 { 
  
 interface 
  
 = 
  
 "SCSI" 
  
 } 
  
 network_interface 
  
 { 
  
 network 
  
 = 
  
 "default" 
  
 access_config 
  
 { 
 // Ephemeral public IP 
  
 } 
  
 } 
  
 service_account 
  
 { 
 # Google recommends custom service accounts with `cloud-platform` scope with 
 # specific permissions granted via IAM Roles. 
 # This approach lets you avoid embedding secret keys or user credentials 
 # in your instance, image, or app code 
  
 email 
  
 = 
  
 google_service_account.default.email 
  
 scopes 
  
 = 
  
 [ 
 "cloud-platform" 
 ] 
  
 } 
 } 
 

What's next

To search and filter code samples for other Google Cloud products, see the Google Cloud sample browser .

Create a Mobile Website
View Site in Mobile | Classic
Share by: