
Before you begin
- Labs create a Google Cloud project and resources for a fixed time
- Labs have a time limit and no pause feature. If you end the lab, you'll have to restart from the beginning.
- On the top left of your screen, click Start lab to begin
Create an instance with name as lab-1 in Project 1
/ 10
Update the default zone
/ 10
Create a configuration for Username 2 and name it as user2
/ 10
Restricting Username 2 to roles/viewer in Project 2
/ 10
Create a new role with permissions for the devops team
/ 10
Check binding to roles/iam.serviceAccountUser
/ 5
Bound Username 2 to devops role
/ 5
Create an instance with name as lab-2 in Project 1
/ 5
Check the created service account
/ 5
Check the binding for the service account to roles/iam.serviceAccountUser
/ 10
Check the binding for the service account to roles/compute.instanceAdmin
/ 10
Check lab-3 has the service account attached
/ 10
Questo lab illustra tre aree comuni da comprendere in merito a IAM e gcloud:
In questo lab utilizzerai lo strumento comando gcloud
CLI per impostare e configurare le funzionalità di comando di Cloud Identity and Access Management (IAM).
In questo lab imparerai a:
gcloud
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).
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).
In Cloud IAM, puoi concedere l'accesso alle entità. Le entità possono essere dei seguenti tipi:
Scopri di più su questi tipi di identità nella guida ai concetti relativi all'identità.
In questo lab utilizzerai Account Google, service account e gruppi di domini Cloud Identity.
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.
Scopri di più sui ruoli nella guida ai ruoli.
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.
Scopri di più su gcloud nella guida Panoramica di gcloud CLI.
Leggi le seguenti istruzioni. I lab sono a tempo e non possono essere messi in pausa. Il timer si avvia quando fai clic su Avvia 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 prima persona, 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:
Fai clic sul pulsante Avvia lab. Se devi effettuare il pagamento per il lab, si apre una finestra popup per permetterti di selezionare il metodo di pagamento. A sinistra, trovi il riquadro Dettagli lab con le seguenti informazioni:
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.
Se necessario, copia il Nome utente di seguito e incollalo nella finestra di dialogo di accesso.
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.
Puoi trovare la Password anche nel riquadro Dettagli lab.
Fai clic su Avanti.
Fai clic nelle pagine successive:
Dopo qualche istante, la console Google Cloud si apre in questa scheda.
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.
gcloud
sia installato correttamente controllando la versione. All'interno della sessione SSH, esegui:Dopo aver verificato che lo strumento a riga di comando gcloud
sia installato, apporta alcune modifiche creando un'istanza di calcolo.
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 (
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:
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.
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.
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:
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
Come puoi vedere, la configurazione viene semplicemente archiviata come testo ed è possibile eseguirne il backup o una copia.
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.
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.
gcloud
per il secondo account utente. All'interno della sessione SSH, esegui: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 (
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 (
L'inizializzazione viene completata e la zona e la regione vengono impostate per te.
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.
Il secondo account utente dispone di accesso in visualizzazione, quindi dovresti vedere elencate le istanze centos-clean
e lab-1
.
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.
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.
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.
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.
compute.instanceAdmin
. All'interno della sessione SSH, esegui:Come puoi vedere, roles/compute.instanceAdmin ha molte autorizzazioni, ma queste sono le minime necessarie per dopo:
Per esaminare l'elenco completo dei ruoli e delle autorizzazioni assegnate, consulta la guida Riferimento alle autorizzazioni IAM.
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:
Successivamente, assegni il ruolo di base di "visualizzatore" al secondo utente nel secondo progetto.
gcloud
al secondo utente (user2). All'interno della sessione SSH, esegui:Ora sei tornato a user2
.
PROJECTID2
sul secondo progetto. All'interno della sessione SSH, esegui: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).
Ciò significa che user2 non ha accesso al progetto PROJECTID2, cosa che risolverai nella sezione successiva.
jq
:Successivamente, imposta il valore di USERID2
sul secondo nome utente e associa il ruolo di visualizzatore al secondo utente nel secondo progetto.
Una volta eseguito il comando, il testo sarà simile al seguente (potrebbe essere necessario scorrere verso l'alto):
Questa volta non dovresti visualizzare messaggi di errore.
Ora vedi 0 istanze in questo progetto.
Questo comando ha esito negativo perché user2 dispone solo di accesso in visualizzazione al progetto.
Ora riprenderai a utilizzare le credenziali del tuo account utente originale.
Successivamente, crea il nuovo ruolo con il set di autorizzazioni necessarie per il team DevOps.
devops
che disponga delle autorizzazioni per creare un'istanza. All'interno della sessione SSH, esegui: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
.
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.
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.
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.All'interno della sessione SSH, esegui:
Una volta eseguito il comando, il testo sarà simile al seguente (potrebbe essere necessario scorrere verso l'alto):
Ora sei tornato a user2.
Ora la creazione dell'istanza funziona per user2.
Dopo queste ultime modifiche il tuo ambiente appare nel seguente modo:
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.
Scopri di più sui service account nella guida ai service account.
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.
user2
non ha i diritti per impostare e configurare i service account. All'interno della sessione SSH, esegui:PROJECTID2
nella tua configurazione. All'interno della sessione SSH, esegui:Assicurati di scegliere come target il progetto giusto.
SA
. All'interno della sessione SSH, esegui:Questo comando imposta la variabile locale SA sull'indirizzo email del service account. Abbastanza utile, vero?
iam.serviceAccountUser
. All'interno della sessione SSH, esegui:Questo ruolo consente al service account di assegnare un service account a un'istanza di calcolo.
compute.instanceAdmin
. All'interno della sessione SSH, esegui:Questo ruolo consente al service account di gestire le istanze di calcolo.
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.
gcloud compute ssh
. All'interno della sessione SSH, esegui:Premi INVIO quando ti viene chiesto se vuoi continuare.
Premi Invio due volte per saltare la creazione di una password.
gcloud
. All'interno della sessione SSH, esegui:La configurazione ora ha il service account.
Puoi premere INVIO per accettare la zona predefinita per questa VM.
Poiché il service account dispone delle autorizzazioni, puoi visualizzare le istanze elencate.
Hai completato le seguenti attività utilizzando lo strumento di Cloud SDK, gcloud
:
… 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.
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
One lab at a time
Confirm to end all existing labs and start this one