arrow_back

Configurazione delle autorizzazioni IAM con gcloud

Accedi Partecipa
Metti alla prova le tue conoscenze e condividile con la nostra community.
done
Accedi a oltre 700 lab pratici, badge delle competenze e corsi

Configurazione delle autorizzazioni IAM con gcloud

Lab 1 ora 30 minuti universal_currency_alt 1 credito show_chart Introduttivi
info Questo lab potrebbe incorporare strumenti di AI a supporto del tuo apprendimento.
Metti alla prova le tue conoscenze e condividile con la nostra community.
done
Accedi a oltre 700 lab pratici, badge delle competenze e corsi

GSP647

Laboratori autogestiti Google Cloud

Panoramica

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).

Illustrazione dell'ambiente iniziale

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:

  • Account Google
  • Service account
  • Gruppo Google
  • Account Google Workspace
  • Dominio Cloud Identity
  • Tutti gli utenti autenticati
  • Tutti gli utenti

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.

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.

Scopri di più sui ruoli nella guida ai ruoli.

Che cos'è gcloud?

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.

Configurazione e requisiti

Prima di fare clic sul pulsante Avvia lab

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:

  • Accesso a un browser internet standard (Chrome è il browser consigliato).
Nota: utilizza una finestra del browser in incognito o privata per eseguire questo lab. Ciò evita eventuali 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: se hai già un account o un progetto Google Cloud personale, non utilizzarlo per questo lab per evitare addebiti aggiuntivi al tuo account. Nota:per questo lab accedi utilizzando Nome utente 1.

Come avviare il lab e accedere alla console Google Cloud

  1. 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:

    • Il pulsante Apri console Google Cloud
    • Tempo rimanente
    • Credenziali temporanee da utilizzare per il lab
    • Altre informazioni per seguire questo lab, se necessario
  2. 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.
  3. 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.

  4. Fai clic su Avanti.

  5. 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.

  6. 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.
  7. 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 visualizzare un menu con un elenco di prodotti e servizi Google Cloud, fai clic sul menu di navigazione in alto a sinistra. Icona menu di navigazione

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.

  1. Apri l'elenco delle istanze di calcolo da Menu di navigazione > Compute Engine > Istanze VM.

  2. 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.
  1. 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.

  1. 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)?).

  1. Vai al link visualizzato in una nuova scheda.

  2. Fai clic sul tuo nome utente attivo () e poi su Consenti.

  3. 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.

  4. 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"}}}
  1. All'interno della sessione SSH, esegui:
gcloud compute instances create lab-1 --zone {{{project_0.default_zone_1 | "Zone1"}}} --machine-type=e2-standard-2

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
  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.

  1. Ora elenca tutte le zone disponibili per l'uso eseguendo questo comando all'interno della sessione SSH:
gcloud compute zones list
  1. Identifica una delle altre zone nella tua stessa regione. Ad esempio, se la tua zona attuale è us-west2-a, potresti selezionare us-west2-b.

  2. 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
  1. 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
  1. Verifica che la zona sia stata scritta nel file di configurazione. All'interno della sessione SSH, esegui:
cat ~/.config/gcloud/configurations/config_default

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.

  1. Avvia una nuova configurazione gcloud per il secondo account utente. All'interno della sessione SSH, esegui:
gcloud init --no-launch-browser
  1. Seleziona l'opzione 2, Create a new configuration (Crea una nuova configurazione).

  2. configuration name (nome configurazione): digita user2.

  3. 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.

  4. Premi INVIO al prompt Do you want to continue (Y/n)? (Vuoi continuare (S/n)?).

  5. Vai al link visualizzato in una nuova scheda.

  6. Fai clic su Use another account (Utilizza un altro account)

  7. Copia il secondo account utente () e incollalo nel prompt email or phone (email o telefono).

  8. Copia la stessa password con cui hai avviato il lab e incollala nel prompt enter your password (inserisci la password).

  9. Fai clic su Ho capito.

  10. Fai clic su Consenti.

Accetti che Cloud SDK abbia lo stesso accesso del tuo Account Google.

  1. 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.

  2. 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.

  1. 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.

  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:
gcloud compute instances create lab-2 --zone {{{project_1.default_zone_1 | "Zone2"}}} --machine-type=e2-standard-2

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.

  1. 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

  1. 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.

  1. 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:

  • 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

Per esaminare l'elenco completo dei ruoli e delle autorizzazioni assegnate, consulta la guida Riferimento alle autorizzazioni IAM.

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.

  1. Riporta la configurazione gcloud al secondo utente (user2). All'interno della sessione SSH, esegui:
gcloud config configurations activate user2

Ora sei tornato a user2.

  1. 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).

  1. 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

  1. Torna alla configurazione gcloud predefinita, che dispone dell'autorizzazione per concedere l'accesso al secondo utente. All'interno della sessione SSH, esegui:
gcloud config configurations activate default
  1. Installa jq:
sudo yum -y install epel-release sudo yum -y install jq

Successivamente, imposta il valore di USERID2 sul secondo nome utente e associa il ruolo di visualizzatore al secondo utente nel secondo progetto.

  1. All'interno della sessione SSH, esegui:
