arrow_back

Reti VPC - Controllo dell'accesso

Partecipa Accedi
Test and share your knowledge with our community!
done
Get access to over 700 hands-on labs, skill badges, and courses

Reti VPC - Controllo dell'accesso

Lab 1 ora universal_currency_alt 5 crediti show_chart Intermedio
Test and share your knowledge with our community!
done
Get access to over 700 hands-on labs, skill badges, and courses

GSP213

Laboratori autogestiti Google Cloud

Panoramica

In questo lab creerai due server web nginx e controllerai l'accesso HTTP esterno a questi server utilizzando regole firewall associate a tag. Successivamente, esplorerai i ruoli e gli account di servizio IAM.

Obiettivi

In questo lab imparerai a:

  • Creare un server web nginx
  • Creare regole firewall associate a tag
  • Creare un account di servizio con ruoli IAM
  • Esplorare le autorizzazioni per i ruoli Amministratore rete e Amministratore sicurezza

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.

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:

    • Pulsante Apri console Google
    • Tempo rimanente
    • Credenziali temporanee da utilizzare per il lab
    • Altre informazioni per seguire questo lab, se necessario
  2. Fai clic su Apri console Google. 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.

    Note: se visualizzi la finestra di dialogo Scegli un account, fai clic su Utilizza un altro account.
  3. Se necessario, copia il Nome utente dal riquadro Dettagli lab e incollalo nella finestra di dialogo di accesso. Fai clic su Avanti.

  4. Copia la Password dal riquadro Dettagli lab e incollala nella finestra di dialogo di benvenuto. Fai clic su Avanti.

    Importante: devi utilizzare le credenziali presenti nel riquadro di sinistra. Non utilizzare le tue credenziali Google Cloud Skills Boost. Nota: utilizzare il tuo account Google Cloud per questo lab potrebbe comportare addebiti aggiuntivi.
  5. 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: puoi visualizzare il menu con un elenco di prodotti e servizi Google Cloud facendo clic sul menu di navigazione in alto a sinistra. Icona menu di navigazione

Attiva Cloud Shell

Cloud Shell è una macchina virtuale in cui sono caricati strumenti per sviluppatori. Offre una home directory permanente da 5 GB e viene eseguita su Google Cloud. Cloud Shell fornisce l'accesso da riga di comando alle risorse Google Cloud.

  1. Fai clic su Attiva Cloud Shell Icona Attiva Cloud Shell nella parte superiore della console Google Cloud.

Quando la connessione è attiva, l'autenticazione è già avvenuta e il progetto è impostato sul tuo PROJECT_ID. L'output contiene una riga che dichiara il PROJECT_ID per questa sessione:

Your Cloud Platform project in this session is set to YOUR_PROJECT_ID

gcloud è lo strumento a riga di comando di Google Cloud. È preinstallato su Cloud Shell e supporta il completamento tramite tasto Tab.

  1. (Facoltativo) Puoi visualizzare il nome dell'account attivo con questo comando:
gcloud auth list
  1. Fai clic su Autorizza.

  2. L'output dovrebbe avere ora il seguente aspetto:

Output:

ACTIVE: * ACCOUNT: student-01-xxxxxxxxxxxx@qwiklabs.net To set the active account, run: $ gcloud config set account `ACCOUNT`
  1. (Facoltativo) Puoi elencare l'ID progetto con questo comando:
gcloud config list project

Output:

[core] project = <project_ID>

Output di esempio:

[core] project = qwiklabs-gcp-44776a13dea667a6 Nota: per la documentazione completa di gcloud, in Google Cloud, fai riferimento alla Panoramica dell'interfaccia a riga di comando gcloud.

Attività 1: crea i server web

In questa sezione, creerai due server web (blu e verde) nella rete VPC predefinita, quindi installerai nginx nei server web e modificherai la pagina di benvenuto in modo da distinguere i server.

Crea il server blu

