Creazione e gestione delle cartelle

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 all'interno del nodo delle risorse dell'organizzazione in una gerarchia. Ad esempio, una risorsa organizzazione potrebbe contenere più reparti, ognuno con il proprio gruppo di risorse Google Cloud. Le cartelle ti consentono di raggruppare queste risorse in base al reparto. Le cartelle vengono utilizzate per raggruppare le risorse che condividono criteri IAM comuni. Mentre una cartella può contenere più cartelle o risorse, una determinata cartella o risorsa può avere esattamente un elemento padre.

Nel diagramma seguente, la risorsa dell'organizzazione "Azienda" ha cartelle che rappresentano due reparti, "Dept X" e "Dept Y", e una cartella, "Infrastruttura condivisa", per gli elementi comuni a entrambi i reparti. Nella sezione "Dept Y" sono stati suddivisi in due team e, all'interno delle cartelle dei team, sono organizzati ulteriormente in base ai prodotti. La cartella per "Prodotto 1" contiene inoltre tre progetti, ciascuno con le risorse necessarie per il progetto. Questo offre un elevato grado di flessibilità nell'assegnazione dei criteri IAM e dei criteri dell'organizzazione al giusto livello di granularità.

Esempio di gerarchia delle cartelle

Puoi utilizzare i criteri IAM 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 per una cartella, questo utente avrà il ruolo Amministratore istanze Compute 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 dell'organizzazione, consulta Creazione e gestione delle organizzazioni.

Se stai cercando di utilizzare al meglio le cartelle, ti consigliamo di:

  1. Esamina Controllo dell'accesso alle cartelle mediante IAM. L'argomento descrive come puoi controllare chi può accedere alle cartelle e alle risorse che contengono.
  2. Scopri come impostare le autorizzazioni per le cartelle. Le cartelle supportano una serie di ruoli IAM diversi. Se vuoi impostare autorizzazioni ampie in modo che gli utenti possano vedere la struttura dei loro progetti, concedi all'intero dominio i ruoli Visualizzatore organizzazione e Visualizzatore cartelle a livello di risorsa dell'organizzazione. Per limitare la visibilità a rami della gerarchia delle cartelle, concedi il ruolo Visualizzatore cartelle alle cartelle che vuoi che gli utenti vedano.
  3. Creazione di cartelle. Quando pianifichi l'organizzazione delle risorse Cloud, ti consigliamo di iniziare con una singola cartella come sandbox in cui puoi sperimentare la gerarchia più adatta alla risorsa dell'organizzazione. Le cartelle possono essere paragonate a limiti di isolamento tra le risorse e i punti di collegamento per i criteri di accesso e configurazione. Puoi scegliere di creare cartelle che contengono risorse che appartengono a diversi reparti e assegnare ruoli di amministratore sulle 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 creare modelli di questi diversi scenari.

Una situazione comune è creare cartelle che a loro volta contengono cartelle o progetti aggiuntivi, come mostrato nell'immagine sopra. Questa struttura è nota come gerarchia di cartelle. Quando crei una gerarchia di cartelle, tieni presente quanto segue:

  • Puoi nidificare le cartelle con massimo 10 (dieci) livelli di profondità.
  • Una cartella principale non può contenere più di 300 cartelle. Si riferisce solo alle cartelle secondarie dirette. Queste cartelle secondarie possono, a loro volta, contenere cartelle o progetti aggiuntivi.
  • I nomi visualizzati delle cartelle devono essere univoci all'interno dello stesso livello della gerarchia.

Impostazione delle autorizzazioni per la gestione delle cartelle

Per accedere alle cartelle e gestirle, devi assegnare ruoli IAM specifici della cartella a gruppi di utenti specifici. Per saperne di più su questi ruoli, consulta Controllo dell'accesso per le cartelle utilizzando IAM. Ti consigliamo inoltre di consultare le nostre best practice per identificare la configurazione ottimale per le autorizzazioni delle 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 impostare le autorizzazioni per le cartelle:

console

  1. Nella console Google Cloud, apri la pagina Gestisci risorse.

    Apri la pagina Gestisci risorse

  2. Fai clic sull'elenco a discesa Organizzazione in alto a sinistra e seleziona la tua organizzazione dall'elenco delle risorse.

  3. Nel campo Aggiungi membri, inserisci il tuo indirizzo email.

  4. Nella casella a discesa Seleziona un ruolo, vai alla categoria Resource Manager e seleziona il ruolo Amministratore cartelle.

  5. Fai clic su Aggiungi per concedere il nuovo ruolo.

gcloud

Le cartelle possono essere create in modo programmatico utilizzando Google Cloud CLI. Per farlo, esegui questo comando:

    gcloud organizations add-iam-policy-binding ORGANIZATION_ID \
    --member=user:USER_ID \
    --role=roles/resourcemanager.folderAdmin

API

Il codice 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 è stato impostato il criterio IAM, ad esempio organizations/123.

Creazione di cartelle

Per creare cartelle, devi disporre del ruolo Amministratore cartelle o Creatore cartella a livello padre. Ad esempio, per creare cartelle a livello di organizzazione, devi avere uno di questi ruoli a livello di organizzazione.

Durante la creazione di 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 una cifra.
  • Il nome deve essere compreso tra 3 e 30 caratteri.
  • Il nome deve essere diverso da tutte le altre cartelle che condividono l'elemento padre.

Per creare una cartella:

Console

Puoi creare le cartelle nell'interfaccia utente utilizzando la sezione "Gestisci progetti e cartelle".

  1. Vai alla pagina Gestisci risorse nella console Google Cloud:

    Apri la pagina Gestisci risorse

  2. Assicurati che il nome della risorsa dell'organizzazione sia selezionato nell'elenco a discesa dell'organizzazione nella parte superiore della pagina.

  3. Fai clic su Crea cartella e seleziona una delle seguenti opzioni:

    • Cartella standard: una risorsa cartella standard.
    • Cartella Assured Workloads: una cartella Assured Workloads, che fornisce ulteriori controlli normativi, a livello di regione o di sovranità per le risorse Google Cloud. Se selezioni questa opzione, visualizzerai Assured Workloads per creare una cartella.
  4. Nella casella Nome cartella, inserisci il nome della nuova cartella.

  5. In Destinazione, fai clic su Sfoglia, quindi seleziona la risorsa o la cartella dell'organizzazione in cui vuoi creare la nuova cartella.

    1. 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 corrisponde a un'altra:

gcloud resource-manager folders create \
   --display-name=[DISPLAY_NAME] \
   --folder=[FOLDER_ID]

Dove:

  • [DISPLAY_NAME] è il nome visualizzato della cartella. Due cartelle con lo stesso nome principale non possono condividere lo stesso nome visualizzato. Il nome visualizzato deve iniziare e terminare con una lettera o una cifra, può contenere lettere, numeri, spazi, trattini e trattini bassi e non può superare i 30 caratteri.
  • [ORGANIZATION_ID]è l'ID della risorsa dell'organizzazione padre se la risorsa padre è una risorsa dell'organizzazione.
  • [FOLDER_ID] è l'ID della cartella principale, se quella principale è una cartella.

API

Le cartelle possono essere create con una richiesta API.

Il codice JSON della richiesta:

request_json= '{
  display_name: DISPLAY_NAME,
  parent: ORGANIZATION_NAME
}'

La richiesta curl per la creazione di una 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 perfetta".
  • [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"
  }
}

Richiesta curl dell'operazione Get:

curl -H "Authorization: Bearer ${bearer_token}" \
https://cloudresourcemanager.googleapis.com/v3/operations/fc.123456789

La risposta Ottieni 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 delle cartelle

I tag forniscono un modo per creare annotazioni per le risorse. Puoi aggiungere i tag al momento della creazione delle cartelle. A tale scopo, devi concedere il ruolo Utente tag. Per maggiori informazioni sulle autorizzazioni contenute in questo ruolo, vedi Gestire i tag nelle risorse. 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 delle cartelle, 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 dell'organizzazione padre.
  • 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.

