Questo lab illustra tre aree comuni da comprendere in merito a IAM e gcloud:
configurazione dell'ambiente gcloud
utilizzo di più configurazioni gcloud
utilizzo dei service account
In questo lab utilizzerai lo strumento comando gcloud CLI per impostare e configurare le funzionalità di comando di Cloud Identity and Access Management (IAM).
Obiettivi didattici
In questo lab imparerai a:
Esaminare IAM e utilizzare il client gcloud
Creare e passare da una configurazione IAM all'altra
Identificare e assegnare le autorizzazioni IAM corrette
Creare e utilizzare un service account
Ambiente iniziale
Inizi con due account utente e due progetti:
user1 è il "proprietario" di entrambi i progetti;
user2 è il "visualizzatore" solo del primo progetto.
Nel primo progetto è in esecuzione una macchina virtuale Linux (VM).
Che cos'è IAM?
Google Cloud offre Cloud Identity and Access Management (IAM), che ti consente di gestire il controllo degli accessi definendo chi (identità) ha quale accesso (ruolo) per quale risorsa.
In IAM, l'autorizzazione per accedere a una risorsa non viene concessa direttamente all'utente finale. Le autorizzazioni vengono invece raggruppate in ruoli e i ruoli vengono concessi alle entità autenticate (in passato, IAM si riferiva spesso alle entità come membri; alcune API utilizzano ancora questo termine).
Identità
In Cloud IAM, puoi concedere l'accesso alle entità. Le entità possono essere dei seguenti tipi:
In questo lab utilizzerai Account Google, service account e gruppi di domini Cloud Identity.
Ruoli
Un ruolo è una raccolta di autorizzazioni. Non puoi assegnare direttamente un'autorizzazione a un utente, puoi solo concedergli un ruolo. Quando concedi un ruolo a un utente, gli concedi tutte le autorizzazioni incluse nel ruolo.
Lo strumento gcloud CLI fa parte di Cloud SDK. Devi scaricare e installare l'SDK sul sistema e inizializzarlo prima di poter utilizzare lo strumento a riga di comando gcloud. Puoi utilizzare questo strumento per eseguire molte delle attività più comuni sulla piattaforma, utilizzando la riga di comando oppure script e altre automazioni.
Leggi le seguenti istruzioni. I lab sono a tempo e non possono essere messi in pausa. Il timer si avvia quando fai clic su Inizia il lab e ti mostra per quanto tempo avrai a disposizione le risorse Google Cloud.
Con questo lab pratico avrai la possibilità di completare le attività in un ambiente cloud reale e non di simulazione o demo. Riceverai delle nuove credenziali temporanee che potrai utilizzare per accedere a Google Cloud per la durata del lab.
Per completare il lab, avrai bisogno di:
Accesso a un browser internet standard (Chrome è il browser consigliato).
Nota: per eseguire questo lab, utilizza una finestra del browser in modalità di navigazione in incognito (consigliata) o privata. Ciò evita conflitti tra il tuo account personale e l'account studente, che potrebbero causare addebiti aggiuntivi sul tuo account personale.
È ora di completare il lab: ricorda che, una volta iniziato, non puoi metterlo in pausa.
Nota: utilizza solo l'account studente per questo lab. Se utilizzi un altro account Google Cloud, potrebbero essere addebitati costi su quell'account.
Nota:per questo lab accedi utilizzando Nome utente 1.
Come avviare il lab e accedere alla console Google Cloud
Fai clic sul pulsante Avvia lab. Se devi effettuare il pagamento per il lab, si aprirà una finestra di dialogo per permetterti di selezionare il metodo di pagamento.
A sinistra, trovi il riquadro Dettagli lab con le seguenti informazioni:
Il pulsante Apri la console Google Cloud
Tempo rimanente
Credenziali temporanee da utilizzare per il lab
Altre informazioni per seguire questo lab, se necessario
Fai clic su Apri console Google Cloud (o fai clic con il tasto destro del mouse e seleziona Apri link in finestra di navigazione in incognito se utilizzi il browser Chrome).
Il lab avvia le risorse e apre un'altra scheda con la pagina di accesso.
Suggerimento: disponi le schede in finestre separate posizionate fianco a fianco.
Nota: se visualizzi la finestra di dialogo Scegli un account, fai clic su Usa un altro account.
Se necessario, copia il Nome utente di seguito e incollalo nella finestra di dialogo di accesso.
{{{user_0.username | "Username"}}}
Puoi trovare il Nome utente anche nel riquadro Dettagli lab.
Fai clic su Avanti.
Copia la Password di seguito e incollala nella finestra di dialogo di benvenuto.
{{{user_0.password | "Password"}}}
Puoi trovare la Password anche nel riquadro Dettagli lab.
Fai clic su Avanti.
Importante: devi utilizzare le credenziali fornite dal lab. Non utilizzare le credenziali del tuo account Google Cloud.
Nota: utilizzare il tuo account Google Cloud per questo lab potrebbe comportare addebiti aggiuntivi.
Fai clic nelle pagine successive:
Accetta i termini e le condizioni.
Non inserire opzioni di recupero o l'autenticazione a due fattori, perché si tratta di un account temporaneo.
Non registrarti per le prove gratuite.
Dopo qualche istante, la console Google Cloud si apre in questa scheda.
Nota: per accedere ai prodotti e ai servizi Google Cloud, fai clic sul menu di navigazione o digita il nome del servizio o del prodotto nel campo Cerca.
Attività 1: configura l'ambiente gcloud
Questo lab ha già un'istanza Compute Engine denominata centos-clean che simula un ambiente in cui non è installato gcloud. Ti connetti a questa istanza utilizzando la console Google Cloud.
Apri l'elenco delle istanze di calcolo da Menu di navigazione > Compute Engine > Istanze VM.
Sulla riga con l'istanza di calcolo denominata centos-clean, fai clic su SSH.
Nota:
per quanto riguarda le istanze Compute Engine, esistono tipi di istanze Windows e Linux. In questo lab utilizzerai il tipo di istanza Linux. Puoi connetterti facilmente alle istanze Linux utilizzando il client Secure Shell (SSH) tramite il browser web.
Verrà automaticamente eseguita la connessione all'istanza. Google Cloud gestisce le chiavi di autenticazione per te, mantenendole al sicuro e disponibili solo per coloro a cui consenti l'accesso.
Come primo test, verifica che gcloud sia installato correttamente controllando la versione. All'interno della sessione SSH, esegui:
gcloud --version
Crea una nuova istanza e aggiorna la zona predefinita
Dopo aver verificato che lo strumento a riga di comando gcloud sia installato, apporta alcune modifiche creando un'istanza di calcolo.
Innanzitutto, esegui l'autenticazione in gcloud. All'interno della sessione SSH esegui:
gcloud auth login
Premi INVIO al prompt Do you want to continue (Y/n)? (Vuoi continuare (S/n)?).
Vai al link visualizzato in una nuova scheda.
Fai clic sul tuo nome utente attivo () e poi su Consenti.
Quando viene visualizzato il prompt Inserisci il seguente codice di verifica in gcloud CLI sulla macchina a cui vuoi accedere, fai clic sul pulsante Copia, quindi torna alla sessione SSH e incolla il codice nel prompt Inserisci codice di autorizzazione.
Nella sessione SSH, imposta la regione e la zona:
gcloud config set compute/region {{{project_0.default_region_1 | "Region1"}}}
gcloud config set compute/zone {{{project_0.default_zone_1 | "Zone1"}}}
Se hai impostato tutto correttamente, il comando crea un'istanza.
Ma di che dimensione? E dove? Quale immagine viene utilizzata?
Esistono numerose impostazioni predefinite utilizzate dal servizio. Alcune possono essere controllate nella configurazione gcloud. Ad esempio, la località dell'istanza è controllata dall'impostazione della zona.
Crea un'istanza denominata lab-1 nel progetto 1
Controlla la tua attuale configurazione gcloud. All'interno della sessione SSH, esegui:
gcloud config list
Ora vedi una sezione compute, una sezione core e una sezione active configuration. Puoi modificare ognuna di queste sezioni, ma per questo lab cambierai solo la zona. Fai riferimento alla zona in cui è stata creata la tua VM.
Ora elenca tutte le zone disponibili per l'uso eseguendo questo comando all'interno della sessione SSH:
gcloud compute zones list
Identifica una delle altre zone nella tua stessa regione. Ad esempio, se la tua zona attuale è us-west2-a, potresti selezionare us-west2-b.
Cambia la tua zona attuale con un'altra zona nella stessa regione. All'interno della sessione SSH, esegui questo comando, sostituendo ZONE con la zona che hai selezionato:
gcloud config set compute/zone ZONE
Verifica che sia stato effettuato il cambio di zona. All'interno della sessione SSH, esegui:
gcloud config list
La zona selezionata riflette la modifica apportata.
Puoi modificare altre impostazioni utilizzando il comando gcloud config set. Queste modifiche sono permanenti; vengono scritte nella tua home directory.
La configurazione predefinita è archiviata in ~/.config/gcloud/configurations/config_default.
Se vuoi una zona diversa da quella predefinita durante la creazione di un'istanza, puoi utilizzare l'opzione --zone. Ad esempio, gcloud compute instances create lab-1 --zone us-central1-f
Aggiorna la zona predefinita
Verifica che la zona sia stata scritta nel file di configurazione. All'interno della sessione SSH, esegui:
Come puoi vedere, la configurazione viene semplicemente archiviata come testo ed è possibile eseguirne il backup o una copia.
Attività 2: crea e passa da una configurazione IAM all'altra
Ora hai configurato un account. Nelle situazioni in cui devi lavorare in team diversi o accedere ad account diversi, puoi anche gestirlo con gcloud config.
Nella tua attività successiva imparerai a creare una seconda configurazione e a passare dall'una all'altra.
Crea una nuova configurazione IAM
In questo lab hai un secondo Account Google con cui puoi accedere. Questo account dispone di accesso di sola lettura (visualizzatore) al primo progetto. Creerai una nuova configurazione per quell'utente.
Avvia una nuova configurazione gcloud per il secondo account utente. All'interno della sessione SSH, esegui:
gcloud init --no-launch-browser
Seleziona l'opzione 2, Create a new configuration (Crea una nuova configurazione).
configuration name (nome configurazione): digita user2.
Log in with a new account (Accedi con un nuovo account): seleziona l'opzione 3. Stai effettuando l'accesso con l'altro nome utente fornito.
Premi INVIO al prompt Do you want to continue (Y/n)? (Vuoi continuare (S/n)?).
Vai al link visualizzato in una nuova scheda.
Fai clic su Use another account (Utilizza un altro account)
Copia il secondo account utente () e incollalo nel prompt email or phone (email o telefono).
Copia la stessa password con cui hai avviato il lab e incollala nel prompt enter your password (inserisci la password).
Fai clic su Ho capito.
Fai clic su Consenti.
Accetti che Cloud SDK abbia lo stesso accesso del tuo Account Google.
Quando viene visualizzato il prompt Inserisci il seguente codice di verifica in gcloud CLI sulla macchina a cui vuoi accedere, fai clic sul pulsante Copia, quindi torna alla sessione SSH e incolla il codice nel prompt Inserisci codice di autorizzazione.
Per Scegli il progetto cloud da utilizzare individua il progetto attuale () e quindi digita il numero corrispondente al progetto.
L'inizializzazione viene completata e la zona e la regione vengono impostate per te.
Verifica che la configurazione gcloud user2 sia stata creata
Testa il nuovo account
Questo nuovo account dispone di accesso di sola visualizzazione al progetto, quindi puoi verificare che stai effettivamente utilizzando questo account provando a visualizzare e quindi a creare alcune risorse.
Verifica di poter visualizzare i dettagli nel primo progetto. All'interno della sessione SSH, esegui:
gcloud compute instances list
Il secondo account utente dispone di accesso in visualizzazione, quindi dovresti vedere elencate le istanze centos-clean e lab-1.
Verifica che non sia possibile creare un'istanza nel primo progetto, poiché il ruolo assegnato è quello di visualizzatore di base. All'interno della sessione SSH, esegui:
Poiché il secondo account utente dispone solo di accesso in visualizzazione, non è autorizzato a creare un'istanza, quindi questo comando, dopo qualche tempo, ha esito negativo.
Torna alla configurazione del tuo primo utente (predefinita). All'interno della sessione SSH, esegui:
gcloud config configurations activate default
Ora riprenderai a utilizzare le credenziali del tuo account utente originale. Dopodiché passerai da un account all'altro man mano che scopri di più sui ruoli e sulle autorizzazioni.
Attività 3: identifica e assegna le autorizzazioni IAM corrette
Ti sono stati forniti due account utente per questo progetto. Il primo utente ha il controllo completo di entrambi i progetti e può essere considerato l'account amministratore. Il secondo utente dispone di accesso di sola visualizzazione ai due progetti, quindi lo possiamo definire un utente DevOps e la sua identità rappresenta un tipico utente di livello DevOps.
Successivamente, utilizzerai gcloud per configurare l'accesso a un progetto per l'utente DevOps creando un ruolo personalizzato per il progetto che consenta la creazione di bucket e istanze.
Esamina i ruoli e le autorizzazioni
Per visualizzare tutti i ruoli, esegui questo comando all'interno della sessione SSH:
gcloud iam roles list | grep "name:"
Viene restituito l'elenco dei ruoli. L'aggiunta di grep "name:" al comando limita la quantità di dati restituiti ai soli nomi dei ruoli.
Esamina uno di questi ruoli per visualizzare le sue autorizzazioni assegnate. Per visualizzare le autorizzazioni, utilizza gcloud iam roles describe. Prova a osservare il ruolo semplice roles/compute.instanceAdmin.
Esamina il ruolo predefinito compute.instanceAdmin. All'interno della sessione SSH, esegui:
gcloud iam roles describe roles/compute.instanceAdmin
Come puoi vedere, roles/compute.instanceAdmin ha molte autorizzazioni, ma queste sono le minime necessarie per dopo:
Concedi l'accesso al secondo utente al secondo progetto
Ora che sai che i ruoli includono autorizzazioni, come fai ad assegnare un ruolo (e quindi tutte le autorizzazioni associate) a un account utente?
Esistono due modi per assegnare un ruolo:
All'utente e a un'organizzazione
A un utente e a un progetto
Successivamente, assegni il ruolo di base di "visualizzatore" al secondo utente nel secondo progetto.
Verifica che il secondo utente non abbia accesso al secondo progetto.
Riporta la configurazione gcloud al secondo utente (user2). All'interno della sessione SSH, esegui:
gcloud config configurations activate user2
Ora sei tornato a user2.
Imposta PROJECTID2 sul secondo progetto. All'interno della sessione SSH, esegui:
echo "export PROJECTID2={{{project_1.project_id | "PROJECT_ID"}}}" >> ~/.bashrc
. ~/.bashrc
gcloud config set project $PROJECTID2
Nota: questo comando aggiunge il file bashrc, perciò fai attenzione.
Ricevi un avviso: WARNING: You do not appear to have access to project [your 2nd project id] or it does not exist (AVVISO: sembra che tu non abbia accesso al progetto [il tuo secondo ID progetto] o il progetto non esiste).
Digita N e premi INVIO al prompt Do you want to continue (Y/n)? (Vuoi continuare (S/n)?).
Ciò significa che user2 non ha accesso al progetto PROJECTID2, cosa che risolverai nella sezione successiva.
Assegna il ruolo di visualizzatore al secondo utente nel secondo progetto
Torna alla configurazione gcloud predefinita, che dispone dell'autorizzazione per concedere l'accesso al secondo utente. All'interno della sessione SSH, esegui:
Questo comando ha esito negativo perché user2 dispone solo di accesso in visualizzazione al progetto.
Imposta la configurazione gcloud su default. All'interno della sessione SSH, esegui:
gcloud config configurations activate default
Ora riprenderai a utilizzare le credenziali del tuo account utente originale.
Crea un nuovo ruolo con autorizzazioni
Successivamente, crea il nuovo ruolo con il set di autorizzazioni necessarie per il team DevOps.
Crea un ruolo personalizzato denominato devops che disponga delle autorizzazioni per creare un'istanza. All'interno della sessione SSH, esegui:
gcloud iam roles create devops --project $PROJECTID2 --permissions "compute.instances.create,compute.instances.delete,compute.instances.start,compute.instances.stop,compute.instances.update,compute.disks.create,compute.subnetworks.use,compute.subnetworks.useExternalIp,compute.instances.setMetadata,compute.instances.setServiceAccount"
Questo comando crea un ruolo personalizzato nel progetto denominato devops con le autorizzazioni per creare e gestire istanze.
Viene elencato il nome completo del ruolo. Osserva che il ruolo è nel progetto, quindi il percorso è nel modello projects/PROJECT/roles/ROLENAME.
Crea un nuovo ruolo con autorizzazioni per il team DevOps
Associa il ruolo al secondo account in entrambi i progetti
Ora hai creato il ruolo e devi associare l'utente e il ruolo al progetto. Utilizza gcloud projects add-iam-policy-binding per eseguire l'associazione. Per rendere questo comando più semplice da eseguire, imposta prima un paio di variabili d'ambiente: l'ID progetto e l'account utente.
Associa il ruolo di iam.serviceAccountUser al secondo utente nel secondo progetto. All'interno della sessione SSH, esegui:
Sono necessarie le autorizzazioni per creare un'istanza con un service account collegato. Il ruolo iam.serviceAccountUser dispone di queste autorizzazioni, quindi utilizza questo ruolo predefinito.
Verifica che user2 sia associato a project2 e al ruolo roles/iam.serviceAccountUser
Associa il ruolo personalizzato devops al secondo utente nel secondo progetto. Puoi trovare il secondo account utente sulla sinistra di questa pagina. Assicurati di impostare USERID sul secondo account utente.
Una volta eseguito il comando, il testo sarà simile al seguente (potrebbe essere necessario scorrere verso l'alto):
Updated IAM policy for project [{{{project_1.project_id | "PROJECT_ID"}}}].
bindings:
- members:
- user:{{{user_1.username | "Username2"}}}@qwiklabs.net
role: projects/{{{project_1.project_id | "PROJECT_ID"}}}/roles/devops
Associa il nome utente 2 al ruolo DevOps
Testa le autorizzazioni appena assegnate.
Imposta la configurazione gcloud su user2. All'interno della sessione SSH, esegui:
gcloud config configurations activate user2
Ora sei tornato a user2.
Prova a creare un'istanza denominata lab-2. All'interno della sessione SSH, esegui:
Verifica che l'istanza sia presente. All'interno della sessione SSH, esegui:
gcloud compute instances list
Il tuo ambiente
Dopo queste ultime modifiche il tuo ambiente appare nel seguente modo:
Attività 5: utilizza un service account
Hai visto come eseguire l'autenticazione e utilizzare gcloud per accedere ai servizi Google Cloud con ruoli. Ora esaminerai un approccio tipico.
Hai un'applicazione che utilizza le interfacce di programmazione delle applicazioni, o API, per leggere e scrivere sui bucket Cloud Storage. Non vuoi doverti autenticare ogni volta che avvii un nuovo server, poiché sarebbe faticoso e contrario allo spirito dell'utilizzo del cloud. Quindi, utilizzi i service account.
Un service account è un tipo speciale di Account Google che appartiene all'applicazione o a una macchina virtuale (VM) invece che a un singolo utente finale. La tua applicazione utilizza il service account per chiamare l'API Google di un servizio in modo che gli utenti non siano direttamente coinvolti.
Ora creerai un service account, lo utilizzerai con un'istanza di calcolo, quindi verificherai che il service account consenta l'accesso di cui hai bisogno.
Crea un service account
Imposta la configurazione gcloud su default, user2 non ha i diritti per impostare e configurare i service account. All'interno della sessione SSH, esegui:
gcloud config configurations activate default
Imposta il progetto su PROJECTID2 nella tua configurazione. All'interno della sessione SSH, esegui:
gcloud config set project $PROJECTID2
Assicurati di scegliere come target il progetto giusto.
Crea il service account. All'interno della sessione SSH, esegui:
gcloud iam service-accounts create devops --display-name devops
Verifica il service account DevOps creato
Ottieni l'indirizzo email del service account. All'interno della sessione SSH, esegui:
gcloud iam service-accounts list --filter "displayName=devops"
Nota:
il filtro mostra solo la riga che ti interessa. Osserva che l'indirizzo email contiene il nome del ruolo e l'ID progetto.
Inserisci l'indirizzo email in una variabile locale denominata SA. All'interno della sessione SSH, esegui:
SA=$(gcloud iam service-accounts list --format="value(email)" --filter "displayName=devops")
Questo comando imposta la variabile locale SA sull'indirizzo email del service account. Abbastanza utile, vero?
Assegna al service account il ruolo iam.serviceAccountUser. All'interno della sessione SSH, esegui:
Questo ruolo consente al service account di gestire le istanze di calcolo.
Verifica che il service account DevOps sia associato a project2 e al ruolo roles/compute.instanceAdmin
Crea un'istanza con il service account DevOps collegato. Inoltre, devi specificare un ambito di accesso che definisca le chiamate API che può effettuare l'istanza. All'interno della sessione SSH, esegui:
Gli ambiti di accesso sono il metodo legacy per specificare le autorizzazioni per l'istanza. Gli ambiti di accesso non sono un meccanismo di sicurezza. Definiscono invece gli ambiti OAuth predefiniti utilizzati nelle richieste dallo strumento gcloud o dalle librerie client. Non hanno alcun effetto quando si effettuano richieste non autenticate tramite OAuth, come gRPC o le API SignBlob.
Devi configurare gli ambiti di accesso quando configuri un'istanza da eseguire come service account.
Una best practice consiste nell'impostare l'ambito di accesso cloud-platform completo sull'istanza, quindi nel limitare in modo sicuro l'accesso API del service account con i ruoli IAM.
Gli ambiti di accesso si applicano in base alla singola istanza. Gli ambiti di accesso possono essere impostati durante la creazione di un'istanza e persistono solo per la durata dell'istanza.
Gli ambiti di accesso non hanno effetto se non hai abilitato l'API correlata nel progetto a cui appartiene il service account. Ad esempio, la concessione di un ambito di accesso per Cloud Storage su un'istanza di macchina virtuale consente all'istanza di chiamare l'API Cloud Storage solo se hai abilitato l'API Cloud Storage nel progetto.
Verifica che a lab-3 sia collegato il service account
Attività 7: testa il service account
Connettiti all'istanza appena creata utilizzando gcloud compute ssh. All'interno della sessione SSH, esegui:
… per utilizzare al meglio le tecnologie Google Cloud. I nostri corsi ti consentono di sviluppare competenze tecniche e best practice per aiutarti a metterti subito al passo e avanzare nel tuo percorso di apprendimento. Offriamo vari livelli di formazione, dal livello base a quello avanzato, con opzioni di corsi on demand, dal vivo e virtuali, in modo da poter scegliere il più adatto in base ai tuoi impegni. Le certificazioni ti permettono di confermare e dimostrare le tue abilità e competenze relative alle tecnologie Google Cloud.
Ultimo aggiornamento del manuale: 10 aprile 2024
Ultimo test del lab: 10 aprile 2024
Copyright 2025 Google LLC. Tutti i diritti riservati. Google e il logo Google sono marchi di Google LLC. Tutti gli altri nomi di società e prodotti sono marchi delle rispettive società a cui sono associati.
I lab creano un progetto e risorse Google Cloud per un periodo di tempo prestabilito
I lab hanno un limite di tempo e non possono essere messi in pausa. Se termini il lab, dovrai ricominciare dall'inizio.
In alto a sinistra dello schermo, fai clic su Inizia il lab per iniziare
Utilizza la navigazione privata
Copia il nome utente e la password forniti per il lab
Fai clic su Apri console in modalità privata
Accedi alla console
Accedi utilizzando le tue credenziali del lab. L'utilizzo di altre credenziali potrebbe causare errori oppure l'addebito di costi.
Accetta i termini e salta la pagina di ripristino delle risorse
Non fare clic su Termina lab a meno che tu non abbia terminato il lab o non voglia riavviarlo, perché il tuo lavoro verrà eliminato e il progetto verrà rimosso
Questi contenuti non sono al momento disponibili
Ti invieremo una notifica via email quando sarà disponibile
Bene.
Ti contatteremo via email non appena sarà disponibile
Un lab alla volta
Conferma per terminare tutti i lab esistenti e iniziare questo
Utilizza la navigazione privata per eseguire il lab
Utilizza una finestra del browser in incognito o privata per eseguire questo lab. In questo modo eviterai eventuali conflitti tra il tuo account personale e l'account Studente, che potrebbero causare addebiti aggiuntivi sul tuo account personale.
In questo lab utilizzerai lo strumento gcloud CLI per impostare e configurare le funzionalità di comando di Cloud Identity and Access Management.
Durata:
Configurazione in 1 m
·
Accesso da 90 m
·
Completamento in 60 m