Crea il server blu con un tag di rete.

  1. Nella Console, vai a Menu di navigazione (Icona menu di navigazione) > Compute Engine > Istanze VM.

  2. Fai clic su Crea istanza.

  3. Specifica i valori seguenti e lascia le impostazioni predefinite per gli altri valori:

    Proprietà Valore (digita il valore o seleziona l'opzione come specificato)
    Nome blu
    Regione
    Zona

    Per ulteriori informazioni sulle regioni e sulle zone disponibili, consulta la sezione Regioni e zone disponibili della guida Aree geografiche e zone di Google Cloud Compute Engine.

  4. Fai clic su Opzioni avanzate > Networking.

  5. Per Tag di rete, digita web-server.

Nota: le reti utilizzano i tag di rete per identificare le istanze di VM soggette a determinate regole firewall e route di rete. Più avanti in questo lab creerai una regola del firewall per consentire l'accesso tramite HTTP alle istanze VM contrassegnate con il tag web-server. In alternativa, potresti selezionare la casella di controllo Consenti traffico HTTP. Questa operazione comporta l'assegnazione a questa istanza del tag http-server e la creazione automatica di una regola firewall associata al tag per tcp:80.
  1. Fai clic su Crea.

Verifica l'attività completata

Fai clic su Controlla i miei progressi per verificare l'attività eseguita. Se hai completato correttamente l'attività, riceverai un punteggio di valutazione.

Crea il server blu.

Crea il server verde

Crea il server verde senza contrassegnarlo con un tag di rete.

  1. Sempre nella console, nella pagina Istanze VM fai clic su Crea istanza.

  2. Specifica i valori seguenti e lascia le impostazioni predefinite per gli altri valori:

    Proprietà Valore (digita il valore o seleziona l'opzione come specificato)
    Nome verde
    Regione
    Zona
  3. Fai clic su Crea.

Verifica l'attività completata

Fai clic su Controlla i miei progressi per verificare l'attività eseguita. Se hai completato correttamente l'attività, riceverai un punteggio di valutazione.

Crea il server verde.

Installa nginx e personalizza la pagina di benvenuto

Installa nginx su entrambe le istanze di VM e modifica la pagina di benvenuto in modo da differenziare i server.

  1. Sempre nella finestra di dialogo Istanze VM, per il server blu fai clic su SSH per avviare un terminale e stabilire una connessione.

  2. Nel terminale SSH per blu, esegui il seguente comando per installare nginx:

sudo apt-get install nginx-light -y
  1. Apri la pagina di benvenuto nell'editor nano:
sudo nano /var/www/html/index.nginx-debian.html
  1. Sostituisci la riga <h1>Welcome to nginx!</h1> con <h1>Welcome to the blue server!</h1>.
  2. Premi Ctrl+o, Invio, Ctrl+x.
  3. Verifica la modifica:
cat /var/www/html/index.nginx-debian.html

L'output dovrebbe contenere quanto segue.

<h1>Welcome to the blue server!</h1> <p>If you see this page, the nginx web server is successfully installed and working. Further configuration is required.</p>
  1. Chiudi il terminale SSH per il server blu:
exit

Ripeti gli stessi passaggi per il server verde:

  1. Fai clic su SSH in corrispondenza del server verde per avviare un terminale e stabilire una connessione.
  2. Installa nginx:
sudo apt-get install nginx-light -y
  1. Apri la pagina di benvenuto nell'editor nano:
sudo nano /var/www/html/index.nginx-debian.html
  1. Sostituisci la riga <h1>Welcome to nginx!</h1> con <h1>Welcome to the green server!</h1>.
  2. Premi Ctrl+o, Invio, Ctrl+x.
  3. Verifica la modifica:
cat /var/www/html/index.nginx-debian.html

L'output dovrebbe contenere quanto segue.

<h1>Welcome to the green server!</h1> <p>If you see this page, the nginx web server is successfully installed and working. Further configuration is required.</p>
  1. Chiudi il terminale SSH per verde:
exit

Verifica l'attività completata

Fai clic su Controlla i miei progressi per verificare l'attività eseguita. Se hai completato correttamente l'attività, riceverai un punteggio di valutazione.

Installa Nginx e personalizza la pagina di benvenuto.

Attività 2: crea la regola firewall

Crea una regola firewall associata a un tag e verifica la connettività HTTP.

Crea una del regola firewall associata a un tag

Crea una regola firewall che dovrà essere applicata alle istanze di VM contrassegnate con il tag di rete web-server.

  1. Nella console, vai a Menu di navigazione (Icona menu di navigazione) > Rete VPC > Firewall.
  2. Osserva la regola default-allow-internal.
Nota: la regola del firewall default-allow-internal consente il traffico su tutti i protocolli e le porte all'interno della rete predefinita. Devi creare una regola del firewall per consentire al traffico proveniente dall'esterno di questa rete di raggiungere solo il server blu, utilizzando il tag di rete web-server.
  1. Fai clic su Crea regola firewall.

  2. Specifica i valori seguenti e lascia le impostazioni predefinite per gli altri valori.

    Proprietà Valore (digita il valore o seleziona l'opzione come specificato)
    Nome allow-http-web-server
    Rete predefinita
    Destinazioni Tag di destinazione specificati
    Tag di destinazione web-server
    Filtro di origine Intervalli IPv4
    Intervalli IPv4 di origine 0.0.0.0/0
    Protocolli e porte Specifica protocolli e porte, quindi seleziona tcp e digita 80; seleziona Altri protocolli e digita icmp.
Nota: assicurati di includere la porzione /0 nel campo Intervalli IP di origine per specificare tutte le reti.
  1. Fai clic su Crea.

Verifica l'attività completata

Fai clic su Controlla i miei progressi per verificare l'attività eseguita. Se hai completato correttamente l'attività, riceverai un punteggio di valutazione.

Crea una regola firewall associata a un tag.

Crea una macchina virtuale di test

Crea un'istanza test-vm utilizzando la riga di comando di Cloud Shell.

  1. Apri un nuovo terminale Cloud Shell.

  2. Esegui il comando seguente per creare un'istanza test-vm nella zona :

gcloud compute instances create test-vm --machine-type=e2-micro --subnet=default --zone={{{project_0.default_zone|ZONE}}}

L'output dovrebbe essere simile al seguente:

NAME ZONE MACHINE_TYPE PREEMPTIBLE INTERNAL_IP EXTERNAL_IP STATUS test-vm {{{project_0.default_zone|ZONE}}} e2-micro 10.142.0.4 35.237.134.68 RUNNING Nota: le istanze VM possono essere create facilmente dalla console o dalla riga di comando gcloud.

Verifica l'attività completata

Fai clic su Controlla i miei progressi per verificare l'attività eseguita. Se hai completato correttamente l'attività, riceverai un punteggio di valutazione.

Crea una macchina virtuale di test.

Verifica la connettività HTTP

Da test-vm, esegui il comando curl per gli indirizzi IP interni ed esterni dei server blu e verde.

  1. Nella Console, vai a Menu di navigazione (Icona menu di navigazione) > Compute Engine > Istanze VM.
  2. Prendi nota degli indirizzi IP interni ed esterni di blu e verde.
  3. In test-vm, fai clic su SSH per avviare un terminale e stabilire una connessione.
  4. Per verificare la connettività HTTP all'indirizzo IP interno di blu, esegui il comando seguente, sostituendo il segnaposto con l'indirizzo IP interno di blu:
curl <Enter blue's internal IP here>

Dovresti visualizzare l'intestazione Welcome to the blue server!

  1. Per verificare la connettività HTTP all'indirizzo IP interno del server verde, esegui il comando seguente, sostituendo il segnaposto con l'indirizzo IP interno del server verde:
curl -c 3 <Enter green's internal IP here>

Dovresti visualizzare l'intestazione Welcome to the green server!

Nota: ora puoi accedere tramite HTTP a entrambi i server utilizzando i rispettivi indirizzi IP interni. La connessione su tcp:80 è consentita dalla regola firewall default-allow-internal, poiché test-vm si trova sulla stessa rete VPC della rete predefinita dei server web.
  1. Per verificare la connettività HTTP all'indirizzo IP esterno del server blu, esegui il comando seguente, sostituendo il segnaposto con l'indirizzo IP esterno del server blu:
curl <Enter blue's external IP here>

Dovresti visualizzare l'intestazione Welcome to the blue server!

  1. Per verificare la connettività HTTP all'indirizzo IP esterno del server verde, esegui il comando seguente, sostituendo il segnaposto con l'indirizzo IP esterno del server verde:
curl -c 3 <Enter green's external IP here> Nota: questa operazione non dovrebbe andare a buon fine. La richiesta si blocca.
  1. Premi Ctrl+c per arrestare la richiesta HTTP.
Nota: come previsto, puoi accedere tramite HTTP solo all'indirizzo IP esterno del server blu, perché allow-http-web-server si applica solo alle istanze di VM contrassegnate con il tag web-server.

Puoi verificare lo stesso comportamento dal browser aprendo una nuova scheda e passando a http://[Indirizzo IP esterno del server].

Attività 3: esplora i ruoli Amministratore rete e Amministratore sicurezza

Cloud IAM ti consente di definire chi può intervenire su risorse specifiche, garantendo un controllo e una visibilità totali per la gestione centralizzata delle risorse cloud. I ruoli seguenti vengono utilizzati insieme alle funzionalità di networking per progetti singoli per controllare in modo indipendente l'accesso amministrativo a ciascuna rete VPC:

  • Amministratore rete: dispone delle autorizzazioni per creare, modificare ed eliminare le risorse di networking, ad eccezione delle regole firewall e dei certificati SSL.
  • Amministratore sicurezza: dispone delle autorizzazioni per creare, modificare ed eliminare regole firewall e certificati SSL.

Sperimenta con questi ruoli applicandoli a un account di servizio, ossia un Account Google speciale che appartiene all'istanza di una VM anziché a un singolo utente finale. Invece di creare un nuovo utente, autorizzerai test-vm a utilizzare l'account di servizio per illustrare le autorizzazioni associate ai ruoli Amministratore rete e Amministratore sicurezza.

Verifica le autorizzazioni correnti

Attualmente, test-vm utilizza l'account di servizio predefinito di Compute Engine, che viene attivato su tutte le istanze create dalla riga di comando di Cloud Shell e dalla console Cloud.

Prova a elencare o eliminare le regole firewall disponibili da test-vm.

  1. Torna al terminale SSH dell'istanza test-vm.
  2. Prova a elencare le regole firewall disponibili:
gcloud compute firewall-rules list

L'output dovrebbe essere simile al seguente:

ERROR: (gcloud.compute.firewall-rules.list) Some requests did not succeed: - Insufficient Permission Nota: questa operazione non dovrebbe andare a buon fine.
  1. Prova a eliminare la regola firewall allow-http-web-server:
gcloud compute firewall-rules delete allow-http-web-server
  1. Se ti viene richiesto, inserisci Y per continuare.

L'output dovrebbe essere simile al seguente:

ERROR: (gcloud.compute.firewall-rules.delete) Could not fetch resource: - Insufficient Permission Nota: questa operazione non dovrebbe andare a buon fine. Nota: l'account di servizio predefinito di Compute Engine non dispone delle autorizzazioni necessarie per consentirti di elencare o eliminare le regole firewall. Lo stesso vale per altri utenti a cui non sono stati assegnati i ruoli appropriati.

Crea un account di servizio

Crea un account di servizio e applica il ruolo Amministratore rete.

  1. Nella Console, vai al Menu di navigazione (Icona menu di navigazione) > IAM e amministratore > Account di servizio.

  2. Osserva l'Account di servizio predefinito di Compute Engine.

  3. Fai clic su Crea account di servizio.

  4. Imposta Nome account di servizio su Network-admin, quindi fai clic su CREA E CONTINUA.

  5. Per Seleziona un ruolo, seleziona Compute Engine > Amministratore rete Compute e fai clic su CONTINUA, quindi su FINE.

  6. Dopo aver creato l'account di servizio Network-admin, fai clic sui tre puntini nell'angolo superiore destro e seleziona Gestisci chiavi dal menu a discesa, quindi fai clic su Aggiungi chiave e seleziona Crea nuova chiave dal menu a discesa. Fai clic su Crea per scaricare il file JSON di output.

  7. Fai clic su Chiudi.

    Un file di chiave JSON viene scaricato sul computer locale. Individua questo file: lo caricherai nella VM in un passaggio successivo.

  8. Rinomina il file di chiave JSON sul tuo computer in credentials.json.

Verifica l'attività completata

Fai clic su Controlla i miei progressi per verificare l'attività eseguita. Se hai completato correttamente l'attività, riceverai un punteggio di valutazione.

Crea l'account di servizio Network-admin.

Autorizza test-vm e verifica le autorizzazioni

Autorizza test-vm a utilizzare l'account di servizio Network-admin.

  1. Torna al terminale SSH dell'istanza test-vm.
  2. Per caricare credentials.json tramite il terminale SSH per VM, fai clic sull'icona Carica file nell'angolo in alto a destra.
  3. Seleziona credentials.json e caricalo.
  4. Fai clic su Chiudi nella finestra Trasferimento file. Nota: se richiesto, fai clic su Riprova nella finestra di dialogo Connessione tramite Cloud Identity-Aware Proxy non riuscita e ricarica il file.
  5. Autorizza la VM con le credenziali che hai appena caricato:
gcloud auth activate-service-account --key-file credentials.json Nota: Cloud SDK è già preinstallato nell'immagine che stai utilizzando, pertanto non è necessario inizializzarlo. Se stai completando questo lab in un ambiente diverso, accertati di aver seguito le procedure relative all'installazione di Cloud SDK.
  1. Prova a elencare le regole firewall disponibili:
gcloud compute firewall-rules list

L'output dovrebbe essere simile al seguente:

NAME NETWORK DIRECTION PRIORITY ALLOW DENY allow-http-web-server default INGRESS 1000 tcp:80 default-allow-icmp default INGRESS 65534 icmp default-allow-internal default INGRESS 65534 all default-allow-rdp default INGRESS 65534 tcp:3389 default-allow-ssh default INGRESS 65534 tcp:22

Questa operazione dovrebbe andare a buon fine.

  1. Prova a eliminare la regola firewall allow-http-web-server:
gcloud compute firewall-rules delete allow-http-web-server
  1. Se ti viene richiesto, inserisci Y per continuare.

L'output dovrebbe essere simile al seguente:

ERROR: (gcloud.compute.firewall-rules.delete) Could not fetch resource: - Required 'compute.firewalls.delete' permission for 'projects/[PROJECT_ID]/global/firewalls/allow-http-web-server' Nota: questa operazione non dovrebbe andare a buon fine. Nota: come previsto, il ruolo Amministratore rete dispone delle autorizzazioni necessarie per elencare, ma non per modificare o eliminare le regole firewall.

Aggiorna l'account di servizio e verifica le autorizzazioni

Aggiorna l'account di servizio Network-admin applicando il ruolo Amministratore sicurezza.

  1. Nella console, vai al Menu di navigazione (Icona menu di navigazione) > IAM e amministratore > IAM.

  2. Individua l'account Network-admin controllando la colonna Nome.

  3. Fai clic sull'icona a forma di matita in corrispondenza dell'account Network-admin.

  4. Modifica il Ruolo in Compute Engine > Amministratore sicurezza Compute.

  5. Fai clic su Salva.

  6. Torna al terminale SSH dell'istanza test-vm.

  7. Prova a elencare le regole firewall disponibili:

gcloud compute firewall-rules list

L'output dovrebbe essere simile al seguente:

NAME NETWORK DIRECTION PRIORITY ALLOW DENY allow-http-web-server default INGRESS 1000 tcp:80 default-allow-icmp default INGRESS 65534 icmp default-allow-internal default INGRESS 65534 all default-allow-rdp default INGRESS 65534 tcp:3389 default-allow-ssh default INGRESS 65534 tcp:22

Questa operazione dovrebbe andare a buon fine.

  1. Prova a eliminare la regola firewall allow-http-web-server:
gcloud compute firewall-rules delete allow-http-web-server
  1. Se ti viene richiesto, inserisci Y per continuare.

L'output dovrebbe essere simile al seguente:

Deleted [https://www.googleapis.com/compute/v1/projects/qwiklabs-gcp-00e186e4b1cec086/global/firewalls/allow-http-web-server].

Questa operazione dovrebbe andare a buon fine.

Nota: come previsto, il ruolo Amministratore sicurezza dispone delle autorizzazioni necessarie per elencare ed eliminare le regole firewall.

Verifica l'eliminazione della regola firewall

Verifica di non poter più accedere tramite HTTP all'indirizzo IP esterno del server blu, in quanto hai eliminato la regola firewall allow-http-web-server.

  1. Torna al terminale SSH dell'istanza test-vm.
  2. Per verificare la connettività HTTP all'indirizzo IP esterno del server blu, esegui il comando seguente, sostituendo il segnaposto con l'indirizzo IP esterno del server blu:
curl -c 3 <Enter blue's external IP here> Nota: questa operazione non dovrebbe andare a buon fine.
  1. Premi Ctrl+c per arrestare la richiesta HTTP.
Nota: assegna il ruolo Amministratore sicurezza all'utente o all'account di servizio corretto, per evitare modifiche indesiderate alle regole firewall.

Complimenti!

In questo lab hai creato due server web nginx e hai stabilito dei controlli sull'accesso esterno via HTTP utilizzando una regola firewall associata a un tag. Successivamente hai creato un account di servizio, prima con il ruolo Amministratore rete, poi con il ruolo Amministratore sicurezza per sperimentare le diverse autorizzazioni di questi ruoli.

Se la tua azienda ha un team per la sicurezza che gestisce i firewall e i certificati SSL e un team per il networking che gestisce le altre risorse di rete, assegna il ruolo Amministratore sicurezza al team che si occupa della sicurezza e il ruolo Amministratore rete al team che si occupa del networking.

Prossimi passi/Scopri di più

Per informazioni sui concetti fondamentali di Google Cloud Identity and Access Management, consulta la panoramica di Google Cloud Identity and Access Management

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: 19 settembre 2023

Ultimo test del lab: 19 settembre 2023

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.