API

Lo snippet seguente è una richiesta JSON che crea una cartella a cui aggiunge 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"
    }
  }

Configurazione dell'accesso alle cartelle

Per configurare l'accesso alle cartelle, devi disporre del ruolo Amministratore IAM cartella o Amministratore cartelle a livello padre.

Console

  1. Nella console Google Cloud, apri la pagina Gestisci risorse.

    Apri la pagina Gestisci risorse

  2. Fai clic sull'elenco a discesa Organizzazione in alto a sinistra e seleziona la risorsa Organizzazione.

  3. Seleziona la casella di controllo accanto al progetto per il quale vuoi modificare le autorizzazioni.

    1. Nel riquadro Informazioni a destra, in Autorizzazioni, inserisci gli indirizzi email dei membri che vuoi aggiungere.

    2. Nell'elenco a discesa Seleziona un ruolo, scegli il ruolo che vuoi concedere ai membri.

    3. Fai clic su Aggiungi. Viene visualizzata una notifica che conferma 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.

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]

Dove:

  • [FOLDER_ID] è l'ID della nuova cartella.
  • [POLICY_FILE] è il percorso di un file di criteri per la cartella.

API

Il metodo setIamPolicy imposta il criterio di controllo dell'accesso su una cartella, sostituendo qualsiasi criterio 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_NAME]:setIamPolicy

Dove:

  • [FOLDER_NAME] è il nome della cartella per cui è stato impostato il criterio IAM, ad esempio cartelle/123.

Creazione di un progetto in una cartella

Per creare un progetto in una cartella, devi avere il ruolo Autore progetto (roles/resourcemanager.projectCreator) nella cartella. Questo ruolo può essere ereditato da una cartella padre.

console

  1. Nella console Google Cloud, apri la pagina Gestisci risorse.

    Apri la console Google Cloud

  2. Vai alla pagina Gestisci risorse.
  3. Seleziona la risorsa dell'organizzazione dal menu a discesa Organizzazione in alto a sinistra nella pagina.
  4. Fai clic su Crea progetto.
  5. Inserisci un Nome progetto.
  6. Nella casella Destinazione, fai clic su Sfoglia per selezionare la cartella in cui vuoi creare il progetto.

  7. Fai clic su Crea.

gcloud

  gcloud projects create PROJECT_ID --folder FOLDER_ID

Sostituisci quanto segue:

  • PROJECT_ID è l'ID dell'ID progetto da creare.
  • FOLDER_ID è l'ID della cartella in cui deve essere creato il progetto.

API

Il codice JSON della richiesta:

   request_json= '{
      name: DISPLAY_NAME, projectId: PROJECT_ID, parent: {id: PARENT_ID, type: PARENT_TYPE}
   }'

La richiesta curl:

   curl -X POST -H "Content-Type: application/json" \
   -H "Authorization: Bearer ${bearer_token}" \
   -d "$request_json" \
   https://cloudresourcemanager.googleapis.com/v3/projects

Sostituisci quanto segue:

  • PROJECT_ID è l'identificatore univoco del progetto che viene creato. Ad esempio, my-awesome-proj-123.
  • DISPLAY_NAME è il nome visualizzato del progetto che viene creato.
  • PARENT_ID è l'identificatore univoco dell'elemento padre in cui viene creata la creazione. Ad esempio, 123.
  • PARENT_TYPE è il tipo di elemento principale, ad esempio folder o organization.

Non includere informazioni sensibili nel nome della cartella o in altri nomi delle risorse. Qualsiasi riferimento alla cartella o alle risorse correlate espone il nome della cartella e la risorsa.

Spostamento di un progetto in una cartella

Devi valutare attentamente le implicazioni relative ai criteri prima di spostare un progetto all'interno o all'esterno di una cartella. I criteri di Identity and Access Management che definisci a livello di progetto verranno spostati insieme al progetto, ma i criteri ereditati da una risorsa padre non verranno spostati.

