Questo documento spiega come creare un'istanza di macchina virtuale (VM) configurata per utilizzare un service account gestito dall'utente. Un service account è un tipo speciale di account utilizzato in genere da un'applicazione o da un workload di computing per effettuare chiamate API autorizzate.
I service account sono necessari per gli scenari in cui un workload, ad esempio un'applicazione personalizzata, deve accedere alle risorse Trusted Cloud by S3NS o eseguire azioni senza il coinvolgimento dell'utente finale. Per ulteriori informazioni su quando utilizzare i service account, consulta Best practice per l'utilizzo dei service account.
Se hai applicazioni che devono effettuare chiamate alle API Trusted Cloud by S3NS , Google consiglia di collegare un service account gestito dall'utente alla VM su cui è in esecuzione l'applicazione o il workload. Poi, concedi al service account i ruoli IAM, che concedono al service account e, per estensione, alle applicazioni in esecuzione sulla VM, l'accesso alle risorseTrusted Cloud by S3NS .
Prima di iniziare
-
Se non l'hai ancora fatto, configura l'autenticazione.
L'autenticazione è
il processo mediante il quale la tua identità viene verificata per l'accesso a servizi e API di Trusted Cloud by S3NS .
Per eseguire codice o esempi da un ambiente di sviluppo locale, puoi autenticarti su Compute Engine selezionando una delle seguenti opzioni:
Select the tab for how you plan to use the samples on this page:
Console
When you use the Trusted Cloud console to access Trusted Cloud by S3NS services and APIs, you don't need to set up authentication.
gcloud
-
After installing the Google Cloud CLI, sign in to the gcloud CLI with your federated identity and then initialize it by running the following command:
gcloud init
- Set a default region and zone.
-
Install the Google Cloud CLI.
-
Configure the gcloud CLI to use your federated identity.
For more information, see Sign in to the gcloud CLI with your federated identity.
-
To initialize the gcloud CLI, run the following command:
gcloud init
-
Create local authentication credentials for your user account:
gcloud auth application-default login
If an authentication error is returned, and you are using an external identity provider (IdP), confirm that you have signed in to the gcloud CLI with your federated identity.
-
Compute Instance Admin (v1) (
roles/compute.instanceAdmin.v1
) -
Create Service Accounts (
roles/iam.serviceAccountCreator
) -
Project IAM Admin (
roles/resourcemanager.projectIamAdmin
) -
Per creare service account:
Tutte le autorizzazioni nel ruolo
iam.serviceAccountCreator
-
Per concedere le autorizzazioni al service account:
Tutte le autorizzazioni nel ruolo
resourcemanager.projectIamAdmin
-
Per creare le VM:
compute.instances.create
sul progetto- Per utilizzare un'immagine personalizzata per creare la VM:
compute.images.useReadOnly
sull'immagine - Per utilizzare uno snapshot per creare la VM:
compute.snapshots.useReadOnly
sullo snapshot - Per utilizzare un template di istanza per creare la VM:
compute.instanceTemplates.useReadOnly
sul template di istanza - Per assegnare una rete legacy alla VM:
compute.networks.use
sul progetto - Per specificare un indirizzo IP statico per la VM:
compute.addresses.use
sul progetto - Per assegnare un indirizzo IP esterno alla VM quando viene utilizzata una rete legacy:
compute.networks.useExternalIp
sul progetto - Per specificare una subnet per la VM:
compute.subnetworks.use
sul progetto o sulla subnet scelta - Per assegnare un indirizzo IP esterno alla VM quando si utilizza una rete VPC:
compute.subnetworks.useExternalIp
sul progetto o sulla subnet scelta - Per impostare i metadati dell'istanza VM per la VM:
compute.instances.setMetadata
sul progetto - Per impostare i tag per la VM:
compute.instances.setTags
sulla VM - Per impostare le etichette per la VM:
compute.instances.setLabels
sulla VM - Per impostare un service account che la VM possa utilizzare:
compute.instances.setServiceAccount
sulla VM - Per creare un nuovo disco per la VM:
compute.disks.create
sul progetto - Per collegare un disco esistente in modalità di sola lettura o lettura/scrittura:
compute.disks.use
sul disco - Per collegare un disco esistente in modalità di sola lettura:
compute.disks.useReadOnly
sul disco
- Crea un nuovo service account gestito dall'utente anziché utilizzare quello predefinito di Compute Engine e concedi a questo service account i ruoli IAM solo per le risorse e le operazioni di cui ha bisogno.
- Collega il service account alla VM.
- Imposta l'ambito della piattaforma cloud (
https://www.googleapis.com/auth/cloud-platform
) sulla VM. In questo modo, il service account della VM può chiamare le API Trusted Cloud by S3NS di cui ha l'autorizzazione per l'utilizzo.- Se specifichi il service account utilizzando la console Trusted Cloud ,
l'ambito di accesso della VM viene impostato automaticamente sull'ambito
cloud-platform
. - Se specifichi il service account utilizzando Google Cloud CLI o l'API
Compute Engine, puoi utilizzare il parametro
scopes
per impostare l'ambito di accesso.
- Se specifichi il service account utilizzando la console Trusted Cloud ,
l'ambito di accesso della VM viene impostato automaticamente sull'ambito
- Select your project.
-
In the Service account name field, enter a name. The Trusted Cloud console fills in the Service account ID field based on this name.
In the Service account description field, enter a description. For example,
Service account for quickstart
. - Click Create and continue.
-
Grant the required roles to the service account.
To grant a role, find the Select a role list, then select the role.
To grant additional roles, click
Add another role and add each additional role. - Click Continue.
-
In the Service account users role field, enter the identifier for the principal that will attach the service account to other resources, such as Compute Engine instances.
This is typically the identifier for a user in a workforce identity pool. For details, see Represent workforce pool users in IAM policies.
-
Click Done to finish creating the service account.
-
Create the service account:
gcloud iam service-accounts create SERVICE_ACCOUNT_NAME
Replace
SERVICE_ACCOUNT_NAME
with a name for the service account. -
To provide access to your project and your resources, grant a role to the service account:
gcloud projects add-iam-policy-binding PROJECT_ID --member="serviceAccount:SERVICE_ACCOUNT_NAME@PROJECT_ID.s3ns-system.iam.gserviceaccount.com" --role=ROLE
Replace the following:
SERVICE_ACCOUNT_NAME
: the name of the service accountPROJECT_ID
: the project ID where you created the service accountROLE
: the role to grant
- To grant another role to the service account, run the command as you did in the previous step.
-
Grant the required role to the principal that will attach the service account to other resources.
gcloud iam service-accounts add-iam-policy-binding SERVICE_ACCOUNT_NAME@PROJECT_ID.s3ns-system.iam.gserviceaccount.com --member="principal://iam.googleapis.com/locations/global/workforcePools/POOL_ID/subject/SUBJECT_ID" --role=roles/iam.serviceAccountUser
Replace the following:
SERVICE_ACCOUNT_NAME
: the name of the service account.PROJECT_ID
: the project ID where you created the service account.POOL_ID
: a workforce identity pool ID.-
SUBJECT_ID
: a subject ID; typically the identifier for a user in a workforce identity pool. For details, see Represent workforce pool users in IAM policies.
Nella console Trusted Cloud , vai alla pagina Crea un'istanza.
Per collegare un service account:
- Nel menu di navigazione, fai clic su Sicurezza.
- Nell'elenco Service account, seleziona il service account che hai creato.
- Per Ambiti di accesso, seleziona Consenti l'accesso completo a tutte le API Cloud.
(Facoltativo) Specifica altre opzioni di configurazione. Per ulteriori informazioni, consulta Opzioni di configurazione durante la creazione dell'istanza.
Per creare e avviare l'istanza, fai clic su Crea.
SERVICE_ACCOUNT_EMAIL
: l'indirizzo email del service account che hai creato. Ad esempio:my-sa-123@my-project-123.s3ns-system.iam.gserviceaccount.com
. Per visualizzare l'indirizzo email, consulta Creazione dell'elenco dei service account.VM_NAME
: il nome dell'istanza VM.PROJECT_ID
: l'ID del progetto in cui creare la VM.ZONE
: la zona in cui creare la VM.MACHINE_TYPE_ZONE
: la zona contenente il tipo di macchina da utilizzare per la nuova VM.MACHINE_TYPE
: il tipo di macchina, predefinita o personalizzata, per la nuova VM.VM_NAME
: il nome della nuova VM.IMAGE_PROJECT
: il progetto contenente l'immagine
Ad esempio, se specifichidebian-10
come famiglia di immagini, specificadebian-cloud
come progetto di immagini.IMAGE
: specifica una delle seguenti opzioni:IMAGE
: una versione specifica di un'immagine pubblica.Ad esempio,
"sourceImage": "projects/debian-cloud/global/images/debian-10-buster-v20200309"
IMAGE_FAMILY
: una famiglia di immagini.In questo modo, la VM viene creata dall'immagine sistema operativo più recente e non deprecata. Ad esempio, se specifichi
"sourceImage": "projects/debian-cloud/global/images/family/debian-10"
, Compute Engine crea una VM dall'ultima versione dell'immagine sistema operativo nella famiglia di immaginiDebian 10
.
NETWORK_NAME
: la rete VPC che vuoi utilizzare per la VM. Puoi specificaredefault
per utilizzare la rete predefinita.SERVICE_ACCOUNT_EMAIL
: l'indirizzo email del service account che hai creato. Ad esempio:my-sa-123@my-project-123.s3ns-system.iam.gserviceaccount.com
. Per visualizzare l'indirizzo email, consulta ottieni un'email per il service account.ENABLE_SECURE_BOOT
: (Facoltativo) se hai scelto un'immagine che supporta le funzionalità Shielded VM, Compute Engine attiva per impostazione predefinita il Virtual Trusted Platform Module (vTPM) e il monitoraggio dell'integrità. Compute Engine non attiva l'Avvio protetto per impostazione predefinita.Se specifichi
true
perenableSecureBoot
, Compute Engine crea una VM con tutte e tre le funzionalità Shielded VM attivate. Dopo che Compute Engine ha avviato la VM, per modificare le opzioni Shielded VM devi arrestarla.Assicurati che il service account collegato alla VM abbia il ruolo
roles/storage.admin
.Se la VM utilizza un'immagine sistema operativo personalizzata, installa gcloud CLI. Per impostazione predefinita, gcloud CLI è installato sulla maggior parte delle immagini sistema operativo pubbliche fornite da Trusted Cloud by S3NS.
Connettiti alla VM.
Dalla VM, utilizza Google Cloud CLI per gestire le risorse di Cloud Storage.
- Scopri come autenticare i workload utilizzando i service account.
- Scopri come modificare il service account collegato a una VM.
- Scopri come elencare e modificare i service account.
- Consulta le best practice per l'utilizzo dei service account e riduci i rischi per la sicurezza.
Terraform
Per utilizzare gli esempi di Terraform in questa pagina in un ambiente di sviluppo locale, installa e inizializza gcloud CLI, quindi configura le Credenziali predefinite dell'applicazione con le tue credenziali utente.
Per ulteriori informazioni, vedi Set up authentication for a local development environment.
REST
Per utilizzare gli esempi di API REST in questa pagina in un ambiente di sviluppo locale, utilizzi le credenziali che fornisci a gcloud CLI.
After installing the Google Cloud CLI, sign in to the gcloud CLI with your federated identity and then initialize it by running the following command:
gcloud init
Per saperne di più, consulta la sezione Autenticarsi per l'utilizzo di REST nella documentazione sull'autenticazione di Trusted Cloud .
Ruoli obbligatori
Per ottenere le autorizzazioni necessarie per creare VM che utilizzano service account, chiedi all'amministratore di concederti i seguenti ruoli IAM sul progetto:
Per ulteriori informazioni sulla concessione dei ruoli, consulta Gestisci l'accesso a progetti, cartelle e organizzazioni.
Questi ruoli predefiniti contengono le autorizzazioni necessarie per creare VM che utilizzano service account. Per vedere quali sono esattamente le autorizzazioni richieste, espandi la sezione Autorizzazioni obbligatorie:
Autorizzazioni obbligatorie
Per creare VM che utilizzano service account sono necessarie le seguenti autorizzazioni:
Potresti anche ottenere queste autorizzazioni con ruoli personalizzati o altri ruoli predefiniti.
Panoramica
Ti consigliamo di configurare i service account per le tue VM come segue:
Configura un service account
Crea un service account e assegna i ruoli IAM richiesti. Assegna tutti i ruoli IAM necessari. Puoi modificare i ruoli IAM nel tuo service account in base alle esigenze.
Google consiglia di limitare i privilegi dei service account e di controllare regolarmente le autorizzazioni dei service account per assicurarsi che siano aggiornate.
Utilizza uno dei seguenti metodi per configurare il service account.
Console
In the Trusted Cloud console, go to the Create service account page.
Go to Create service accountgcloud
Set up authentication:
Terraform
Per creare un service account, puoi utilizzare la risorsa
google_service_account
.Ricorda di sostituire i valori segnaposto per gli attributi
account_id
edisplay_name
.Per scoprire come applicare o rimuovere una configurazione Terraform, consulta Comandi Terraform di base.
Crea una VM e collega il service account
Dopo aver creato il service account, crea una VM e collega il service account creato nella sezione precedente. Imposta anche l'ambito di accesso della VM su
cloud-platform
.Se hai già una VM esistente e vuoi configurarla in modo che utilizzi un service account diverso, consulta Modifica il service account collegato.
Utilizza uno dei seguenti metodi per creare una VM e collegare il service account.
Console
gcloud
Per creare una nuova istanza VM e configurarla per utilizzare un service account personalizzato utilizzando Google Cloud CLI, utilizza il comando
gcloud compute instances create
e fornisci l'indirizzo email del service account e l'ambito di accessocloud-platform
all'istanza VM.gcloud compute instances create VM_NAME \ --service-account=SERVICE_ACCOUNT_EMAIL \ --scopes=https://www.googleapis.com/auth/cloud-platform
Sostituisci quanto segue:
Ad esempio:
gcloud compute instances create example-vm \ --service-account 123-my-sa@my-project-123.s3ns-system.iam.gserviceaccount.com \ --scopes=https://www.googleapis.com/auth/cloud-platform
Puoi anche specificare l'ambito utilizzando l'alias:
--scopes=cloud-platform
. Questi alias sono riconosciuti solo da gcloud CLI. L'API e altre librerie non riconoscono questi alias, pertanto devi specificare l'URI di ambito completo.Terraform
Per configurare una nuova VM in modo che utilizzi un service account, puoi utilizzare la risorsa
google_compute_instance
.REST
Utilizza il metodo
instances.insert
per creare la VM e specifica l'indirizzo email e l'ambito di accesso del service account per l'istanza VM.POST https://compute.googleapis.com/compute/v1/projects/
PROJECT_ID
/zones/ZONE
/instances { "machineType":"zones/MACHINE_TYPE_ZONE/machineTypes/MACHINE_TYPE", "name":"VM_NAME
", "disks":[ { "initializeParams":{ "sourceImage":"projects/IMAGE_PROJECT/global/images/IMAGE" }, "boot":true } ], "networkInterfaces":[ { "network":"global/networks/NETWORK_NAME" } ], "serviceAccounts": [ { "email": "SERVICE_ACCOUNT_EMAIL", "scopes": ["https://www.googleapis.com/auth/cloud-platform"] } ], "shieldedInstanceConfig":{ "enableSecureBoot":"ENABLE_SECURE_BOOT" } }Sostituisci quanto segue:
Accedi e utilizza altri servizi Trusted Cloud by S3NS
Una volta configurata la VM per l'utilizzo del service account, le applicazioni possono utilizzarlo per l'autenticazione. Il metodo più comune è eseguire l'autenticazione utilizzando le Credenziali predefinite dell'applicazione e una libreria client. Alcuni strumenti Trusted Cloud by S3NS , come gcloud CLI, sono in grado di utilizzare automaticamente il service account per accedere alle API Trusted Cloud by S3NS da una VM. Per ulteriori informazioni, consulta Autentica i workload utilizzando i service account.
Se un service account viene eliminato, le applicazioni non avranno più accesso alle risorseTrusted Cloud by S3NS tramite quel service account. Se elimini i service account predefiniti di App Engine e Compute Engine, le VM non avranno più accesso alle risorse del progetto. Se non sai con certezza se un service account è in uso, Google consiglia di disattivarlo prima di eliminarlo. I service account disattivati possono essere riattivati se sono ancora necessari.
Esempio: accedi alle risorse di Cloud Storage dalla VM
Dopo aver configurato la VM in modo che utilizzi un service account con il ruolo
storage.admin
, puoi utilizzare strumenti come gcloud CLI per gestire i file archiviati su Cloud Storage. Per accedere alle tue risorse Cloud Storage:Passaggi successivi
Salvo quando diversamente specificato, i contenuti di questa pagina sono concessi in base alla licenza Creative Commons Attribution 4.0, mentre gli esempi di codice sono concessi in base alla licenza Apache 2.0. Per ulteriori dettagli, consulta le norme del sito di Google Developers. Java è un marchio registrato di Oracle e/o delle sue consociate.
Ultimo aggiornamento 2025-07-20 UTC.
[[["Facile da capire","easyToUnderstand","thumb-up"],["Il problema è stato risolto","solvedMyProblem","thumb-up"],["Altra","otherUp","thumb-up"]],[["Mancano le informazioni di cui ho bisogno","missingTheInformationINeed","thumb-down"],["Troppo complicato/troppi passaggi","tooComplicatedTooManySteps","thumb-down"],["Obsoleti","outOfDate","thumb-down"],["Problema di traduzione","translationIssue","thumb-down"],["Problema relativo a esempi/codice","samplesCodeIssue","thumb-down"],["Altra","otherDown","thumb-down"]],["Ultimo aggiornamento 2025-07-20 UTC."],[[["This document outlines how to create a virtual machine (VM) instance configured to use a user-managed service account, which is a special type of account used by applications or workloads to make authorized API calls to Google Cloud."],["Attaching a user-managed service account to a VM is recommended for applications needing to access Google Cloud resources without end-user involvement, and it is essential to grant appropriate IAM roles to the service account to define its access permissions."],["The process involves creating a new user-managed service account, assigning necessary IAM roles to it, attaching it to the VM, and setting the VM's access scope to the `cloud-platform` scope to enable Google Cloud API access."],["The required permissions to create VMs that use service accounts include specific permissions related to the creation and management of the service account and the VM itself, such as creating and attaching disks, setting metadata, and managing network settings, and can be fulfilled by using a combination of predefined roles."],["After configuring the VM to use a service account, applications can authenticate using Application Default Credentials and client libraries, allowing access to other Google Cloud services; for instance, if the service account has the `storage.admin` role, tools like the gcloud CLI can be used from the VM to manage Cloud Storage resources."]]],[]] -