Per consentire agli utenti di creare, eliminare, utilizzare o condividere le tue immagini personalizzate, devi garantire loro i ruoli IAM (Identity and Access Management) appropriati. Questo documento descrive le autorizzazioni IAM necessarie per creare e gestire le immagini personalizzate e come assegnarle agli utenti.
Per informazioni generali sulla concessione dell'accesso alle risorse Compute Engine, consulta Gestione dell'accesso alle risorse di Compute Engine. Per informazioni su IAM, leggi la documentazione IAM.
Prima di iniziare
- Leggi la documentazione IAM.
- Scopri di più sui ruoli IAM di Compute Engine, in particolare sul ruolo Compute Image User (
roles/compute.imageUser
). -
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
-
Install the Google Cloud CLI, and then sign in to the gcloud CLI with your federated identity. After signing in, initialize the Google Cloud CLI by running the following command:
gcloud init
- Set a default region and zone.
REST
Per utilizzare gli esempi di API REST in questa pagina in un ambiente di sviluppo locale, devi utilizzare le credenziali che fornisci a gcloud CLI.
Install the Google Cloud CLI, and then sign in to the gcloud CLI with your federated identity. After signing in, initialize the Google Cloud CLI by running the following command:
gcloud init
Per saperne di più, consulta Autenticarsi per l'utilizzo di REST nella documentazione sull'autenticazione di Trusted Cloud .
Ruoli obbligatori
Per ottenere le autorizzazioni necessarie per gestire l'accesso alle immagini personalizzate, chiedi all'amministratore di concederti i seguenti ruoli IAM:
-
Project IAM Admin (
roles/resourcemanager.projectIamAdmin
) sul progetto -
Compute Admin (
roles/compute.admin
) sul progetto
Per saperne di più sulla concessione dei ruoli, consulta Gestisci l'accesso a progetti, cartelle e organizzazioni.
Questi ruoli predefiniti contengono le autorizzazioni necessarie per gestire l'accesso alle immagini personalizzate. Per vedere quali sono esattamente le autorizzazioni richieste, espandi la sezione Autorizzazioni obbligatorie:
Autorizzazioni obbligatorie
Per gestire l'accesso alle immagini personalizzate sono necessarie le seguenti autorizzazioni:
-
Per concedere agli utenti o ai service account le autorizzazioni necessarie per creare e condividere immagini personalizzate:
-
resourcemanager.projects.getIamPolicy
sul progetto -
resourcemanager.projects.setIamPolicy
sul progetto
-
-
Per concedere agli utenti o ai service account le autorizzazioni necessarie per eliminare le immagini personalizzate:
-
resourcemanager.projects.getIamPolicy
sul progetto -
resourcemanager.projects.setIamPolicy
sul progetto -
compute.images.getIamPolicy
sull'immagine -
compute.images.setIamPolicy
sull'immagine
-
-
Per revocare l'accesso dell'utente o del service account alle immagini personalizzate:
-
resourcemanager.projects.getIamPolicy
sul progetto -
resourcemanager.projects.setIamPolicy
sul progetto
-
-
Per creare un'istanza utilizzando un'immagine condivisa:
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 viene utilizzata 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 da utilizzare per la VM:
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
Potresti anche ottenere queste autorizzazioni con ruoli personalizzati o altri ruoli predefiniti.
Limitazioni
Nelle immagini, non puoi concedere ruoli al tipo di membro speciale
allUsers
.Concedi l'autorizzazione per creare immagini personalizzate
Puoi consentire agli utenti di creare immagini personalizzate nella tua organizzazione o nel tuo progetto.
Compute Engine offre il ruolo Compute Storage Admin (
roles/compute.storageAdmin
) predefinito che puoi assegnare agli utenti in modo che possano creare, eliminare e gestire le risorse correlate allo spazio di archiviazione, tra cui immagini, dischi e snapshot. Se hai bisogno di un ruolo che consenta solo la creazione di immagini, devi creare un ruolo personalizzato. Nel ruolo personalizzato, includi le seguenti autorizzazioni:compute.images.create
per creare nuove immaginicompute.images.list
per elencare le immagini nel progettocompute.disks.use
se l'immagine viene creata da un discocompute.disks.list
se gli utenti devono elencare tutti i dischi di un progetto
Se concedi a un utente la possibilità di creare immagini personalizzate a livello di organizzazione, l'utente potrà creare immagini personalizzate per qualsiasi progetto all'interno dell'organizzazione.
Console
Nella console Trusted Cloud , vai alla pagina IAM per il progetto o l'organizzazione.
Per aggiungere un nuovo membro, fai clic su
Concedi l'accesso.Nel campo Nuove entità, inserisci l'indirizzo email dell'identità a cui vuoi concedere l'accesso.
Ad esempio:
- Email Account Google:
test-user@gmail.com
- Gruppo Google:
admins@googlegroups.com
- Identità di un provider di identità esterno:
principal://iam.googleapis.com/locations/global/workforcePools/altostrat-contractors/subject/raha@altostrat.com
- Service account:
server@example.s3ns-system.iam.gserviceaccount.com
- Dominio Google Workspace:
example.com
- Email Account Google:
Nell'elenco Seleziona un ruolo, seleziona Compute Engine > Compute Storage Admin o un ruolo personalizzato, se ne hai creato uno.
(Facoltativo) Per controllare ulteriormente l'accesso dell'utente alle risorse Trusted Cloud by S3NS , aggiungi l'associazione di ruoli condizionale.
Salva le modifiche.
gcloud
Per concedere il ruolo
roles/compute.storageAdmin
a livello di organizzazione, utilizza il comandogcloud organizations add-iam-policy-binding
:gcloud organizations add-iam-policy-binding ORGANIZATION_ID \ --member='MEMBER' \ --role='roles/compute.storageAdmin'
Per concedere il ruolo
roles/compute.storageAdmin
a livello di progetto, utilizza il comandogcloud projects add-iam-policy-binding
:gcloud projects add-iam-policy-binding PROJECT_ID \ --member='MEMBER' \ --role='roles/compute.storageAdmin'
Sostituisci quanto segue:
ORGANIZATION_ID
oPROJECT_ID
: l'ID organizzazione o l'ID progetto, ad esempiomy-organization-1
omy-project-1
MEMBER
: un'identità valida a cui vuoi assegnare il ruoloAd esempio:
- Email Account Google:
user:user@gmail.com
- Gruppo Google:
group:admins@googlegroups.com
- Identità di un provider di identità esterno:
principal://iam.googleapis.com/locations/global/workforcePools/altostrat-contractors/subject/raha@altostrat.com
- Service account:
serviceAccount:server@example.s3ns-system.iam.gserviceaccount.com
- Dominio Google Workspace:
domain:example.com
- Email Account Google:
REST
Leggi la policy esistente con il metodo
getIamPolicy
della risorsa. Per i progetti, utilizza il metodoprojects.getIamPolicy
.POST https://cloudresourcemanager.googleapis.com/v1/projects/PROJECT_ID:getIamPolicy
Sostituisci
PROJECT_ID
con l'ID progetto, ad esempiomy-project-1
.Per le organizzazioni, utilizza il metodo
organizations.getIamPolicy
.POST https://cloudresourcemanager.googleapis.com/v1/organizations/ORGANIZATION_ID:getIamPolicy
Sostituisci
ORGANIZATION_ID
con l'ID dell'organizzazione, ad esempio123456578920
.Compute Engine restituisce la policy corrente nella risposta.
Per aggiungere o rimuovere i membri e i relativi ruoli associati, modifica la policy con un editor di testo. Utilizza il seguente formato per aggiungere membri:
user:test-user@gmail.com
group:admins@example.com
serviceAccount:test123@example.domain.com
domain:example.domain.com
Ad esempio, per concedere il ruolo
roles/compute.storageAdmin
agroup:admins@example.com
, aggiungi la seguente associazione alla policy:{ "members": [ "group:admins@example.com" ], "role":"roles/compute.storageAdmin" }
Scrivi la policy aggiornata utilizzando il metodo
setIamPolicy
.Ad esempio, per impostare una policy a livello di progetto, utilizza il metodo
project.setIamPolicy
. Nel corpo della richiesta, fornisci la policy IAM aggiornata del passaggio precedente.POST https://cloudresourcemanager.googleapis.com/v1/projects/PROJECT_ID:setIamPolicy
Sostituisci
PROJECT_ID
con l'ID progetto.
Concedi le autorizzazioni per eliminare immagini personalizzate
A seconda delle tue esigenze, puoi concedere agli utenti l'autorizzazione a:
- Eliminare un'immagine specifica
- Eliminare le immagini di proprietà di un progetto specifico
- Eliminare le immagini di qualsiasi progetto in un'organizzazione
La concessione dell'autorizzazione a livello di progetto consente agli utenti di eliminare tutte le immagini di proprietà del progetto. La concessione dell'autorizzazione a livello di organizzazione consente all'utente di eliminare tutte le immagini di proprietà dell'organizzazione, indipendentemente dal progetto.
Compute Engine offre il ruolo Compute Storage Admin (
roles/compute.storageAdmin
) predefinito che puoi assegnare agli utenti in modo che possano creare, eliminare e gestire le risorse correlate allo spazio di archiviazione, tra cui immagini, dischi e snapshot. Se hai bisogno di un ruolo che consenta solo l'eliminazione delle immagini, devi creare un ruolo personalizzato. Nel ruolo personalizzato, includi le seguenti autorizzazioni:compute.images.delete
per eliminare le immaginicompute.images.list
se gli utenti devono elencare le immagini nel progetto o nell'organizzazionecompute.images.get
per ottenere le immagini
Console
Per concedere l'autorizzazione a eliminare immagini specifiche, segui questi passaggi:
Nella console Trusted Cloud , vai alla pagina Immagini.
Seleziona le immagini per cui vuoi concedere le autorizzazioni.
Per espandere la colonna delle autorizzazioni, fai clic su Mostra riquadro informazioni.
Per aggiungere uno o più membri, fai clic su Aggiungi entità.
Nel campo Nuove entità, inserisci l'indirizzo email dell'identità con cui vuoi condividere l'immagine.
Ad esempio:
- Email Account Google:
test-user@gmail.com
- Gruppo Google:
admins@googlegroups.com
- Identità di un provider di identità esterno:
principal://iam.googleapis.com/locations/global/workforcePools/altostrat-contractors/subject/raha@altostrat.com
- Service account:
server@example.s3ns-system.iam.gserviceaccount.com
- Dominio Google Workspace:
example.com
- Email Account Google:
Nell'elenco Ruolo, tieni il puntatore del mouse su Compute Engine e seleziona Amministratore Storage oppure seleziona un ruolo personalizzato dall'elenco Personalizzato.
(Facoltativo) Per controllare ulteriormente l'accesso dell'utente alle risorse Trusted Cloud by S3NS , aggiungi l'associazione di ruoli condizionale.
Salva le modifiche.
Per concedere l'autorizzazione a eliminare le immagini per un progetto o un'organizzazione, segui questi passaggi:
Vai alla pagina IAM del progetto o dell'organizzazione.
Fai clic su
Concedi l'accesso.Nel campo Nuove entità, inserisci l'indirizzo email dell'identità a cui vuoi concedere l'accesso. Ad esempio:
- Email Account Google:
test-user@gmail.com
- Gruppo Google:
admins@googlegroups.com
- Identità di un provider di identità esterno:
principal://iam.googleapis.com/locations/global/workforcePools/altostrat-contractors/subject/raha@altostrat.com
- Service account:
server@example.s3ns-system.iam.gserviceaccount.com
- Dominio Google Workspace:
example.com
- Email Account Google:
Nell'elenco Ruolo, tieni il puntatore del mouse su Compute Engine e seleziona Amministratore Storage oppure seleziona un ruolo personalizzato dall'elenco Personalizzato.
(Facoltativo) Per controllare ulteriormente l'accesso dell'utente alle risorse Trusted Cloud by S3NS , aggiungi l'associazione di ruoli condizionale.
Salva le modifiche.
gcloud
Per concedere le autorizzazioni per eliminare le immagini a livello di organizzazione, utilizza il comando
gcloud organizations add-iam-policy-binding
:gcloud organizations add-iam-policy-binding ORGANIZATION_ID \ --member='MEMBER' \ --role='ROLE'
Per concedere le autorizzazioni per eliminare le immagini a livello di progetto, utilizza il comando
gcloud projects add-iam-policy-binding
:gcloud projects add-iam-policy-binding PROJECT_ID \ --member='MEMBER' \ --role='ROLE'
Per concedere le autorizzazioni per eliminare un'immagine specifica, utilizza il comando
gcloud compute images add-iam-policy-binding
:gcloud compute images add-iam-policy-binding IMAGE_NAME \ --member='MEMBER' \ --role='ROLE'
Sostituisci quanto segue:
ORGANIZATION_ID
oPROJECT_ID
oIMAGE_NAME
: l'ID numerico dell'organizzazione a 12 cifre, l'ID progetto o il nome dell'immagine, ad esempio123456578920
,my-project-1
omy-custom-image
MEMBER
: un'identità valida a cui vuoi assegnare il ruoloAd esempio:
- Email Account Google:
user:user@gmail.com
- Gruppo Google:
group:admins@googlegroups.com
- Identità di un provider di identità esterno:
principal://iam.googleapis.com/locations/global/workforcePools/altostrat-contractors/subject/raha@altostrat.com
- Service account:
serviceAccount:server@example.s3ns-system.iam.gserviceaccount.com
- Dominio Google Workspace:
domain:example.com
- Email Account Google:
ROLE
: il ruolo da assegnare a questa identità, ad esempio il ruoloroles/compute.storageAdmin
o un ruolo personalizzato comeroles/customImageDeletionRole
REST
Leggi la policy esistente con il metodo
getIamPolicy
della risorsa corrispondente. Per i progetti, utilizza il metodoprojects.getIamPolicy
:POST https://cloudresourcemanager.googleapis.com/v1/projects/PROJECT_ID:getIamPolicy
Sostituisci
PROJECT_ID
con l'ID progetto.Per le organizzazioni, utilizza il metodo
organizations.getIamPolicy
:POST https://cloudresourcemanager.googleapis.com/v1/organizations/ORGANIZATION_ID:getIamPolicy
Sostituisci
ORGANIZATION_ID
con l'ID numerico dell'organizzazione da 12 cifre.Per un'immagine specifica, utilizza il metodo
images.getIamPolicy
:POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/global/images/IMAGE_NAME:getIamPolicy
Sostituisci quanto segue:
PROJECT_ID
: l'ID progettoIMAGE_NAME
: il nome dell'immagine
Compute Engine restituisce la policy corrente nella risposta.
Per aggiungere o rimuovere i membri e i relativi ruoli associati, puoi modificare la policy con un editor di testo. Utilizza il seguente formato per aggiungere membri:
user:test-user@gmail.com
group:admins@example.com
serviceAccount:test123@example.domain.com
domain:example.domain.com
Ad esempio, per concedere il ruolo
roles/compute.storageAdmin
auser:test-email@example.com
, aggiungi la seguente associazione alla policy:{ "members": [ "user:test-email@example.com" ], "role":"roles/compute.storageAdmin" }
Scrivi la policy aggiornata utilizzando il metodo
setIamPolicy
.Ad esempio, per impostare una policy a livello di progetto, utilizza il metodo
project.setIamPolicy
. Nel corpo della richiesta, fornisci la policy IAM aggiornata del passaggio precedente.POST https://cloudresourcemanager.googleapis.com/v1/projects/PROJECT_ID:setIamPolicy
Sostituisci
PROJECT_ID
con l'ID progetto.
Concedi le autorizzazioni per condividere immagini personalizzate all'interno di un'organizzazione
Se il tuo progetto appartiene a un'organizzazione, quest'ultima può avere diversi altri progetti con vari livelli di accesso. Quando crei immagini personalizzate, puoi condividerle con altri utenti di altri progetti all'interno dell'organizzazione.
Compute Engine offre i seguenti ruoli IAM predefiniti che puoi utilizzare per la gestione delle immagini:
- Compute Image User (
roles/compute.imageUser
): autorizzazione per elencare, leggere e utilizzare le immagini nelle richieste, senza disporre di altre autorizzazioni sull'immagine - Compute Storage Admin Compute (
roles/compute.storageAdmin
): autorizzazioni per creare, modificare ed eliminare dischi, immagini e snapshot
In alternativa, puoi anche creare il tuo ruolo IAM personalizzato.
Come best practice, ti consigliamo di conservare tutte le immagini personalizzate in un singolo progetto dedicato. Questa pratica migliora la gestione di queste immagini e ti consente di concedere ai team specifici l'accesso solo alle immagini di cui hanno bisogno. Puoi anche concedere ai team l'accesso all'intero progetto di immagini, ma poiché l'accesso dei team all'intero progetto di immagini viola il principio del privilegio minimo, non lo consigliamo.
L'esempio seguente mostra come aggiungere un gruppo in modo che i suoi utenti abbiano accesso all'immagine.
Console
Nella console Trusted Cloud , vai alla pagina Immagini.
Seleziona l'immagine che vuoi condividere con altri utenti.
Per espandere la colonna delle autorizzazioni, fai clic su Mostra riquadro informazioni.
Per aggiungere uno o più membri, fai clic su Aggiungi entità.
Nel campo Nuove entità, inserisci l'indirizzo email dell'identità con cui vuoi condividere l'immagine.
Ad esempio:
- Email Account Google:
test-user@gmail.com
- Gruppo Google:
admins@googlegroups.com
- Identità di un provider di identità esterno:
principal://iam.googleapis.com/locations/global/workforcePools/altostrat-contractors/subject/raha@altostrat.com
- Service account:
server@example.s3ns-system.iam.gserviceaccount.com
- Dominio Google Workspace:
example.com
- Email Account Google:
Nell'elenco Ruolo, tieni il puntatore del mouse su Compute Engine e seleziona Utente immagine o Amministratore Storage, oppure seleziona un ruolo personalizzato.
(Facoltativo) Per controllare ulteriormente l'accesso dell'utente alle risorse Trusted Cloud, aggiungi l'associazione di ruoli condizionale.
Salva le modifiche.
Per consentire agli utenti di avviare immagini personalizzate condivise dalla console Trusted Cloud , concedi loro il ruolo IAM Visualizzatore (
roles/viewer
) per il progetto di immagini. La concessione di questo ruolo contribuisce a garantire che le immagini condivise vengano visualizzate nell'elenco di selezione delle immagini.Nella console Trusted Cloud , vai alla pagina IAM.
Fai clic su
Concedi l'accesso.Nel campo Nuove entità, inserisci l'indirizzo email dell'identità con cui vuoi condividere l'immagine. Ad esempio:
- Email Account Google:
test-user@gmail.com
- Gruppo Google:
admins@googlegroups.com
- Identità di un provider di identità esterno:
principal://iam.googleapis.com/locations/global/workforcePools/altostrat-contractors/subject/raha@altostrat.com
- Service account:
server@example.s3ns-system.iam.gserviceaccount.com
- Dominio Google Workspace:
example.com
- Email Account Google:
Nell'elenco Ruolo, tieni il puntatore del mouse su Progetto e seleziona Visualizzatore.
(Facoltativo) Per controllare ulteriormente l'accesso dell'utente alle risorse Trusted Cloud, aggiungi l'associazione di ruoli condizionale.
Salva le modifiche.
gcloud
Per aggiornare la policy IAM per un'immagine specifica, utilizza il comando
gcloud compute images add-iam-policy-binding
:gcloud compute images add-iam-policy-binding IMAGE_NAME \ --member='MEMBER' \ --role='ROLE'
Sostituisci quanto segue:
IMAGE_NAME
: il nome dell'immagine, ad esempiocustom-centos-8
MEMBER
: un'identità valida per la quale vuoi concedere il ruoloAd esempio:
user:test-user@gmail.com
group:admins@example.com
serviceAccount:test123@example.domain.com
domain:example.domain.com
ROLE
: il ruolo a cui assegnare questa identità, ad esempioroles/compute.imageUser
,roles/compute.storageAdmin
o un ruolo personalizzato
Se vuoi, per consentire agli utenti di vedere queste immagini condivise nelle loro richieste
images.list
, concedi loro il ruolo IAM Visualizzatore (roles/viewer
) per il progetto di immagini utilizzando il comandogcloud projects add-iam-policy-binding
. Se non è necessario che gli utenti possano visualizzare l'elenco delle immagini condivise, puoi saltare questo passaggio.gcloud projects add-iam-policy-binding PROJECT_ID \ --member='MEMBER' \ --role='roles/viewer'
REST
Leggi la policy esistente con il metodo
getIamPolicy
della risorsa. Ad esempio, per recuperare la policy per un'immagine specifica, utilizza il metodoimages.getIamPolicy
:POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/global/images/IMAGE_NAME:getIamPolicy
Sostituisci quanto segue:
PROJECT_ID
: l'ID progetto del progetto a cui appartiene questa immagineIMAGE_NAME
: il nome dell'immagine
Compute Engine restituisce la policy corrente nella risposta.
Per aggiungere o rimuovere i membri e i relativi ruoli associati, modifica la policy con un editor di testo. Utilizza il seguente formato per aggiungere membri:
user:test-user@gmail.com
group:admins@example.com
serviceAccount:test123@example.domain.com
domain:example.domain.com
Ad esempio, per concedere
roles/compute.imageUser
atest-email@example.com
, aggiungi la seguente associazione alla policy:{ "members": [ "user:test-email@example.com" ], "role":"roles/compute.imageUser" }
Scrivi la policy aggiornata utilizzando il metodo
setIamPolicy
. Ad esempio, per impostare la policy su un'immagine specifica, utilizza il metodoproject.setIamPolicy
. Nel corpo della richiesta, fornisci la policy IAM aggiornata del passaggio precedente.POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/global/images/IMAGE_NAME:setIamPolicy
Sostituisci quanto segue:
PROJECT_ID
: l'ID progetto del progetto a cui appartiene questa immagineIMAGE_NAME
: il nome dell'immagine
Se vuoi, per consentire agli utenti di vedere queste immagini condivise nelle loro richieste
images.list
, concedi loro il ruolo IAM Visualizzatore (roles/viewer
) per il progetto di immagini utilizzando il metodoprojects.setIamPolicy
. Se non è necessario che gli utenti possano visualizzare l'elenco delle immagini condivise, puoi saltare questo passaggio.POST https://cloudresourcemanager.googleapis.com/v1/projects/PROJECT_ID:setIamPolicy
Concedi le autorizzazioni per condividere immagini personalizzate tra organizzazioni
La creazione di un catalogo di immagini personalizzate può essere utile per condividere immagini con partner, utenti o appaltatori esterni all'organizzazione. Per condividere le tue immagini con utenti esterni all'organizzazione, aggiungili come utenti di immagini al tuo progetto:
Console
Nella console Trusted Cloud , vai alla pagina Immagini.
Seleziona l'immagine che vuoi condividere con altri utenti.
Per espandere la colonna delle autorizzazioni, fai clic su Mostra riquadro informazioni.
Per aggiungere uno o più membri, fai clic su Aggiungi entità.
Nel campo Nuove entità, inserisci l'indirizzo email del gruppo con cui vuoi condividere l'immagine. Ad esempio,
admins@example.com
.Nell'elenco Ruolo, tieni il puntatore del mouse su Compute Engine e seleziona Compute Image User.
(Facoltativo) Per controllare ulteriormente l'accesso dell'utente alle risorse Trusted Cloud, aggiungi l'associazione di ruoli condizionale.
Salva le modifiche.
Per consentire agli utenti di avviare immagini personalizzate condivise dalla console Trusted Cloud , concedi loro il ruolo IAM Visualizzatore (
roles/viewer
) per il progetto di immagini. La concessione di questo ruolo contribuisce a garantire che le immagini condivise vengano visualizzate nell'elenco di selezione delle immagini.Nella console Trusted Cloud , vai alla pagina IAM.
Fai clic su
Concedi l'accesso.Nel campo Nuove entità, inserisci l'indirizzo email dell'identità con cui vuoi condividere l'immagine. Ad esempio,
admins@example.com
.Nell'elenco Ruolo, tieni il puntatore del mouse su Progetto e seleziona Visualizzatore.
(Facoltativo) Per controllare ulteriormente l'accesso dell'utente alle risorse Trusted Cloud, aggiungi l'associazione di ruoli condizionale.
Salva le modifiche.
gcloud
Per concedere il ruolo
roles/compute.imageUser
agli utenti, utilizza il comandogcloud compute images add-iam-policy-binding
:gcloud compute images add-iam-policy-binding IMAGE_NAME \ --member='MEMBER' \ --role='roles/compute.imageUser'
Sostituisci quanto segue:
IMAGE_NAME
: il nome dell'immagine, ad esempiocustom-centos-8
MEMBER
: un'identità valida per la quale vuoi concedere il ruolo, ad esempiogroup:admins@example.com
Se vuoi, per consentire agli utenti di vedere queste immagini condivise nelle loro richieste
images.list
, concedi loro il ruolo IAM Visualizzatore (roles/viewer
) per il progetto di immagini utilizzando il comandogcloud projects add-iam-policy-binding
. Se non è necessario che gli utenti possano visualizzare l'elenco delle immagini condivise, puoi saltare questo passaggio.gcloud projects add-iam-policy-binding PROJECT_ID \ --member='MEMBER' \ --role='roles/viewer'
REST
Leggi la policy esistente con il metodo
getIamPolicy
della risorsa. Ad esempio, per recuperare la policy per un'immagine specifica, utilizza il metodoimages.getIamPolicy
:POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/global/images/IMAGE_NAME:getIamPolicy
Sostituisci quanto segue:
PROJECT_ID
: l'ID progetto del progetto a cui appartiene questa immagineIMAGE_NAME
: il nome dell'immagine
Compute Engine restituisce la policy corrente nella risposta.
Per aggiungere o rimuovere i membri e i relativi ruoli associati, puoi modificare la policy con un editor di testo. Utilizza il seguente formato per aggiungere membri:
user:test-user@gmail.com
group:admins@example.com
serviceAccount:test123@example.domain.com
domain:example.domain.com
Ad esempio, per concedere
roles/compute.imageUser
atest-user@example.com
, aggiungi la seguente associazione alla policy:{ "members": [ "user:test-user@example.com" ], "role":"roles/compute.imageUser" }
Scrivi la policy aggiornata utilizzando il metodo
setIamPolicy
. Ad esempio, per impostare una policy su un'immagine specifica, utilizza il metodoimages.setIamPolicy
. Nel corpo della richiesta, fornisci la policy IAM aggiornata del passaggio precedente.POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/global/images/IMAGE_NAME:setIamPolicy
Sostituisci quanto segue:
PROJECT_ID
: l'ID progetto del progetto a cui appartiene questa immagineIMAGE_NAME
: il nome dell'immagine
Se vuoi, per consentire agli utenti di vedere queste immagini condivise nelle loro richieste
images.list
, concedi loro il ruolo IAM Visualizzatore (roles/viewer
) per il progetto di immagini utilizzando il metodoprojects.setIamPolicy
. Se non è necessario che gli utenti possano visualizzare l'elenco delle immagini condivise, puoi saltare questo passaggio.POST https://cloudresourcemanager.googleapis.com/v1/projects/PROJECT_ID:setIamPolicy
Concedi le autorizzazioni per condividere immagini personalizzate pubblicamente
Puoi condividere le tue immagini personalizzate con tutti gli utenti di Compute Engine autenticati, indipendentemente dal fatto che appartengano alla tua organizzazione o al tuo progetto.
Puoi condividere solo risorse, ad esempio immagini, con tutti gli utenti autenticati. Non puoi condividere progetti o organizzazioni con tutti gli utenti autenticati. Questa restrizione e la gerarchia delle risorse contribuiscono a impedire a un'organizzazione di condividere inavvertitamente l'intero progetto con tutti gli utenti di Compute Engine autenticati.
L'esempio seguente mostra come concedere a tutti gli utenti di Compute Engine autenticati il ruolo Compute Image User (
roles/compute.imageUser
) per un'immagine personalizzata.gcloud
Per rendere pubbliche le immagini, utilizza il comando
gcloud compute images add-iam-policy-binding
:gcloud compute images add-iam-policy-binding IMAGE_NAME \ --member='allAuthenticatedUsers' \ --role='roles/compute.imageUser'
Sostituisci
IMAGE_NAME
con il nome della risorsa, ad esempiomy_image
.REST
Leggi la policy esistente con il metodo
getIamPolicy
. Ad esempio, per recuperare la policy per un'immagine specifica, utilizza il metodoimages.getIamPolicy
:POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/global/images/IMAGE_NAME:getIamPolicy
Sostituisci quanto segue:
PROJECT_ID
: l'ID progetto del progetto a cui appartiene questa immagineIMAGE_NAME
: il nome dell'immagine
Compute Engine restituisce la policy corrente nella risposta.
Per aggiungere o rimuovere i membri e i relativi ruoli associati, modifica la policy con un editor di testo:
{ "members": [ "allAuthenticatedUsers" ], "role":"roles/compute.imageUser" }
Scrivi la policy aggiornata utilizzando il metodo
setIamPolicy
. Ad esempio, per impostare una policy su un'immagine specifica, utilizza il metodoimages.setIamPolicy
. Nel corpo della richiesta, fornisci la policy IAM aggiornata del passaggio precedente.POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/global/images/IMAGE_NAME:setIamPolicy
Sostituisci quanto segue:
PROJECT_ID
: l'ID progetto del progetto a cui appartiene questa immagineIMAGE_NAME
: il nome dell'immagine
Concedi a un gruppo di istanze gestite l'accesso alle immagini
Compute Engine ti consente di creare gruppi di istanze come gruppi di istanze gestite o non gestite. Se crei un gruppo di istanze gestite (MIG), Compute Engine utilizza l'agente di servizio API di Google per chiamare l'API Compute Engine ed eseguire azioni relative al gruppo, ad esempio ricreare le istanze in stato non integro e aggiornarle.
Se vuoi creare un MIG utilizzando un'immagine di un altro progetto, concedi il ruolo Compute Image User (
roles/compute.imageUser
) al service account delle API appartenente al progetto che crea il MIG. Ad esempio:- Il progetto A vuole creare un MIG utilizzando le immagini di proprietà del progetto B.
- Il progetto B concede al service account del progetto A il ruolo Compute Image User.
- Il progetto A ora può utilizzare le immagini del progetto B per creare MIG.
Dopo aver concesso il ruolo Compute Image User, puoi accedere all'immagine dagli altri progetti utilizzando la console o l'URL dell'immagine quando crei il template di istanza per il gruppo gestito.
Recupera l'indirizzo email del service account
Nella console Trusted Cloud , vai alla pagina IAM del progetto al cui service account vuoi concedere l'accesso.
Se richiesto, seleziona il progetto dall'elenco.
Cerca l'agente di servizio API di Google, con indirizzo email nel seguente formato:
PROJECT_NUMBER@cloudservices.s3ns-system.iam.gserviceaccount.com
Dopo aver recuperato l'indirizzo email del service account, puoi andare a una delle seguenti sezioni:
- Concedi a un MIG l'accesso a tutte le immagini di un progetto
- Concedi a un MIG l'accesso a immagini specifiche di un progetto
Concedi a un MIG l'accesso a tutte le immagini di un progetto
Ora che hai l'indirizzo email di un service account, puoi aggiungerlo a un altro progetto e concedergli il ruolo Compute Image User (
roles/compute.imageUser
).Console
Nella console Trusted Cloud , vai alla pagina IAM del progetto di immagini.
Per aggiungere un nuovo membro, fai clic su
Concedi l'accesso.Nel campo Nuove entità, aggiungi l'indirizzo email del service account.
Nell'elenco Ruolo, tieni il puntatore del mouse su Compute e seleziona Compute Image User.
(Facoltativo) Per controllare ulteriormente l'accesso dell'utente alle risorse Trusted Cloud, aggiungi l'associazione di ruoli condizionale.
Fai clic su Salva.
Torna al progetto del service account.
Ora puoi creare un template di istanza in base a un'immagine del progetto di immagini e creare un MIG in base al template di istanza.
gcloud
Aggiungi un service account dal progetto di immagini utilizzando il comando
gcloud projects add-iam-policy-binding
:gcloud projects add-iam-policy-binding PROJECT_ID \ --member='serviceAccount:SERVICE_ACCOUNT_EMAIL' --role='roles/compute.imageUser'
Sostituisci quanto segue:
PROJECT_ID
: l'ID del progetto contenente le immagini che vuoi condividereSERVICE_ACCOUNT_EMAIL
: l'indirizzo email del service account
Ora puoi creare un template di istanza in base a un'immagine del progetto di immagini e creare un MIG in base al template di istanza.
REST
Recupera la policy IAM del progetto di immagini utilizzando il metodo
projects.getIamPolicy
:POST https://cloudresourcemanager.googleapis.com/v1/projects/PROJECT_ID:getIamPolicy
Sostituisci
PROJECT_ID
con l'ID progetto del progetto di immagini.Per concedere il ruolo
roles/compute.imageUser
al service account, modifica la policy con un editor di testo:{ "bindings": [ { "role": "roles/compute.imageUser", "members": [ "serviceAccount:SERVICE_ACCOUNT_EMAIL" ] } ] }
Sostituisci
SERVICE_ACCOUNT_EMAIL
con l'email del service account.Scrivi la policy aggiornata utilizzando
projects.setIamPolicy
. Nel corpo della richiesta, fornisci la policy IAM aggiornata del passaggio precedente.POST https://cloudresourcemanager.googleapis.com/v1/projects/PROJECT_ID:setIamPolicy
Sostituisci
PROJECT_ID
con l'ID prodotto del progetto di immagini.Ora puoi creare un template di istanza in base a un'immagine del progetto di immagini e creare un MIG in base al template di istanza.
Concedi a un MIG l'accesso a immagini specifiche di un progetto
Ora che hai l'indirizzo email di un service account, puoi aggiungerlo a un altro progetto e concedere il ruolo Compute Image User (
roles/compute.imageUser
) per determinate immagini.Console
Nella console Trusted Cloud , vai alla pagina Immagini del progetto di immagini.
Seleziona le caselle di controllo accanto alle immagini che vuoi condividere.
Per espandere la colonna delle autorizzazioni, fai clic su Mostra riquadro informazioni.
Nel riquadro Autorizzazioni, fai clic su Aggiungi entità.
Nel campo Nuove entità, inserisci l'indirizzo email del service account con cui vuoi condividere l'immagine. Ad esempio,
test123@example.domain.com
.Nell'elenco Ruolo, scegli Compute e seleziona Compute Image User.
(Facoltativo) Per controllare ulteriormente l'accesso dell'utente alle risorse Trusted Cloud by S3NS , aggiungi l'associazione di ruoli condizionale.
Fai clic su Salva.
Torna al progetto del service account.
Ora puoi creare un template di istanza in base a un'immagine del progetto di immagini e creare un MIG in base al template di istanza.
gcloud
Per concedere a un service account l'accesso a un'immagine specifica, utilizza il comando
gcloud compute images add-iam-policy-binding
:gcloud compute images add-iam-policy-binding IMAGE_NAME \ --member='serviceAccount:SERVICE_ACCOUNT_EMAIL' \ --role='roles/compute.imageUser'
Sostituisci quanto segue:
IMAGE_NAME
: il nome dell'immagine che vuoi condividereSERVICE_ACCOUNT_EMAIL
: l'indirizzo email del service account
Ora puoi creare un template di istanza in base a un'immagine del progetto di immagini e creare un MIG in base al template di istanza.
REST
Per recuperare la policy IAM di un'immagine, utilizza il metodo
images.getIamPolicy
:POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/global/images/IMAGE_NAME:getIamPolicy
Sostituisci quanto segue:
PROJECT_ID
: l'ID progetto del progetto di immaginiIMAGE_NAME
: il nome dell'immagine che vuoi condividere
Per concedere il ruolo
roles/compute.imageUser
al service account, modifica la policy con un editor di testo:{ "bindings": [ { "role": "roles/compute.imageUser", "members": [ "serviceAccount:SERVICE_ACCOUNT_EMAIL" ] } ] }
Sostituisci
SERVICE_ACCOUNT_EMAIL
con l'email del service account.Scrivi la policy aggiornata utilizzando il metodo
images.setIamPolicy
. Nel corpo della richiesta, fornisci la policy IAM aggiornata del passaggio precedente.POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/global/images/IMAGE_NAME:setIamPolicy
Sostituisci quanto segue:
PROJECT_ID
: l'ID progetto del progetto di immaginiIMAGE_NAME
: il nome dell'immagine che vuoi condividere
Ora puoi creare un template di istanza in base a un'immagine del progetto di immagini e creare un MIG in base al template di istanza.
Controlla l'utilizzo delle immagini e degli snapshot condivisi
Dopo aver condiviso le immagini con altri utenti, puoi controllare dove questi ultimi impiegano queste risorse all'interno della tua organizzazione. Imposta il vincolo
constraints/compute.storageResourceUseRestrictions
per definire i progetti in cui gli utenti possono utilizzare le risorse di archiviazione.Per impostare questi vincoli, devi disporre dell'autorizzazione per modificare le policy della tua organizzazione. Ad esempio, il ruolo
resourcemanager.organizationAdmin
ha l'autorizzazione per impostare questi vincoli.Trova l'ID organizzazione utilizzando il comando
gcloud organization list
:gcloud organizations list
Per recuperare le impostazioni delle policy esistenti per la tua organizzazione, utilizza il comando
gcloud resource-manager org-policies describe
:gcloud resource-manager org-policies describe \ compute.storageResourceUseRestrictions \ --organization ORGANIZATION_ID > org-policy.yaml
Sostituisci ORGANIZATION_ID con l'ID numerico dell'organizzazione da 12 cifre.
Apri il file
org-policy.yaml
in un editor di testo e modifica il vincolocompute.storageResourceUseRestrictions
. Aggiungi le limitazioni di cui hai bisogno o rimuovi quelle che non ti servono più. Al termine della modifica del file, salva le modifiche. Ad esempio, puoi impostare la seguente voce di vincolo nel file della policy:constraint: compute.storageResourceUseRestrictions listPolicy: allowedValues: - under:organization/organization-id
Applica il file
org-policy.yaml
alla tua organizzazione utilizzando il comandogcloud resource-manager org-policies set-policy
:gcloud resource-manager org-policies set-policy \ --organization=ORGANIZATION_ID org-policy.yaml
Sostituisci ORGANIZATION_ID con l'ID numerico dell'organizzazione da 12 cifre.
Al termine della configurazione dei vincoli nella policy dell'organizzazione, testali per assicurarti che creino le limitazioni che preferisci.
Utilizza le immagini di un altro progetto
Se qualcuno ti concede l'accesso a una o più immagini in un altro progetto, puoi accedere a queste immagini nel progetto specificando il progetto di immagini nelle tue richieste.
Ad esempio, per creare un'istanza utilizzando un'immagine condivisa di un altro progetto, segui i passaggi descritti in Crea un'istanza da un'immagine condivisa.
Puoi anche creare volumi del disco di avvio dalle immagini di un altro progetto. Per informazioni sulla creazione di un disco di avvio da un'immagine, consulta Crea un disco permanente di avvio autonomo.
Revoca l'accesso alle immagini condivise
Quando un utente non ha più bisogno di accedere alle tue risorse Compute Engine, revoca il suo accesso utilizzando la console Trusted Cloud , Google Cloud CLI o REST.
Console
Nella console Trusted Cloud , vai alla pagina Immagini del progetto di immagini.
Seleziona le caselle di controllo accanto alle immagini che vuoi aggiornare.
Per espandere la colonna delle autorizzazioni, fai clic su Mostra riquadro informazioni.
Espandi il ruolo per cui vuoi rimuovere gli utenti.
Per rimuovere un utente da quel ruolo, fai clic su
Elimina.
gcloud
Per rimuovere un utente da un ruolo in un'immagine, utilizza il comando
gcloud compute images remove-iam-policy-binding
con i flag--member
e--role
:gcloud compute images remove-iam-policy-binding IMAGE_NAME \ --member='MEMBER' \ --role='ROLE'
Sostituisci quanto segue:
IMAGE_NAME
: il nome dell'immagine, ad esempiomy_image
MEMBER
: l'identità che vuoi rimuovereDeve essere nel formato
user|group|serviceAccount:email
odomain:domain
. Ad esempio:user:test-user@gmail.com
group:admins@example.com
serviceAccount:test123@example.domain.com
domain:example.domain.com
ROLE
: il ruolo da cui vuoi rimuovere l'identità
Se stai revocando l'accesso a una risorsa in versione beta, utilizza un comando
gcloud beta compute
.REST
Leggi la policy esistente con il metodo
images.getIamPolicy
.POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/global/images/IMAGE_NAME:getIamPolicy
Sostituisci quanto segue:
PROJECT_ID
: l'ID progetto a cui appartiene questa immagineIMAGE_NAME
: il nome dell'immagine
Compute Engine restituisce la policy corrente nella risposta.
Per rimuovere i membri e i relativi ruoli associati, modifica la policy con un editor di testo.
Scrivi la policy aggiornata utilizzando il metodo
images.setIamPolicy
. Nel corpo della richiesta, fornisci la policy IAM aggiornata del passaggio precedente.POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/global/images/IMAGE_NAME:setIamPolicy
Sostituisci quanto segue:
PROJECT_ID
: l'ID progetto a cui appartiene questa immagineIMAGE_NAME
: il nome dell'immagine
Passaggi successivi
- Scopri di più su IAM.
- Consulta un elenco dei ruoli IAM di Compute Engine.
- Scopri di più sulle immagini.
- Scopri come creare un'istanza utilizzando un'immagine condivisa.
- Scopri come creare un disco permanente di avvio autonomo.
- Scopri come utilizzare questo ruolo con i deployment di Deployment Manager.
- Applica il principio del privilegio minimo concedendo l'accesso a risorse Compute Engine specifiche anziché a un intero progetto.
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-08-08 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-08-08 UTC."],[[["Users need specific Identity and Access Management (IAM) roles to create, delete, use, or share custom images, as detailed in this documentation."],["The Compute Storage Admin role (`roles/compute.storageAdmin`) is a predefined role that allows users to manage storage-related resources, including images, disks, and snapshots; custom roles can also be created for more specific permission sets."],["Permissions for deleting images can be granted at the image, project, or organization level, giving users the ability to delete specific images or all images within a given scope."],["Custom images can be shared within or between organizations, and even made public, by granting the appropriate roles, such as Compute Image User (`roles/compute.imageUser`), to the relevant users or groups."],["Managed instance groups (MIGs) can access images from other projects if the Google APIs Service Agent for the MIG's project is granted the Compute Image User role in the image's project, allowing the creation of instance templates and MIGs from shared images."]]],[]] -