Le cartelleGoogle Cloud ti consentono di raggruppare e organizzare i progetti in una gerarchia di risorse. Puoi utilizzare le cartelle per delegare le attività amministrative, applicare policy dell'organizzazione specifiche per l'ambiente e semplificare la gestione dei costi tra i vari reparti.
In quanto nodi della gerarchia delle risorseGoogle Cloud , le cartelle possono contenere progetti, altre cartelle o una combinazione di entrambi in una risorsa organizzazione. Inoltre, ti consentono di raggruppare le risorse che condividono ruoli Identity and Access Management (IAM), policy di negazione o policy dell'organizzazione comuni. Sebbene una cartella possa contenere più cartelle o risorse secondarie, ogni cartella o risorsa può avere un solo elemento principale.
Esempio di gerarchia di cartelle
Nel diagramma seguente, la risorsa organizzazione "Società" contiene cartelle che rappresentano "Workload standard", "Workload regolamentati" e "Infrastruttura condivisa". In "Workload regolamentati", le cartelle sono organizzate per ambiente in "Ambiente non di produzione" e "Ambiente di produzione". La cartella "ambiente di produzione" è ulteriormente organizzata nelle cartelle "Customer-Facing (Restricted)" e "Internal-Only (Standard)" per applicare controlli degli accessi incentrati sulle policy. I progetti come "Progetto di test", "Progetto di sviluppo" e "Progetto di produzione" contengono le risorse necessarie per il progetto. In questo modo, hai un'elevata flessibilità nell'assegnazione di policy di autorizzazione, negazione o policy dell'organizzazione al giusto livello di granularità.
Puoi utilizzare le policy di autorizzazione e di negazione a livello di cartella per controllare l'accesso alle risorse contenute nella cartella. Ad esempio, se a un utente viene concesso il ruolo Compute Instance Admin su una cartella, l'utente ha il ruolo Compute Instance Admin per tutti i progetti nella cartella.
Prima di iniziare
La funzionalità delle cartelle è disponibile solo per i clienti Google Workspace e Cloud Identity che dispongono di una risorsa Organizzazione. Per saperne di più sull'acquisizione di una risorsa organizzazione, consulta Ottieni una risorsa organizzazione.
Se stai valutando il modo migliore per utilizzare le cartelle, ti consigliamo di:
- Consulta Controllo degli accessi per le cartelle utilizzando IAM. L'argomento descrive come controllare chi ha accesso alle cartelle e alle risorse che contengono.
- Scopri come impostare le autorizzazioni per le cartelle. Le cartelle supportano diversi ruoli IAM. Se vuoi configurare le autorizzazioni in modo generale in modo che gli utenti possano visualizzare la struttura dei loro progetti, concedi all'intero dominio i ruoli Organization Viewer e Folder Viewer a livello di risorsa dell'organizzazione. Per limitare la visibilità ai rami della gerarchia delle cartelle, concedi il ruolo Visualizzatore cartelle alla cartella o alle cartelle che vuoi che gli utenti vedano.
- Creazione di cartelle. Quando pianifichi l'organizzazione delle tue risorse cloud, ti consigliamo di iniziare con una singola cartella come sandbox in cui sperimentare quale gerarchia ha più senso per la tua risorsa organizzazione. Pensa alle cartelle come a confini di isolamento tra le risorse e punti di collegamento per le policy di accesso e configurazione. Puoi scegliere di creare cartelle per contenere risorse appartenenti a reparti diversi e assegnare ruoli amministratore alle cartelle per delegare i privilegi di amministratore. Le cartelle possono essere utilizzate anche per raggruppare le risorse che appartengono ad applicazioni o ambienti diversi, come sviluppo, produzione e test. Utilizza le cartelle nidificate per modellare questi diversi scenari.
Una situazione comune è la creazione di cartelle che a loro volta contengono altre cartelle o progetti, come mostrato in precedenza nella gerarchia delle risorse. Questa struttura è denominata gerarchia di cartelle. Quando crei una gerarchia di cartelle, tieni presente quanto segue:
- Puoi nidificare le cartelle fino a 10 (dieci) livelli.
- Una cartella principale non può contenere più di 300 cartelle. Questo si riferisce solo alle cartelle secondarie dirette. Queste cartelle secondarie possono, a loro volta, contenere altre cartelle o progetti.
- I nomi visualizzati delle cartelle devono essere univoci all'interno dello stesso livello della gerarchia.
Configura le autorizzazioni per gestire le cartelle
Per accedere alle cartelle e gestirle, assegna ruoli IAM specifici per le cartelle a gruppi di utenti specifici. Per saperne di più su questi ruoli, consulta Controllo dell'accesso per le cartelle con IAM. Ti consigliamo inoltre di consultare le nostre best practice per identificare la configurazione ottimale per le autorizzazioni delle cartelle.
Per gestire le cartelle per l'intera risorsa dell'organizzazione, devi disporre del ruolo Folder Admin. Questo ruolo concede all'utente l'autorizzazione per creare, modificare, eliminare, spostare e modificare le autorizzazioni IAM sulle cartelle, nonché l'autorizzazione per spostare i progetti tra le cartelle.
Inizialmente, solo l'amministratore dell'organizzazione può assegnare il ruolo Amministratore cartelle per la risorsa organizzazione. Gli account successivi a cui viene assegnato questo ruolo possono concederlo ad altri account.
Per configurare le autorizzazioni per le cartelle:
Console
- Nella console Google Cloud , apri la pagina Gestisci risorse.
- Se il riquadro informazioni non è aperto, fai clic su Mostra riquadro informazioni.
- Nella tabella Risorse, espandi l'organizzazione che contiene la cartella.
- Nell'elenco delle risorse dell'organizzazione, seleziona la cartella che vuoi gestire.
- Nel riquadro informazioni, fai clic su Aggiungi entità.
- Nel campo Aggiungi entità, inserisci l'indirizzo email a cui vuoi concedere le autorizzazioni.
- Nel menu Seleziona un ruolo, seleziona la categoria Resource Manager, quindi seleziona il ruolo che vuoi concedere, ad esempio Folder Admin.
- Fai clic su Salva per concedere il nuovo ruolo.
gcloud
Per concedere il ruolo Amministratore cartelle a un'entità utilizzando Google Cloud CLI, esegui questo comando:
gcloud organizations add-iam-policy-binding ORGANIZATION_ID \
--member=user:USER_ID \
--role=roles/resourcemanager.folderAdmin
REST
Il file JSON della richiesta:
request_json= '{ policy: { version: "1", bindings: [ { role: "roles/folderAdmin",
members: [ "user:admin@myorganization.com", ] }, { role: "roles/folderCreator",
members: [ "user:admin@myorganization.com", ] } , { role: "roles/folderMover",
members: [ "user:admin@myorganization.com", ] } , ] } }'
La richiesta curl:
curl -X POST -H "Content-Type: application/json" \
-H "Authorization: Bearer ${bearer_token}" \
-d "$request_json" \
https://cloudresourcemanager.googleapis.com/v3/ORGANIZATION_NAME:setIamPolicy
Sostituisci ORGANIZATION_NAME con il nome dell'organizzazione per cui viene impostata la policy di autorizzazione, ad esempio organizations/123.
crea le cartelle
Per creare cartelle, devi disporre del ruolo Folder Admin o Folder Creator a livello principale. Ad esempio, per creare cartelle a livello di organizzazione, devi disporre di uno di questi ruoli a livello di organizzazione.
Quando crei una cartella, devi assegnarle un nome. I nomi delle cartelle devono soddisfare i seguenti requisiti:
- Il nome può contenere lettere, numeri, spazi, trattini e trattini bassi.
- Il nome visualizzato della cartella deve iniziare e terminare con una lettera o un numero.
- Il nome deve essere compreso tra 3 e 30 caratteri
- Il nome deve essere diverso da quello di tutte le altre cartelle che condividono lo stesso elemento padre.
Per creare una cartella:
Console
Per creare cartelle:
Vai alla pagina Gestisci risorse nella console Google Cloud :
Fai clic su Crea cartella e seleziona una delle seguenti opzioni:
- Cartella Google Cloud standard: una risorsa cartella standard.
- Cartella conforme: una cartella Assured Workloads, che fornisce controlli normativi, regionali o di sovranità aggiuntivi per le risorse Google Cloud . Se selezioni questa opzione, verrai indirizzato ad Assured Workloads per creare una cartella.
Nella casella Nome cartella, inserisci il nome della nuova cartella.
In Risorsa padre, fai clic su Sfoglia, quindi seleziona la risorsa o la cartella dell'organizzazione in cui vuoi creare la nuova cartella.
- Fai clic su Crea.
gcloud
Le cartelle possono essere create in modo programmatico utilizzando Google Cloud CLI.
Per creare una cartella nella risorsa dell'organizzazione utilizzando lo strumento a riga di comando gcloud, esegui questo comando.
gcloud resource-manager folders create \
--display-name=DISPLAY_NAME \
--organization=ORGANIZATION_ID
Per creare una cartella la cui cartella principale è un'altra cartella:
gcloud resource-manager folders create \
--display-name=DISPLAY_NAME \
--folder=FOLDER_ID
Sostituisci quanto segue:
- DISPLAY_NAME: il nome visualizzato della cartella. Due cartelle con lo stesso elemento principale non possono condividere un nome visualizzato. Il nome visualizzato deve iniziare e terminare con una lettera o una cifra, può contenere lettere, cifre, spazi, trattini e trattini bassi e non può superare i 30 caratteri.
- ORGANIZATION_ID: l'ID della risorsa organizzazione padre se il padre è una risorsa organizzazione.
- FOLDER_ID: l'ID della cartella principale, se l'elemento principale è una cartella.
API
Le cartelle possono essere create con una richiesta API.
Il file JSON della richiesta:
request_json= '{
display_name: DISPLAY_NAME,
parent: ORGANIZATION_NAME
}'
La richiesta curl Create Folder:
curl -X POST -H "Content-Type: application/json" \
-H "Authorization: Bearer ${bearer_token}" \
-d "$request_json" \
https://cloudresourcemanager.googleapis.com/v3/folders
Dove:
- DISPLAY_NAME: il nome visualizzato della nuova cartella, ad esempio "My Awesome Folder".
- ORGANIZATION_NAME: il nome della risorsa organizzazione in cui stai creando la cartella, ad esempio
organizations/123.
La risposta di Create Folder:
Se una chiamata registra correttamente un'operazione, il corpo della risposta contiene un'istanza di Operation.
{
"name": "operations/fc.123456789",
"metadata": {
"@type": "type.googleapis.com/google.cloud.resourcemanager.v3.FolderOperation",
"displayName": "DISPLAY_NAME",
"operationType": "CREATE"
}
}
La richiesta curl Get Operation:
curl -H "Authorization: Bearer ${bearer_token}" \
https://cloudresourcemanager.googleapis.com/v3/operations/fc.123456789
La risposta Get Operation:
{
"name": "operations/fc.123456789",
"metadata": {
"@type": "type.googleapis.com/google.cloud.resourcemanager.v3.FolderOperation",
"displayName": "DISPLAY_NAME",
"operationType": "CREATE"
},
"done": true,
"response": {
"@type": "type.googleapis.com/google.cloud.resourcemanager.v3.Folder",
"name": "folders/12345",
"parent": "organizations/123",
"displayName": "DISPLAY_NAME",
"lifecycleState": "ACTIVE",
"createTime": "2017-07-19T23:29:26.018Z",
"updateTime": "2017-07-19T23:29:26.046Z"
}
}
Aggiungi tag durante la creazione delle cartelle
I tag forniscono un modo per creare annotazioni per le risorse. Puoi aggiungere tag al momento della creazione delle cartelle. Per farlo, devi concedere il ruolo Tag User. Per saperne di più sulle autorizzazioni contenute in questo ruolo, consulta Crea e gestisci i tag. Puoi aggiungere lo spazio dei nomi per le coppie chiave-valore dei tag solo in uno dei seguenti modi:
gcloud
Per aggiungere tag durante la creazione della cartella, esegui questo comando:
gcloud resource-manager folders create \
--display-name=DISPLAY_NAME \
--organization=ORGANIZATION_ID\
--tags=KEY_VALUE_PAIRS
Sostituisci quanto segue:
DISPLAY_NAME: il nome visualizzato della cartella.ORGANIZATION_ID: l'identificatore univoco della risorsa organizzazione principale.KEY_VALUE_PAIRS: un elenco separato da virgole di coppie chiave-valore che puoi assegnare alla tua risorsa. Un esempio di coppie chiave-valore separate da virgole è123/environment=production, 456/create=testresource.
REST
Lo snippet seguente è una richiesta JSON che crea una cartella e vi aggiunge tag.
POST https://cloudresourcemanager.googleapis.com/v3/folders/
Authorization: *************
Content-Type: application/json
{
"display_name": "our-folder-456",
"parent": "organizations/123",
"tags": {
"123/environment": "production",
"123/costCenter": "marketing"
}
}
Recupera l'ID cartella
Puoi recuperare l'ID di una cartella utilizzando la console Google Cloud o Google Cloud CLI.
Console
- Nella console Google Cloud , apri la pagina Gestisci risorse.
- Individua la cartella nell'elenco delle risorse. L'ID cartella viene visualizzato nella colonna ID accanto al nome visualizzato della cartella.
gcloud
Per individuare l'ID cartella, esegui questo comando:
gcloud resource-manager folders list --organization=ORGANIZATION_ID
Ritardo di propagazione
Quando crei una nuova cartella, potrebbe essere necessario un po' di tempo prima che venga propagata nei nostri sistemi globali e diventi visibile nella console Google Cloud .
Questo ritardo di propagazione si risolve in genere entro pochi minuti, ma in rari casi può richiedere più tempo. Puoi verificare immediatamente la creazione della cartella utilizzando lo strumento a riga di comando gcloud o l'API.
Elimina cartelle
Per eliminare una cartella, devi disporre del ruolo Amministratore cartelle (roles/resourcemanager.folderAdmin) o Editor cartelle (roles/resourcemanager.folderEditor). La cartella deve essere vuota prima di poter essere eliminata. Per istruzioni dettagliate, consulta
Elimina cartelle.
Configura l'accesso alle cartelle
Per configurare l'accesso alle cartelle, devi disporre del ruolo Amministratore IAM cartelle o Folder Admin a livello principale.
Console
Nella console Google Cloud , apri la pagina Gestisci risorse.
Fai clic sull'elenco a discesa Organizzazione in alto a sinistra e seleziona la risorsa Organizzazione.
Seleziona la casella di controllo accanto al progetto per cui vuoi modificare le autorizzazioni.
Nel riquadro Informazioni a destra, nella sezione Autorizzazioni, inserisci gli indirizzi email dei membri che vuoi aggiungere.
Nell'elenco a discesa Seleziona un ruolo, seleziona il ruolo che vuoi concedere ai membri.
Fai clic su Aggiungi. Viene visualizzata una notifica per confermare l'aggiunta o l'aggiornamento del nuovo ruolo dei membri.
gcloud
Puoi configurare l'accesso alle cartelle in modo programmatico utilizzando Google Cloud CLI o l'API REST.
gcloud resource-manager folders \
add-iam-policy-binding FOLDER_ID \
--member=user:email1@example.com \
--role=roles/resourcemanager.folderEditor
gcloud resource-manager folders \
add-iam-policy-binding FOLDER_ID \
--member=user:email1@example.com \
--role=roles/resourcemanager.folderViewer
In alternativa:
gcloud resource-manager folders \
set-iam-policy FOLDER_ID POLICY_FILE
Sostituisci quanto segue:
- FOLDER_ID: l'ID della nuova cartella
- POLICY_FILE: il percorso di un file delle policy per la cartella
API
Il metodo setIamPolicy imposta la policy di controllo dell'accesso su una cartella, sostituendo qualsiasi policy esistente. Il campo resource deve essere il nome della risorsa della cartella, ad esempio folders/1234.
request_json= '{
policy: {
version: "1",
bindings: [
{
role: "roles/resourcemanager.folderEditor",
members: [
"user:email1@example.com",
"user:email2@example.com",
]
}
]
}
}'
La richiesta curl:
curl -X POST -H "Content-Type: application/json" \
-H "Authorization: Bearer ${bearer_token}" \
-d "$request_json" \
https://cloudresourcemanager.googleapis.com/v3/FOLDER_ID:setIamPolicy
Sostituisci FOLDER_ID con il nome della cartella per cui viene impostata la policy IAM, ad esempio folders/123.
Gestisci le operazioni a lunga esecuzione
Alcune operazioni sulle cartelle, come la creazione o la migrazione, vengono elaborate in modo asincrono da Google Cloud perché richiedono la propagazione globale. Per evitare di bloccare il terminale o gli script di automazione, puoi utilizzare il flag --async.
Quando viene utilizzato questo flag, il comando restituisce immediatamente un oggetto operazione a lunga esecuzione (LRO). Puoi quindi utilizzare operation_id per eseguire il polling del completamento quando preferisci. Il flag --async è supportato solo per i comandi folders create e folders move.
Per utilizzare il flag, segui questi passaggi:
Avvia un'attività asincrona. Fai riferimento al seguente comando di esempio:
gcloud resource-manager folders create \ --display-name="Test Async Folder" \ --organization=2518 \ --asyncL'output fornisce un nome dell'operazione (ad es. fc.8572) e mostra
done: false.Esempio di risposta:
name: operations/fc.8572 metadata: operation_type: CREATE display_name: Awe-Inspiring Async Folder destination_parent: organizations/2518 done: falseControlla lo stato dell'operazione. Per verificare se l'attività è terminata, utilizza il comando
operations describecon l'ID fornito nel passaggio precedente.gcloud beta resource-manager operations describe fc.8572Quando
doneè true, il blocco della risposta conterrà i dettagli completi della risorsa appena creata.name: operations/fc.8572 done: true response: name: folders/6428 display_name: Awe-Inspiring Async Folder lifecycle_state: ACTIVE create_time: '2024-03-20T10:00:00Z'
Passaggi successivi
- Scopri di più sulla visualizzazione e sull'aggiornamento delle cartelle.
- Scopri di più sulla gestione dei progetti all'interno delle cartelle.
- Scopri di più su ruoli e autorizzazioni per le cartelle.
- Scopri come elencare tutte le cartelle e i progetti nella gerarchia delle risorse.