Checkpoint
Create a Cloud Storage bucket
/ 15
Make file publicly readable
/ 15
Customer-supplied encryption keys (CSEK)
/ 15
Enable lifecycle management
/ 15
Enable versioning
/ 15
Create the resources in the second project
/ 15
Create and verify the resources in the first project
/ 10
Cloud Storage
- Panoramica
- Obiettivi
- Attività 1: preparazione
- Attività 2: elenchi di controllo dell'accesso (ACL)
- Attività 3: chiavi di crittografia fornite dal cliente (CSEK)
- Attività 4: ruota le chiavi CSEK
- Attività 5: abilita la gestione del ciclo di vita
- Attività 6: abilita il controllo delle versioni
- Attività 7: sincronizza una directory con un bucket
- Attività 8: condivisione tra progetti
- Attività 9: riepilogo
- Termina il lab
Panoramica
Cloud Storage è una risorsa fondamentale in Google Cloud, con numerose funzionalità avanzate. In questo lab proverai molte funzionalità di Cloud Storage che potrebbero esserti utili nelle tue progettazioni. Puoi esplorare Cloud Storage utilizzando sia la console che lo strumento gsutil.
Obiettivi
In questo lab imparerai a:
- Creare e utilizzare bucket
- Impostare elenchi di controllo di accesso per limitare l'accesso
- Usare le tue chiavi di crittografia
- Implementare controlli delle versioni
- Usare la sincronizzazione directory
- Condividere un bucket tra progetti con IAM
Configurazione di Qwiklabs
Per ciascun lab, riceverai un nuovo progetto Google Cloud e un insieme di risorse per un periodo di tempo limitato senza alcun costo aggiuntivo.
-
Accedi a Qwiklabs utilizzando una finestra di navigazione in incognito.
-
Tieni presente la durata dell'accesso al lab (ad esempio,
1:15:00
) e assicurati di finire entro quell'intervallo di tempo.
Non è disponibile una funzionalità di pausa. Se necessario, puoi riavviare il lab ma dovrai ricominciare dall'inizio. -
Quando è tutto pronto, fai clic su Inizia lab.
-
Annota le tue credenziali del lab (Nome utente e Password). Le userai per accedere a Google Cloud Console.
-
Fai clic su Apri console Google.
-
Fai clic su Utilizza un altro account e copia/incolla le credenziali per questo lab nei prompt.
Se utilizzi altre credenziali, compariranno errori oppure ti verranno addebitati dei costi. -
Accetta i termini e salta la pagina di ripristino delle risorse.
Attività 1: preparazione
Crea un bucket Cloud Storage
- Nel menu di navigazione (), fai clic su Cloud Storage > Bucket.
PROJECT_ID_1
nel nome per renderlo univoco. Ad esempio, se PROJECT_ID_1
è myproj-154920
il nome del bucket potrebbe essere storecore154920
- Fai clic su Crea.
- Specifica quanto segue e non modificare le altre impostazioni predefinite:
Proprietà | Valore (digita il valore o seleziona l'opzione come specificato) |
---|---|
Nome | Inserisci un nome globalmente univoco |
Tipo di località | Regione |
Regione | |
Applica la prevenzione dell'accesso pubblico in questo bucket | deselezionata |
Controllo dell'accesso | Granulare (autorizzazione a livello di oggetto in aggiunta alle autorizzazioni a livello di bucket) |
- Prendi nota del nome del bucket. Verrà utilizzato più tardi in questo lab e indicato come [BUCKET_NAME_1].
- Fai clic su Crea.
Fai clic su Controlla i miei progressi per verificare l'obiettivo.
Scarica un file di esempio utilizzando CURL e crea due copie
- Nella console Cloud, fai clic su Attiva Cloud Shell ().
- Se richiesto, fai clic su Continua.
- Archivia [BUCKET_NAME_1] in una variabile di ambiente:
- Verificalo con il comando echo:
- Esegui questo comando per scaricare un file di esempio (il file di esempio è un file HTML della documentazione di Hadoop disponibile pubblicamente):
- Per creare copie del file, esegui questi comandi:
Attività 2: elenchi di controllo dell'accesso (ACL)
Copia il file nel bucket e configura l'elenco di controllo dell'accesso
- Esegui questo comando per copiare il primo file nel bucket:
- Per ottenere l'elenco per gli accessi predefinito che è stato assegnato a setup.html, esegui questo comando:
- Per impostare l'elenco di accesso come privato e verificare i risultati, esegui questi comandi:
- Per aggiornare l'elenco di accesso e rendere il file leggibile pubblicamente, esegui questi comandi:
Fai clic su Controlla i miei progressi per verificare l'obiettivo.
Esamina il file nella console Cloud
- Nel menu di navigazione () della console Cloud, fai clic su Cloud Storage > Bucket.
- Fai clic su [BUCKET_NAME_1].
- Verifica che per il file setup.html, per Accesso pubblico sia disponibile un Link pubblico.
Elimina il file locale e copialo da Cloud Storage
- Torna a Cloud Shell. Se necessario, fai clic su Attiva Cloud Shell ().
- Esegui questo comando per eliminare il file di configurazione:
- Per verificare che il file sia stato eliminato, esegui questo comando:
- Per copiare nuovamente il file dal bucket, esegui questo comando:
Attività 3: chiavi di crittografia fornite dal cliente (CSEK)
Genera una chiave CSEK
Per il passaggio successivo, è necessaria una chiave AES-256 base-64.
- Esegui questo comando per creare una chiave:
Risultato (output di esempio):
- Copia il valore della chiave generata escludendo
b'
e\n'
dall'output comando. La chiave deve essere nel formatotmxElCaabWvJqR7uXEWQF39DhWTcDvChzuCmpHe6sb0=
.
Modifica il file boto
I controlli di crittografia sono contenuti in un file di configurazione gsutil denominato .boto
.
- Per visualizzare e aprire il file boto, esegui questi comandi:
Nota: se il file .boto
è vuoto, chiudi l'editor nano con Ctrl+X e genera un nuovo file .boto
utilizzando il comando gsutil config -n
. Quindi, prova a riaprire il file con i comandi riportati sopra.
.boto
è ancora vuoto, potresti doverlo individuare utilizzando il comando gsutil version -l
.- Individua la riga con "
#encryption_key=
"
- Rimuovi il commento dalla riga rimuovendo il carattere # e incolla la chiave generata in precedenza alla fine.
Esempio (è un esempio):
- Premi Ctrl+O e Invio per salvare il file boto, quindi premi Ctrl+X per uscire da nano.
Carica i file di configurazione rimanenti (criptati) e verifica in Cloud Console
- Per caricare i restanti file setup.html, esegui questi comandi:
- Torna a Cloud Console.
- Fai clic su [BUCKET_NAME_1]. I file setup2.html e setup3.html mostrano che sono criptati dal cliente.
Fai clic su Controlla i miei progressi per verificare l'obiettivo.
Elimina i file locali, copia i nuovi file e verifica la crittografia
- Per eliminare i file locali, esegui questo comando in Cloud Shell:
- Per copiare nuovamente i file dal bucket, esegui questo comando:
- Per scrivere i contenuti dei file criptati nell'output standard allo scopo di verificare se sono stati ripristinati, esegui questi comandi:
Attività 4: ruota le chiavi CSEK
Sposta la chiave di crittografia CSEK attuale per decriptare la chiave
- Esegui questo comando per aprire il file
.boto
:
- Commenta la riga encryption_key attuale aggiungendo il carattere # all'inizio.
- Rimuovi il commento da decryption_key1 rimuovendo il carattere # e copia la chiave attuale dalla riga encryption_key alla riga decryption_key1.
Risultato (output di esempio):
- Premi Ctrl+O e Invio per salvare il file boto, quindi premi Ctrl+X per uscire da nano.
Genera un'altra chiave CSEK e aggiungila al file boto
- Esegui questo comando per generare una nuova chiave:
- Copia il valore della chiave generata escludendo
b'
e\n'
dall'output comando. La chiave deve essere nel formatotmxElCaabWvJqR7uXEWQF39DhWTcDvChzuCmpHe6sb0=
. - Per aprire il file boto, esegui questo comando:
- Rimuovi il commento dalla riga encryption_key e incolla il nuovo valore della chiave per
encryption_key=
.
Risultato (output di esempio):
- Premi Ctrl+O e Invio per salvare il file boto, quindi premi Ctrl+X per uscire da nano.
Riscrivi la chiave per il file 1 e commenta la vecchia chiave di decriptazione
Quando un file è criptato, la riscrittura del file lo decripta utilizzando la chiave decryption_key1 che avevi impostato in precedenza e lo cripta con la nuova chiave encryption_key.
Stai riscrivendo la chiave per setup2.html, ma non per setup3.html, in modo da poter vedere cosa succede se la rotazione delle chiavi non viene eseguita correttamente.
- Esegui questo comando:
- Per aprire il file boto, esegui questo comando:
- Commenta la riga decryption_key1 attuale aggiungendo di nuovo il carattere #.
Risultato (output di esempio):
- Premi Ctrl+O e Invio per salvare il file boto, quindi premi Ctrl+X per uscire da nano.
Scarica setup2 e setup3
- Per scaricare setup2.html, esegui questo comando:
- Per scaricare setup3.html, esegui questo comando:
Attività 5: abilita la gestione del ciclo di vita
Visualizza l'attuale criterio del ciclo di vita per il bucket
- Esegui questo comando per visualizzare l'attuale criterio del ciclo di vita:
Crea un file JSON dei criteri del ciclo di vita
- Per creare un file denominato life.json, esegui questo comando:
- Incolla il valore seguente nel file life.json:
- Premi Ctrl+O e Invio per salvare il file, quindi premi Ctrl+X per uscire da nano.
Imposta il criterio e verificalo
- Per impostare il criterio, esegui questo comando:
- Per verificare il criterio, esegui questo comando:
Fai clic su Controlla i miei progressi per verificare l'obiettivo.
Attività 6: abilita il controllo delle versioni
Visualizza lo stato di controllo delle versioni per il bucket e abilita il controllo delle versioni
- Esegui questo comando per visualizzare lo stato attuale del controllo delle versioni per il bucket:
- Per abilitare il controllo delle versioni, esegui questo comando:
- Per verificare che il controllo delle versioni sia stato abilitato, esegui questo comando:
Fai clic su Controlla i miei progressi per verificare l'obiettivo.
Crea più versioni del file di esempio nel bucket
- Verifica le dimensioni del file di esempio:
- Apri il file setup.html:
- Elimina 5 righe qualsiasi da setup.html per modificare le dimensioni del file.
- Premi Ctrl+O e Invio per salvare il file, quindi premi Ctrl+X per uscire da nano.
- Copia il file nel bucket con l'opzione di controllo delle versioni -v:
- Apri il file setup.html:
- Elimina altre 5 righe da setup.html per modificare le dimensioni del file.
- Premi Ctrl+O e Invio per salvare il file, quindi premi Ctrl+X per uscire da nano.
- Copia il file nel bucket con l'opzione di controllo delle versioni -v:
Elenca tutte le versioni del file
- Per visualizzare l'elenco di tutte le versioni del file, esegui questo comando:
- Evidenzia e copia il nome della versione meno recente del file (la prima elencata), che sarà indicata come [VERSION_NAME] nel passaggio successivo.
- Archivia il valore della versione nella variabile di ambiente [VERSION_NAME].
- Verificalo con il comando echo:
Risultato (output di esempio):
Scarica la versione originale del file, la meno recente, e verifica il ripristino
- Scarica la versione originale del file:
- Per verificare il ripristino, esegui questi comandi:
Attività 7: sincronizza una directory con un bucket
Crea una directory nidificata ed esegui la sincronizzazione con un bucket
Crea una struttura di directory nidificata in modo da poter osservare cosa succede quando viene copiata in modo ricorsivo in un bucket.
- Esegui questi comandi:
- Per sincronizzare la directory firstlevel sulla VM con il tuo bucket, esegui questo comando:
Esamina i risultati
- Nel menu di navigazione () della console Cloud, fai clic su Cloud Storage > Bucket.
- Fai clic su [BUCKET_NAME_1]. Osserva le sottocartelle nel bucket.
- Fai clic su /firstlevel e quindi su /secondlevel.
- Confronta i dati visualizzati nella console Cloud con i risultati del seguente comando:
- Esci da Cloud Shell:
Attività 8: condivisione tra progetti
Passa al secondo progetto
- Apri una nuova scheda di navigazione in incognito.
- Passa aconsole.cloud.google.com per aprire una console Cloud.
- Fai clic sul menu a discesa del selettore progetti nella barra del titolo.
- Fai clic su Tutti, quindi sul secondo progetto fornito nella finestra di dialogo Dettagli connessione di Qwiklabs. Ricorda che l'ID progetto è un nome univoco tra tutti i progetti Google Cloud. Il secondo ID progetto sarà indicato come [PROJECT_ID_2].
Prepara il bucket
- Nel menu di navigazione () della console Cloud, fai clic su Cloud Storage > Bucket.
- Fai clic su Crea.
- Specifica quanto segue e non modificare le altre impostazioni predefinite:
Proprietà | Valore (digita il valore o seleziona l'opzione come specificato) |
---|---|
Nome | Inserisci un nome globalmente univoco |
Tipo di località | Regione |
Regione | |
Controllo dell'accesso | Granulare (autorizzazione a livello di oggetto in aggiunta alle autorizzazioni a livello di bucket) |
- Annota il nome del bucket. Nei passaggi seguenti verrà indicato come [BUCKET_NAME_2].
- Fai clic su Crea.
Carica un file di testo nel bucket
- Carica un file in [BUCKET_NAME_2]. Puoi usare qualsiasi file di testo o file di esempio di dimensioni ridotte.
- Prendi nota del nome del file (indicato come [FILE_NAME]); lo userai in un secondo momento.
Crea un account di servizio IAM
- Nel menu di navigazione () della console Cloud, fai clic su IAM e amministrazione > Account di servizio.
- Fai clic su Crea account di servizio.
- Nella pagina dei dettagli dell'account di servizio, in Nome account di servizio inserisci
cross-project-storage
. - Fai clic su Crea e continua.
- Nella pagina Autorizzazioni account di servizio, seleziona il ruolo Cloud Storage > Visualizzatore oggetti Storage.
- Fai clic su Continua, quindi su Fine.
- Fai clic sull'account di servizio cross-project-storage per aggiungere la chiave JSON.
- Nella scheda Chiavi, fai clic sul menu a discesa Aggiungi chiave e seleziona Crea nuova chiave.
- Seleziona JSON come tipo di chiave e fai clic su Crea. Verrà scaricato un file della chiave JSON. Dovrai trovare questo file della chiave e caricarlo nella VM in un passaggio successivo.
- Fai clic su Chiudi.
- Sul disco rigido, rinomina il file della chiave JSON in credentials.json.
- Nel riquadro superiore, torna a [PROJECT_ID_1].
Fai clic su Controlla i miei progressi per verificare l'obiettivo.
Crea una VM
- Nel menu di navigazione (), fai clic su Compute Engine > Istanze VM.
- Fai clic su Crea istanza.
- Specifica quanto segue e non modificare le altre impostazioni predefinite:
Proprietà | Valore (digita il valore o seleziona l'opzione come specificato) |
---|---|
Nome | crossproject |
Regione | |
Zona | |
Serie | E2 |
Tipo di macchina | e2-medium |
Disco di avvio | Debian GNU/Linux 11 (bullseye) |
- Fai clic su Crea.
Accedi tramite SSH alla VM
- Fai clic su SSH in corrispondenza di crossproject per avviare un terminale e stabilire una connessione.
- Archivia [BUCKET_NAME_2] in una variabile di ambiente:
- Verificalo con il comando echo:
- Archivia [FILE_NAME] in una variabile di ambiente:
- Verificalo con il comando echo:
- Elenca i file in [PROJECT_ID_2]:
Risultato (output di esempio):
Autorizza la VM
- Per caricare credentials.json tramite il terminale SSH per VM, fai clic sull'icona Freccia su () nell'angolo in alto a destra, quindi fai clic su Carica file.
- Seleziona credentials.json e caricalo.
- Fai clic su Chiudi nella finestra Trasferimento file.
- Verifica che il file JSON sia stato caricato sulla VM:
Risultato (output di esempio):
- Inserisci il comando seguente nel terminale per autorizzare la VM a utilizzare l'API Google Cloud:
Nota: nell'immagine che stai utilizzando, Google Cloud SDK è preinstallato, pertanto non è necessario inizializzarlo.
Se stai completando questo lab in un ambiente diverso, accertati di aver seguito queste procedure riguardanti l'installazione di Google Cloud SDK dalla guida di gcloud CLI.Verifica l'accesso
- Riprova a eseguire questo comando:
- Riprova a eseguire questo comando:
- Prova a copiare il file delle credenziali nel bucket:
Risultato (output di esempio):
Modifica il ruolo
- Nel riquadro superiore, torna a [PROJECT_ID_2].
- Nel menu di navigazione () della console Cloud, fai clic su IAM e amministrazione > IAM.
- Fai clic sull'icona a forma di matita in corrispondenza dell'account di servizio cross-project-storage. Potresti dover scorrere verso destra per visualizzare l'icona.
- Fai clic sul ruolo Visualizzatore oggetti Storage e quindi su Cloud Storage > Amministratore oggetti Storage.
- Fai clic su Salva. Se non fai clic su Salva, la modifica non verrà apportata.
Fai clic su Controlla i miei progressi per verificare l'obiettivo.
Verifica l'accesso modificato
- Torna al terminale SSH per crossproject.
- Copia il file delle credenziali nel bucket:
Risultato (output di esempio):
Nota: in questo esempio, la VM in PROJECT_ID_1
può ora caricare file in Cloud Storage all'interno di un bucket creato in un altro progetto.
PROJECT_ID_1
, ma su PROJECT_ID_2
.Attività 9: riepilogo
In questo lab hai imparato a creare e a lavorare con bucket e oggetti, oltre a conoscere le seguenti funzionalità di Cloud Storage:
- CSEK: chiave di crittografia fornita dal cliente
- Usa le tue chiavi di crittografia
- Ruota le chiavi
- ACL: elenco di controllo dell'accesso
- Imposta un ACL per l'accesso privato, quindi cambialo in pubblico
- Gestione del ciclo di vita
- Imposta il criterio per eliminare gli oggetti dopo 31 giorni
- Controllo delle versioni
- Crea una versione e ripristina una versione precedente
- Sincronizzazione directory
- Sincronizza in modo ricorsivo una directory di una VM con un bucket
- Condivisione delle risorse tra progetti utilizzando IAM
- Usa IAM per abilitare l'accesso alle risorse tra progetti
Termina il lab
Una volta completato il lab, fai clic su Termina lab. Google Cloud Skills Boost rimuove le risorse che hai utilizzato ed esegue la pulizia dell'account.
Avrai la possibilità di inserire una valutazione in merito alla tua esperienza. Seleziona il numero di stelle applicabile, inserisci un commento, quindi fai clic su Invia.
Il numero di stelle corrisponde alle seguenti valutazioni:
- 1 stella = molto insoddisfatto
- 2 stelle = insoddisfatto
- 3 stelle = esperienza neutra
- 4 stelle = soddisfatto
- 5 stelle = molto soddisfatto
Se non vuoi lasciare un feedback, chiudi la finestra di dialogo.
Per feedback, suggerimenti o correzioni, utilizza la scheda Assistenza.
Copyright 2020 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.