In questa sezione del corso, esamineremo la struttura funzionale di Google Cloud. La gerarchia delle risorse di Google Cloud comprende quattro livelli, che, a partire dal livello più basso, sono: risorse, progetti, cartelle e nodo organizzazione. Al primo livello si trovano le risorse, che rappresentano le macchine virtuali, i bucket Cloud Storage, le tabelle in BigQuery o qualsiasi altra risorsa in Google Cloud. Le risorse sono organizzate in progetti, che costituiscono il secondo livello. I progetti possono essere organizzati in cartelle o anche sottocartelle, che si trovano al terzo livello. Al livello principale si trova un nodo organizzazione, che include tutti i progetti, le cartelle e le risorse nella tua organizzazione. È importante comprendere questa gerarchia delle risorse poiché è correlata al modo in cui i criteri vengono gestiti e applicati quando usi Google Cloud. I criteri possono essere definiti a livello di progetto, cartella e nodo organizzazione. Alcuni servizi Google Cloud consentono di applicare criteri anche a singole risorse. I criteri vengono ereditati dall'alto. Ciò significa che se applichi un criterio a una cartella, questo verrà applicato anche a tutti i progetti in quella cartella. Ora concentriamoci sul secondo livello della gerarchia delle risorse: i progetti. I progetti sono la base per abilitare e utilizzare i servizi Google Cloud, come la gestione delle API, la fatturazione, l'aggiunta e la rimozione di collaboratori e l'abilitazione di altri servizi Google. Ogni progetto è un'entità separata all'interno del nodo organizzazione e ogni risorsa appartiene solo a un progetto. I progetti possono avere proprietari e utenti diversi perché sono fatturati e gestiti separatamente. Ogni progetto Google Cloud ha tre attributi identificativi: un ID progetto, un nome progetto e un numero di progetto. L'ID progetto è un identificatore univoco a livello globale assegnato da Google, non modificabile dopo la creazione, poiché è immutabile. Gli ID progetto vengono utilizzati in diversi contesti per informare Google Cloud del progetto esatto con cui lavorare. I nomi progetto, invece, sono creati dall'utente. Non devono essere univoci e possono essere modificati quando vuoi, quindi non sono immutabili. Google Cloud assegna anche a ogni progetto un numero di progetto univoco. È utile sapere dell'esistenza di questi numeri generati da Google, ma non li esamineremo in questo corso. Servono internamente a Google Cloud per tenere traccia delle risorse. Lo strumento Resource Manager di Google Cloud è progettato per la gestione programmatica dei progetti. È un'API che può raccogliere un elenco di tutti i progetti associati a un account, creare nuovi progetti, aggiornare quelli esistenti ed eliminarli. Può anche ripristinare progetti eliminati in precedenza ed è accessibile tramite l'API RPC e l'API REST. Al terzo livello della gerarchia delle risorse Google Cloud si trovano le cartelle, con cui puoi assegnare criteri alle risorse al livello di granularità scelto. Le risorse in una cartella ne ereditano i criteri e le autorizzazioni assegnati. Una cartella può contenere progetti, altre cartelle o entrambi. Puoi utilizzarle per raggruppare i progetti in un'organizzazione in una gerarchia. Ad esempio, la tua organizzazione potrebbe contenere più reparti, ognuno con il proprio insieme di risorse Google Cloud. Le cartelle consentono di raggruppare queste risorse in base al reparto. Le cartelle offrono ai team la capacità di delegare i diritti amministrativi per poter lavorare in modo indipendente. Come già visto, le risorse in una cartella ereditano i criteri e le autorizzazioni dalla cartella stessa. Ad esempio, se due progetti diversi sono amministrati dallo stesso team, puoi aggiungere i criteri a una cartella comune affinché abbiano le stesse autorizzazioni. L'operazione contraria, ossia inserire copie duplicate dei criteri in entrambi i progetti, potrebbe essere noiosa e soggetta a errori. Se dovessi modificare le autorizzazioni su entrambi, dovresti farlo in due posti anziché in uno solo. Per utilizzare le cartelle, devi avere un nodo organizzazione, che è la risorsa di livello più alto nella gerarchia di Google Cloud. Tutto ciò che è collegato all'account si trova all'interno di questo nodo, che include progetti, cartelle e altre risorse. Esistono ruoli speciali associati a questo nodo organizzazione. Ad esempio, puoi designare un amministratore dei criteri dell'organizzazione, così solo le persone con i privilegi adeguati possono modificare i criteri. Puoi assegnare il ruolo di autore del progetto, un ottimo modo per controllare chi può creare progetti e, di conseguenza, chi può spendere denaro. La creazione di un nuovo nodo organizzazione varia a seconda che la tua azienda sia anche cliente di Google Workspace. Se disponi di un dominio Workspace, i progetti Google Cloud apparterranno in automatico al tuo nodo organizzazione. Altrimenti, puoi utilizzare Cloud Identity, la piattaforma di gestione di identità , accessi, applicazioni ed endpoint di Google, per crearne uno. Una volta creato, un nodo organizzazione consente di creare progetti e account di fatturazione a chiunque nel dominio, proprio come avveniva prima. Potrai inoltre creare cartelle al suo interno e inserirvi progetti. Cartelle e progetti sono figli del nodo organizzazione.