Questa pagina descrive come creare Google Cloud cartelle per 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 nei reparti.
Le cartelle sono nodi nella gerarchia delle risorse di Cloud Platform. Una cartella può contenere progetti, altre cartelle o una combinazione di entrambi. Le risorse dell'organizzazione possono utilizzare le cartelle per raggruppare i progetti sotto il nodo della risorsa dell'organizzazione in una gerarchia. Ad esempio, la risorsa dell'organizzazione potrebbe contenere più reparti, ognuno con il proprio set di Google Cloud risorse. Le cartelle ti consentono di raggruppare queste risorse in base al reparto. Le cartelle vengono utilizzate per raggruppare le risorse che condividono policy di autorizzazione o negazione comuni. Anche se una cartella può contenere più cartelle o risorse, una determinata cartella o risorsa può avere esattamente un elemento principale.
Nel diagramma seguente, la risorsa dell'organizzazione "Company" ha cartelle che rappresentano due reparti, "Dept X" e "Dept Y", e una cartella, "Shared Infrastructure", per gli elementi che potrebbero essere comuni a entrambi i reparti. In "Dept Y", sono stati organizzati in due team e, all'interno delle cartelle del team, sono ulteriormente organizzati per prodotti. La cartella "Product 1" contiene inoltre tre progetti, ognuno con le risorse necessarie per il progetto. In questo modo, hanno un elevato grado di flessibilità nell'assegnare policy di autorizzazione, negazione o policy dell'organizzazione al livello di granularità appropriato.
Puoi utilizzare le policy di autorizzazione e negazione a livello di cartella per controllare l'accesso alle risorse contenute nella cartella. Ad esempio, se a un utente viene concesso il ruolo Amministratore istanze Compute in una cartella, l'utente ha il ruolo Amministratore istanze Compute per tutti i progetti nella cartella.
Prima di iniziare
La funzionalità delle cartelle è disponibile solo per i clienti di Google Workspace e Cloud Identity che dispongono di una risorsa dell'organizzazione. Per saperne di più sull' acquisizione di una risorsa dell'organizzazione, consulta Acquisire una risorsa dell'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 a cartelle e risorse e a cosa.
- Scopri come impostare le autorizzazioni per le cartelle. Le cartelle supportano una serie di ruoli Identity and Access Management (IAM) diversi. Se vuoi configurare le autorizzazioni in modo che gli utenti possano vedere la struttura dei loro progetti, concedi i ruoli Visualizzatore organizzazione e Visualizzatore cartelle all'intero dominio 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.
- Crea le cartelle. Quando pianifichi come organizzare le risorse cloud, ti consigliamo di iniziare con una singola cartella come sandbox in cui puoi sperimentare la gerarchia più adatta alla risorsa dell'organizzazione. Pensa alle cartelle in termini di limiti di isolamento tra le risorse e punti di collegamento per le policy di accesso e configurazione. Puoi scegliere di creare cartelle per contenere le risorse appartenenti a reparti diversi e assegnare ruoli di amministratore alle cartelle per delegare il privilegio di amministratore. Le cartelle possono essere utilizzate anche per raggruppare le risorse appartenenti ad applicazioni o ambienti diversi, ad esempio sviluppo, produzione, test. Utilizza le cartelle nidificate per modellare questi scenari diversi.
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 è detta gerarchia delle cartelle. Quando crei una gerarchia di cartelle, tieni presente quanto segue:
- Puoi nidificare le cartelle fino a 10 (dieci) livelli di profondità.
- Una cartella principale non può contenere più di 300 cartelle. Si riferisce solo alle cartelle figlio dirette. Queste cartelle figlio possono, a loro volta, contenere altre cartelle o progetti.
- I nomi visualizzati delle cartelle devono essere univoci all'interno dello stesso livello della gerarchia.
Configurare le autorizzazioni per gestire le cartelle
Per accedere alle cartelle e gestirle, assegna ruoli IAM specifici per le cartelle a gruppi specifici di utenti. Per saperne di più su questi ruoli, consulta Controllo degli accessi per le cartelle utilizzando IAM. Ti consigliamo inoltre di consultare le nostre best practice per aiutarti a identificare la configurazione ottimale per le autorizzazioni delle cartelle.
Per gestire le cartelle per l'intera risorsa dell'organizzazione, devi disporre del ruolo Amministratore cartelle. Questo ruolo concede all'utente l'autorizzazione a creare, modificare, eliminare, spostare e modificare le autorizzazioni IAM per le cartelle, nonché l'autorizzazione a spostare i progetti tra le cartelle.
Inizialmente, solo l'amministratore dell'organizzazione può assegnare il ruolo Amministratore cartelle per la risorsa dell'organizzazione. Gli account successivi a cui viene assegnato questo ruolo possono concederlo ad altri account.
Per configurare le autorizzazioni per le cartelle:
Console
- Nella Google Cloud console, 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 Amministratore cartelle.
- Fai clic su Salva per concedere il nuovo ruolo.
gcloud
Per concedere il ruolo Amministratore cartelle a un'entità utilizzando Google Cloud CLI, esegui il comando seguente:
gcloud organizations add-iam-policy-binding ORGANIZATION_ID \
--member=user:USER_ID \
--role=roles/resourcemanager.folderAdmin
REST
Il 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 di cui stai impostando la policy di autorizzazione, ad esempio organizations/123.
Creare cartelle
Per creare le cartelle, devi disporre del ruolo Folder Admin o Creatore cartelle 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, cifre, spazi, trattini e trattini bassi.
- Il nome visualizzato della cartella deve iniziare e terminare con una lettera o una cifra.
- Il nome deve essere compreso tra 3 e 30 caratteri.
- Il nome deve essere diverso da tutte le altre cartelle che condividono la stessa cartella principale.
Per creare una cartella:
Console
Le cartelle possono essere create nell'interfaccia utente utilizzando la sezione "Gestisci progetti e cartelle".
Vai alla pagina Gestisci risorse nella Google Cloud console:
Assicurati che il nome della risorsa dell'organizzazione sia selezionato nell'elenco a discesa dell'organizzazione nella parte superiore della pagina.
Fai clic su Crea cartella e seleziona una delle seguenti opzioni:
- Cartella standard: una risorsa cartella standard.
- Cartella conforme: una cartella Assured Workloads, che fornisce controlli normativi, regionali o di sovranità aggiuntivi per le Google Cloud risorse. Se selezioni questa opzione, verrai reindirizzato ad Assured Workloads per creare una cartella.
Nella casella Nome cartella, inserisci il nome della nuova cartella.
In Destinazione, fai clic su Sfoglia, quindi seleziona la risorsa dell'organizzazione o la cartella in cui vuoi creare la nuova cartella.
- Fai clic su Crea.
gcloud
Le cartelle possono essere create a livello di programmazione utilizzando Google Cloud CLI.
Per creare una cartella nella risorsa dell'organizzazione utilizzando lo strumento a riga di comando gcloud, esegui il comando seguente.
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 la stessa cartella 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 dell'organizzazione principale se la cartella principale è una risorsa dell'organizzazione.
- FOLDER_ID: l'ID della cartella principale, se la cartella principale è una cartella.
API
Le cartelle possono essere create con una richiesta API.
Il JSON della richiesta:
request_json= '{
display_name: DISPLAY_NAME,
parent: ORGANIZATION_NAME
}'
La richiesta curl Crea cartella:
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 "La mia cartella fantastica".
- ORGANIZATION_NAME: il nome della risorsa dell'organizzazione in cui
stai creando la cartella, ad esempio
organizations/123.
La risposta Crea cartella:
{
"name": "operations/fc.123456789",
"metadata": {
"@type": "type.googleapis.com/google.cloud.resourcemanager.v3.FolderOperation",
"displayName": "DISPLAY_NAME",
"operationType": "CREATE"
}
}
La richiesta curl Recupera operazione:
curl -H "Authorization: Bearer ${bearer_token}" \
https://cloudresourcemanager.googleapis.com/v3/operations/fc.123456789
La risposta Recupera operazione:
{
"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"
}
}
Aggiungere tag durante la creazione della cartella
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 Creare e gestire i tag. Puoi aggiungere lo spazio dei nomi per le coppie chiave-valore dei tag in uno dei seguenti modi:
gcloud
Per aggiungere tag durante la creazione della cartella, esegui il comando seguente:
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 dell'organizzazione principale.KEY_VALUE_PAIRS: un elenco separato da virgole di coppie chiave-valore che puoi assegnare alla risorsa. Un esempio di coppie chiave-valore separate da virgole è123/environment=production, 456/create=testresource.
REST
Il seguente snippet è una richiesta JSON che crea una cartella e vi aggiunge i tag.
POST https://cloudresourcemanager.googleapis.com/v3/projects/
Authorization: *************
Content-Type: application/json
{
"display_name": "our-folder-456",
"parent": "organizations/123",
"tags": {
"key": "123/environment"
"value": "production"
},
"tags": {
"key": "123/costCenter"
"value": "marketing"
}
}
Configurare 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 Google Cloud console, apri la pagina Gestisci risorse.
Fai clic sull'elenco a discesa Organizzazione in alto a sinistra e seleziona la risorsa dell'organizzazione.
Seleziona la casella di controllo accanto al progetto per cui vuoi modificare le autorizzazioni.
Nel riquadro informazioni a destra, in Autorizzazioni, inserisci gli indirizzi email dei membri che vuoi aggiungere.
Nell'elenco a discesa Seleziona un ruolo, seleziona il ruolo che vuoi concedere a questi 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 a livello di programmazione 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 di 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 di cui stai impostando la policy IAM, ad esempio folders/123.
Gestire le operazioni a lunga esecuzione
Alcune operazioni sulle cartelle, come la creazione o la migrazione, vengono elaborate in modo asincrono
perché Google Cloud 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 per il completamento a tuo piacimento. Il flag --async è supportato solo per i comandi folders create e folders move.
Per utilizzare il flag:
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 di 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à è stata completata, utilizza il comando
operations describecon l'ID fornito nel passaggio precedente.gcloud beta resource-manager operations describe fc.8572Una volta che
doneè true, il blocco di 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 come visualizzare e aggiornare le cartelle.
- Scopri come gestire i progetti all'interno delle cartelle.
- Scopri i ruoli e le autorizzazioni per le cartelle.
- Scopri come elencare tutte le cartelle e i progetti nella gerarchia delle risorse.