Quando sposti un progetto, tutti i criteri di Identity and Access Management o dell'organizzazione direttamente associati verranno spostati insieme. Tuttavia, un progetto nella gerarchia delle risorse è interessato anche dai criteri che eredita dalle risorse padre. Se un progetto eredita un ruolo IAM che fornisce agli utenti l'autorizzazione per utilizzare un determinato servizio, gli utenti non avranno accesso a quel servizio nella destinazione, a meno che non ereditino anche l'autorizzazione nella destinazione.

Ad esempio, supponiamo che un account di servizio abbia il ruolo Creatore oggetti Storage associato a un utente nella Cartella A. L'account di servizio dispone delle autorizzazioni per caricare dati in Cloud Storage in qualsiasi progetto nella Cartella A. Se hai spostato uno di questi progetti nella cartella B, che non ha le stesse autorizzazioni ereditate, l'account di servizio per il progetto perde la possibilità di caricare dati, causando un'interruzione del servizio.

Queste stesse considerazioni si applicano se i criteri dell'organizzazione sono definiti nelle cartelle di origine e di destinazione. Come i criteri IAM, i criteri dell'organizzazione vengono ereditati. Di conseguenza, devi assicurarti che i criteri dell'organizzazione siano coerenti tra le cartelle di origine e di destinazione.

Per saperne di più sui criteri dell'organizzazione, consulta Introduzione al servizio Criteri dell'organizzazione.

Per spostare un progetto, devi disporre del ruolo IAM Autore spostamento progetto (roles/resourcemanager.projectMover) sia nella cartella di origine sia nella cartella di destinazione. Se la risorsa non si trova in una cartella, devi avere questo ruolo nella risorsa organizzazione.

Questi ruoli ti concedono le seguenti autorizzazioni obbligatorie:

  • resourcemanager.projects.update sul progetto
  • Se la risorsa si trova in una cartella: resourcemanager.projects.move nella cartella di origine e nella destinazione
  • Se la risorsa non si trova in una cartella: resourcemanager.projects.move nella risorsa dell'organizzazione

Puoi ottenere queste autorizzazioni anche con i ruoli personalizzati o altri ruoli predefiniti.

Console

Per spostare un progetto:

  1. Nella console Google Cloud, vai alla pagina Gestisci risorse.

    Vai a Gestisci risorse

  2. Seleziona la tua organizzazione dal menu a discesa Organizzazione in alto a sinistra nella pagina.

  3. Fai clic sulla riga del progetto per selezionarlo dall'elenco delle risorse. Tieni presente che non devi fare clic sul nome del progetto per accedere alla relativa pagina IAM.

  4. Fai clic sul menu delle opzioni (i puntini di sospensione verticali) nella riga e fai clic su Sposta.

  5. Fai clic su Sfoglia per selezionare la cartella in cui vuoi spostare il progetto.

  6. Fai clic su Sposta.

gcloud

Per spostare un progetto, esegui il comando gcloud beta projects move:

gcloud beta projects move PROJECT_ID \
--DESTINATION_TYPE DESTINATION_ID

Dove:

  • PROJECT_ID è l'ID o il numero del progetto che vuoi spostare.

  • DESTINATION_TYPE è organization o folder.

  • DESTINATION_ID è l'ID della risorsa o della cartella dell'organizzazione in cui vuoi spostare il progetto. Puoi specificare un solo target.

API

Puoi utilizzare il metodo v3 projects.move per spostare un progetto.

Richiesta:

POST https://cloudresourcemanager.googleapis.com/v3/{name=PROJECT_NAME}:move
{
  "destinationParent": DESTINATION_PARENT
}

Dove:

  • PROJECT_NAME è il nome del progetto da aggiornare. Ad esempio, projects/415104041262

  • DESTINATION_PARENT è la nuova risorsa o cartella dell'organizzazione padre in cui vuoi spostare il progetto. Ad esempio: organizations/12345678901

Se l'esito è positivo, la richiesta restituirà un'operazione che può essere utilizzata per monitorare lo spostamento del progetto.

Spostamento di una cartella in un'altra cartella