echo "export USERID2={{{user_1.username | "Username2"}}}" >> ~/.bashrc . ~/.bashrc gcloud projects add-iam-policy-binding $PROJECTID2 --member user:$USERID2 --role=roles/viewer

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: - serviceAccount:{{{project_1.project_id | "PROJECT_ID"}}}@{{{project_1.project_id | "PROJECT_ID"}}}.iam.gserviceaccount.com role: roles/storage.admin - members: - user:{{{user_0.username | "Username1"}}} - user:{{{user_1.username | "Username2"}}} role: roles/viewer Limita il nome utente 2 al ruolo roles/viewer nel progetto 2

Attività 4: verifica che user2 abbia accesso

  1. Imposta la configurazione gcloud su user2. All'interno della sessione SSH, esegui:
gcloud config configurations activate user2
  1. Cambia la configurazione per user2 nel secondo progetto. All'interno della sessione SSH, esegui:
gcloud config set project $PROJECTID2

Questa volta non dovresti visualizzare messaggi di errore.

  1. Verifica di avere accesso in visualizzazione. All'interno della sessione SSH, esegui:
gcloud compute instances list

Ora vedi 0 istanze in questo progetto.

  1. Prova a creare un'istanza nel secondo progetto come secondo utente. All'interno della sessione SSH, esegui:
gcloud compute instances create lab-2 --zone {{{project_1.default_zone_1 | "Zone2"}}} --machine-type=e2-standard-2

Questo comando ha esito negativo perché user2 dispone solo di accesso in visualizzazione al progetto.

  1. 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.

  1. Associa il ruolo di iam.serviceAccountUser al secondo utente nel secondo progetto. All'interno della sessione SSH, esegui:
gcloud projects add-iam-policy-binding $PROJECTID2 --member user:$USERID2 --role=roles/iam.serviceAccountUser

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
  1. 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.

All'interno della sessione SSH, esegui:

gcloud projects add-iam-policy-binding $PROJECTID2 --member user:$USERID2 --role=projects/$PROJECTID2/roles/devops

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.

  1. Imposta la configurazione gcloud su user2. All'interno della sessione SSH, esegui:
gcloud config configurations activate user2

Ora sei tornato a user2.

  1. Prova a creare un'istanza denominata lab-2. All'interno della sessione SSH, esegui:
gcloud compute instances create lab-2 --zone {{{project_1.default_zone_1 | "Zone2"}}} --machine-type=e2-standard-2

Ora la creazione dell'istanza funziona per user2.

Crea un'istanza denominata lab-2 nel progetto 2
  1. 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:

Illustrazione dei progressi del lab

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.

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.

Crea un service account

  1. 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
  1. 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.

  1. 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
  1. 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.
  1. 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?

  1. Assegna al service account il ruolo iam.serviceAccountUser. All'interno della sessione SSH, esegui:
gcloud projects add-iam-policy-binding $PROJECTID2 --member serviceAccount:$SA --role=roles/iam.serviceAccountUser

Questo ruolo consente al service account di assegnare un service account a un'istanza di calcolo.

Verifica che il service account DevOps sia associato a project2 e al ruolo roles/iam.serviceAccountUser

Attività 6: utilizza il service account con un'istanza di calcolo

  1. Assegna al service account il ruolo compute.instanceAdmin. All'interno della sessione SSH, esegui:
gcloud projects add-iam-policy-binding $PROJECTID2 --member serviceAccount:$SA --role=roles/compute.instanceAdmin

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
  1. 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:
gcloud compute instances create lab-3 --zone {{{project_1.default_zone_1 | "Zone2"}}} --machine-type=e2-standard-2 --service-account $SA --scopes "https://www.googleapis.com/auth/compute"

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

  1. Connettiti all'istanza appena creata utilizzando gcloud compute ssh. All'interno della sessione SSH, esegui:
gcloud compute ssh lab-3 --zone {{{project_1.default_zone_1 | "Zone2"}}}

Premi INVIO quando ti viene chiesto se vuoi continuare.

Premi Invio due volte per saltare la creazione di una password.

  1. L'immagine predefinita utilizzata include già la configurazione gcloud. All'interno della sessione SSH, esegui:
gcloud config list

La configurazione ora ha il service account.

  1. Crea un'istanza. Questo consente di verificare che tu disponga delle autorizzazioni necessarie tramite il service account:
gcloud compute instances create lab-4 --zone {{{project_1.default_zone_1 | "Zone2"}}} --machine-type=e2-standard-2

Puoi premere INVIO per accettare la zona predefinita per questa VM.

  1. Verifica che i ruoli assegnati funzionino. All'interno della sessione SSH, esegui:
gcloud compute instances list

Poiché il service account dispone delle autorizzazioni, puoi visualizzare le istanze elencate.

Il tuo ambiente ora assomiglia a questo

Illustrazione dell'ambiente finale del lab

Complimenti!

Hai completato le seguenti attività utilizzando lo strumento di Cloud SDK, gcloud:

  • Hai installato e configurato il client gcloud
  • Hai creato e cambiato più configurazioni IAM
  • Hai identificato e assegnato le autorizzazioni IAM corrette
  • Hai creato e utilizzato un service account

Prossimi passi/Scopri di più

Formazione e certificazione Google Cloud

… 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 2024 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