Per spostare una cartella in un'altra cartella, devi disporre dell'autorizzazione resourcemanager.folders.move per la cartella di origine e di destinazione.

console

Il processo di spostamento delle cartelle in altre cartelle della console è simile allo spostamento dei progetti.

  1. Nella console Google Cloud, apri la pagina Gestisci risorse.

    Apri la console Google Cloud

  2. Seleziona la risorsa dell'organizzazione dal menu a discesa Organizzazione in alto a sinistra nella pagina.
  3. Fai clic sulla riga della cartella per selezionarla dall'elenco di progetti e cartelle.
  4. Fai clic sul menu delle opzioni (i puntini di sospensione verticali) nella riga e fai clic su Sposta.
  5. Fai clic su Sfoglia per selezionare la cartella in cui vuoi spostare la cartella.
  6. Fai clic su Sposta.

gcloud

Per spostare una cartella nella risorsa Organizzazione, esegui questo comando in Google Cloud CLI:

gcloud resource-manager folders move [FOLDER_ID] \
  --organization=[PARENT_ID]

Per spostare una cartella in un'altra cartella:

gcloud resource-manager folders move [FOLDER_ID] \
  --folder=[PARENT_ID]

Sostituisci quanto segue:

  • [FOLDER_ID] è l'ID della cartella da spostare.
  • [PARENT_ID] è l'ID risorsa organizzazione o l'ID cartella della risorsa o della cartella dell'organizzazione padre.

API

Il codice JSON della richiesta:

request_json= '{
   destinationParent: "folders/[DESTINATION_FOLDER_ID]"
}'

La richiesta di curl dello spostamento della cartella:

curl -X POST -H "Content-Type: application/json" \
-H "Authorization: Bearer ${bearer_token} \
-d "$request_json" \
https://cloudresourcemanager.googleapis.com/v3/folders/[DISPLAY_NAME]:move

Sostituisci quanto segue:

  • [DESTINATION_FOLDER_ID] è l'ID della cartella in cui stai spostando un'altra cartella, ad esempio 98765.
  • [DISPLAY_NAME] è il nome visualizzato della cartella in fase di spostamento, ad esempio "La mia cartella perfetta".

La risposta Sposta cartella:

{
  "name": "operations/fm.1234567890",
  "metadata": {
    "@type": "type.googleapis.com/google.cloud.resourcemanager.v3.FolderOperation",
    "displayName": "[DISPLAY_NAME]",
    "operationType": "MOVE"
  }
}

Richiesta curl dell'operazione Get:

curl -H "Authorization: Bearer ${bearer_token}" \
https://cloudresourcemanager.googleapis.com/v3/operations/fm.1234567890

La risposta Ottieni operazione:

{
  "name": "operations/fm.1234567890",
  "metadata": {
    "@type": "type.googleapis.com/google.cloud.resourcemanager.v3.FolderOperation",
    "displayName": "[DISPLAY_NAME]",
    "operationType": "MOVE"
  },
  "done": true,
  "response": {
    "@type": "type.googleapis.com/google.cloud.resourcemanager.v3.Folder",
    "name": "folders/12345",
    "parent": "folders/98765",
    "displayName": "[DISPLAY_NAME]",
    "lifecycleState": "ACTIVE",
    "createTime": "2017-07-19T23:29:26.018Z",
    "updateTime": "2017-07-20T00:54:44.295Z"
  }
}

Visualizzazione o elenco di cartelle e progetti

Per visualizzare o elencare le cartelle, devi disporre dei ruoli Visualizzatore organizzazione e Visualizzatore cartelle.

Per visualizzare o elencare cartelle e progetti:

console

  1. Nella console Google Cloud, apri la pagina Gestisci risorse.

    Apri la pagina Gestisci risorse

  2. Dal selettore dei progetti nella parte superiore della pagina, seleziona la risorsa della tua organizzazione. Le cartelle devono essere create prima di essere visualizzate in questo elenco.

  3. Seleziona una riga qualsiasi nella struttura ad albero per eseguire operazioni specifiche per cartella o progetto.

  4. Inserisci il nome/l'ID del progetto o della cartella nella ricerca per filtrare l'elenco.

gcloud

Per visualizzare i dettagli di una cartella, usa il comando resource-manager folders describe.

gcloud resource-manager folders describe FOLDER_ID

Sostituisci FOLDER_ID con l'ID della cartella che vuoi visualizzare.

Per elencare le cartelle secondarie di una risorsa dell'organizzazione, utilizza il comando resource-manager folders list.

gcloud resource-manager folders list \
  --organization ORGANIZATION_ID

Sostituisci ORGANIZATION_ID con l'ID della risorsa dell'organizzazione per la quale vuoi visualizzare un elenco di cartelle secondarie.

Per elencare le cartelle secondarie di una risorsa cartella, utilizza il comando resource-manager folders list.

gcloud resource-manager folders list \
  --folder FOLDER_ID

Sostituisci FOLDER_ID con l'ID della risorsa della cartella per cui vuoi visualizzare un elenco di cartelle secondarie.

Per elencare i progetti in un'organizzazione o una cartella, una risorsa o una cartella, utilizza il comando projects list con l'argomento filter.

gcloud projects list \
  --filter=" parent.id: 'RESOURCE_ID' "

Sostituisci RESOURCE_ID con l'ID dell'organizzazione o della risorsa cartella di cui vuoi visualizzare un elenco di progetti figlio.

API

La richiesta curl per ottenere le cartelle:

curl -X GET -H "Content-Type: application/json" \
  -H "Authorization: Bearer ${bearer_token}" \
  https://cloudresourcemanager.googleapis.com/v3/[FOLDER_NAME]

Sostituisci FOLDER_NAME con il nome della cartella, ad esempio folders/123.

La richiesta curl per elencare le cartelle:

curl -X GET -H "Content-Type: application/json" \
  -H "Authorization: Bearer ${bearer_token}" \
  https://cloudresourcemanager.googleapis.com/v3/folders?parent=[PARENT_NAME]

Sostituisci PARENT_NAME con il nome della risorsa padre in cui stai creando la cartella, ad esempio organizations/123 o folders/123.

Utilizzo di Google Cloud CLI

I comandi per interagire con l'API sistemazioni con lo strumento a riga di comando gcloud sono disponibili nel gruppo di comandi gcloud resource-manager folders.

Crea

Per creare una nuova cartella, utilizza gcloud resource-manager folders create con i flag impostando il nome della cartella e l'ID della risorsa o della cartella dell'organizzazione in cui vuoi crearla.

gcloud resource-manager folders create \
  --display-name="Super Fantastic Folder" \
  --organization=2518

Created Folder 245321.

Visualizza

Per visualizzare una cartella, usa gcloud resource-manager folders describe con l'ID della cartella che vuoi visualizzare.

gcloud resource-manager folders describe 245321
name: folders/245321
parent: organizations/2518
display_name: Super Fantastic Folder
lifecycle_state: ACTIVE
create_time: <timestamp info …>
update_time: <timestamp info …>

Elenco

Per elencare le cartelle sotto una cartella, utilizza gcloud resource-manager folders list, trasmettendo l'ID cartella nel flag --folder. In questo modo puoi anche elencare le cartelle di primo livello in una risorsa dell'organizzazione, utilizzando il flag --organization.

gcloud resource-manager folders list --folder 245321
<table output showing the folders underneath the folder with the specified ID>

gcloud resource-manager folders list --organization 2518
<table output showing folders in this Organization but not in any folder>

Per includere nell'elenco le cartelle per le quali è richiesta l'eliminazione, aggiungi il flag --show-deleted

gcloud beta resource-manager folders list --folder 245321 --show-deleted
<table output showing all the folders including the delete requested ones underneath the folder with the specified ID>

Puoi elencare i progetti utilizzando il comando gcloud projects list, passando l'ID della cartella padre o della risorsa dell'organizzazione nel flag --filter.

gcloud projects list --filter=" parent.id: '245321' "
<table output showing the projects underneath the resource with the specified ID>

Per ulteriori informazioni su come le autorizzazioni e i filtri interagiscono con i comandi di elenco, consulta Elenco di tutte le risorse nella gerarchia.

Per cercare cartelle che corrispondono alla query specificata, utilizza gcloud alpha resource-manager folders search, passando la condizione nel flag --query. L'ambito di ricerca include tutte le cartelle per cui l'utente dispone dell'autorizzazione di visualizzazione.

gcloud alpha resource-manager folders search --query="name:vij*"
<table output showing the folders with names starting from vij eg. vijeta, vijay-folder>

gcloud alpha resource-manager folders search --query="state:DELETE_REQUESTED"
<table output showing folders for which delete has been requested>

Tutte le cartelle per le quali l'utente dispone dell'autorizzazione di visualizzazione possono essere mostrate utilizzando il comando gcloud folders search.

gcloud folders search
<table output showing all viewable folders>

Aggiorna

Le cartelle possono essere aggiornate con il comando gcloud resource-manager folders update. Al momento, è possibile aggiornare solo il campo display_name di una cartella.

gcloud resource-manager folders update \
  --display-name="Mega Incredible Folder" 245321
name: folders/245321
parent: organizations/2518
display_name: Mega Incredible Folder
lifecycle_state: ACTIVE
create_time: <timestamp info …>
update_time: <recent timestamp info …>

Elimina

Puoi eliminare e annullare l'eliminazione delle cartelle dalla riga di comando. Un utente deve disporre del ruolo Amministratore cartelle o Editor cartelle per avere l'autorizzazione per eliminare una cartella. Puoi eliminare una cartella solo se è vuota.

gcloud resource-manager folders delete 245321
name: folders/245321
parent: organizations/2518
display_name: Mega Incredible Folder
lifecycle_state: DELETE_REQUESTED
create_time: <timestamp info …>
update_time: <recent timestamp info …>

gcloud resource-manager folders undelete 245321
name: folders/245321
parent: organizations/2518
display_name: Mega Incredible Folder
lifecycle_state: ACTIVE
create_time: <timestamp info …>
update_time: <recent timestamp info …>

Spostamento progetto

I progetti possono essere creati in cartelle e spostati nelle cartelle utilizzando i comandi gcloud projects create e gcloud projects move esistenti. Puoi anche spostare cartelle utilizzando gcloud resource-manager folders move.

gcloud projects create --folder=245321 fancy-folder-project
project_id: fancy-folder-project
project_number: 905283
parent:
  type: "folder"
  id: 245321
other fields …

gcloud projects move --folder=245321 soon-to-be-fancy-project
project_id: soon-to-be-fancy-project
project_number: 428714
parent:
  type: "folder"
  id: 245321
other fields …

Operazioni a lunga esecuzione

Alcune operazioni relative alle cartelle, ad esempio la creazione delle cartelle, possono richiedere molto tempo. Per semplificare il multitasking, alcuni comandi per le cartelle ti consentono di eseguirli in modo asincrono. Questi comandi accettano un flag --async per abilitare il comportamento asincrono e, di conseguenza, restituiscono subito un'operazione a lunga esecuzione anziché attendere il completamento dell'operazione. Puoi eseguire il polling di questa operazione autonomamente con il comando gcloud beta resource-manager operations describe. Attualmente, solo i comandi folders create e folders move consentono l'utilizzo asincrono.

gcloud resource-manager folders create \
  --display-name="Awe-Inspiring Async Folder" \
  --organization=2518 \
  --async

name: operations/fc.8572
metadata:
  operation_type: CREATE
  display_name: Awe-Inspiring Async Folder
  destination_parent: organizations/2518
done: false

[wait for some time …]

gcloud beta resource-manager operations describe fc.8572
name: operations/fc.8572
metadata:
  operation_type: CREATE
  display_name: Awe-Inspiring Async Folder
  destination_parent: organizations/2518
done: true
response:
  name: folders/6428
  parent: organizations/2518
  display_name: Awe-Inspiring Async Folder
  lifecycle_state: ACTIVE
  create_time: <recent timestamp info …>
  update_time: <recent timestamp info …>