Gestisci l'abilitazione dei servizi
L'attivazione gerarchica dei servizi ti consente di gestire l'abilitazione dei servizi ereditata tramite la gerarchia delle risorse Google Cloud . Per saperne di più, consulta la panoramica.
Questo documento mostra come utilizzare Google Cloud CLI per gestire l'abilitazione dei servizi per progetti, cartelle e organizzazioni.
Prima di iniziare
- Accedi al tuo account Google Cloud . Se non conosci Google Cloud, crea un account per valutare le prestazioni dei nostri prodotti in scenari reali. I nuovi clienti ricevono anche 300 $di crediti senza costi per l'esecuzione, il test e il deployment dei workload.
-
Installa Google Cloud CLI.
-
Se utilizzi un provider di identità (IdP) esterno, devi prima accedere a gcloud CLI con la tua identità federata.
-
Per inizializzare gcloud CLI, esegui questo comando:
gcloud init -
Crea o seleziona un progetto Google Cloud .
Ruoli richiesti per selezionare o creare un progetto
- Seleziona un progetto: la selezione di un progetto non richiede un ruolo IAM specifico. Puoi selezionare qualsiasi progetto per cui ti è stato concesso un ruolo.
-
Crea un progetto: per creare un progetto, devi disporre del ruolo Autore progetto (
roles/resourcemanager.projectCreator), che contiene l'autorizzazioneresourcemanager.projects.create. Scopri come concedere i ruoli.
-
Crea un progetto Google Cloud :
gcloud projects create PROJECT_ID
Sostituisci
PROJECT_IDcon un nome per il progetto Google Cloud che stai creando. -
Seleziona il progetto Google Cloud che hai creato:
gcloud config set project PROJECT_ID
Sostituisci
PROJECT_IDcon il nome del progetto Google Cloud .
-
Se utilizzi un progetto esistente per questa guida, verifica di disporre delle autorizzazioni necessarie per completare la guida. Se hai creato un nuovo progetto, disponi già delle autorizzazioni necessarie.
-
Installa Google Cloud CLI.
-
Se utilizzi un provider di identità (IdP) esterno, devi prima accedere a gcloud CLI con la tua identità federata.
-
Per inizializzare gcloud CLI, esegui questo comando:
gcloud init -
Crea o seleziona un progetto Google Cloud .
Ruoli richiesti per selezionare o creare un progetto
- Seleziona un progetto: la selezione di un progetto non richiede un ruolo IAM specifico. Puoi selezionare qualsiasi progetto per cui ti è stato concesso un ruolo.
-
Crea un progetto: per creare un progetto, devi disporre del ruolo Autore progetto (
roles/resourcemanager.projectCreator), che contiene l'autorizzazioneresourcemanager.projects.create. Scopri come concedere i ruoli.
-
Crea un progetto Google Cloud :
gcloud projects create PROJECT_ID
Sostituisci
PROJECT_IDcon un nome per il progetto Google Cloud che stai creando. -
Seleziona il progetto Google Cloud che hai creato:
gcloud config set project PROJECT_ID
Sostituisci
PROJECT_IDcon il nome del progetto Google Cloud .
-
Se utilizzi un progetto esistente per questa guida, verifica di disporre delle autorizzazioni necessarie per completare la guida. Se hai creato un nuovo progetto, disponi già delle autorizzazioni necessarie.
- Se non indichi la risorsa Google Cloud che vuoi gestire, i comandi in questo documento vengono applicati per impostazione predefinita al progetto corrente. Ad esempio,
gcloud beta services list --enabledrestituisce un elenco di servizi abilitati per il progetto corrente.Puoi recuperare l'ID progetto attuale:
gcloud config list --format='text(core.project)'
Ruoli obbligatori
Per ottenere le autorizzazioni necessarie per gestire l'abilitazione dei servizi, chiedi all'amministratore di concederti il ruolo IAM Amministratore di Service Usage (roles/serviceusage.serviceUsageAdmin) sulla risorsa di destinazione.
Per saperne di più sulla concessione dei ruoli, consulta Gestisci l'accesso a progetti, cartelle e organizzazioni.
Questo ruolo predefinito contiene le autorizzazioni necessarie per gestire l'abilitazione dei servizi. Per vedere quali sono esattamente le autorizzazioni richieste, espandi la sezione Autorizzazioni obbligatorie:
Autorizzazioni obbligatorie
Per gestire l'abilitazione dei servizi sono necessarie le seguenti autorizzazioni:
-
Elenca i servizi:
-
serviceusage.effectivepolicy.get -
serviceusage.services.list -
serviceusage.services.get
-
-
Abilita i servizi:
-
serviceusage.consumerpolicy.get -
serviceusage.consumerpolicy.update -
serviceusage.groups.listExpandedMembers
-
-
Disabilita i servizi:
-
serviceusage.consumerpolicy.get -
serviceusage.consumerpolicy.update -
serviceusage.consumerpolicy.analyze
-
Potresti anche ottenere queste autorizzazioni con ruoli personalizzati o altri ruoli predefiniti.
Elenca servizi
Puoi elencare le API e i servizi di Google abilitati o disponibili per un progetto, una cartella o un'organizzazione utilizzando il comando gcloud beta services list.
L'abilitazione e la disponibilità dei servizi possono essere ereditate dagli antenati delle risorse. I servizi abilitati di una risorsa includono i servizi abilitati sulla risorsa stessa e su tutti i suoi predecessori.
gcloud beta services list --enabled \
--RESOURCE_TYPE=RESOURCE_ID
Sostituisci quanto segue:
RESOURCE_TYPE: il tipo di risorsa per cui vuoi elencare i servizi. I valori validi sonoproject,foldereorganization. Puoi omettere questo flag per restituire i risultati per il progetto corrente.RESOURCE_ID: l'ID progetto, l'ID cartella o l'ID organizzazione, a seconda del valore utilizzato perRESOURCE_TYPE.
Tieni presente quanto segue:
Devi specificare uno dei seguenti flag:
--availableper elencare i servizi che possono essere attivati per l'utilizzo.--enabledper elencare i servizi abilitati per l'utilizzo.
Puoi utilizzare altri flag per filtrare e limitare i servizi elencati.
Attiva i servizi
Puoi attivare uno o più servizi per un progetto, una cartella o un'organizzazione utilizzando il comando gcloud beta services enable.
Questo comando aggiorna ConsumerPolicy nella risorsa di destinazione. Per saperne di più, consulta Gestisci le policy dei consumer.
gcloud beta services enable SERVICE \
--RESOURCE_TYPE=RESOURCE_ID
Sostituisci quanto segue:
SERVICE: il nome del servizio che vuoi attivare. Per abilitare più servizi, utilizza i nomi dei servizi delimitati da spazi. Ad esempio, il comando seguente abilita sia le chiavi API sia i servizi BigQuery:gcloud beta services enable apikeys.googleapis.com bigquery.googleapis.comRESOURCE_TYPE: il tipo di risorsa per cui vuoi attivare i servizi. I valori validi sonoproject,foldereorganization. Puoi omettere questo flag per abilitare i servizi per il progetto corrente.RESOURCE_ID: l'ID progetto, l'ID cartella o l'ID organizzazione, a seconda del valore utilizzato perRESOURCE_TYPE.
Flag supportati:
--asyncper terminare immediatamente, senza attendere il completamento dell'operazione in corso.--skip-dependencyper saltare l'attivazione di eventuali dipendenze dei servizi. In caso contrario, tutte le dipendenze dei servizi sono abilitate per impostazione predefinita.Puoi esaminare le dipendenze dei servizi. Per saperne di più, consulta Elenca le dipendenze dei servizi.
--validate-onlyper convalidare l'attivazione senza eseguire effettivamente l'operazione.
Tieni presente quanto segue:
Se provi ad attivare un servizio già attivo, riceverai un errore che indica che il servizio è già attivo e presente nella policy consumer. Se il servizio è già abilitato, ma le sue dipendenze non lo sono, il comando verrà eseguito correttamente.
Il vincolo della policy dell'organizzazione
constraints/serviceuser.servicesnon è compatibile con l'attivazione gerarchica dei servizi e non deve essere utilizzato con questa funzionalità. Utilizza invece il vincoloconstraints/gcp.restrictServiceUsageper controllare quali servizi possono essere abilitati per una risorsa. Per saperne di più, consulta Limitazione dell'utilizzo delle risorse.- Se la tua organizzazione ha già utilizzato
constraints/serviceuser.servicese ricevi un errore quando provi a utilizzare l'attivazione dei servizi gerarchici, contatta l'assistenza clienti Google Cloud.
- Se la tua organizzazione ha già utilizzato
Google Cloud crea e gestisce i service account per molti serviziGoogle Cloud . Questi service account sono noti come agenti di servizio. Se si verifica un errore
service account not found, potrebbe essere necessario creare un agente di servizio utilizzando il comandogcloud beta services identity create.
Disattiva i servizi
Puoi disattivare uno o più servizi per un progetto, una cartella o un'organizzazione utilizzando il comando gcloud beta services disable.
Questo comando aggiorna ConsumerPolicy nella risorsa di destinazione. Per saperne di più, consulta Gestisci le policy dei consumer.
gcloud beta services disable SERVICE \
--RESOURCE_TYPE=RESOURCE_ID
Sostituisci quanto segue:
SERVICE: il nome del servizio che vuoi disattivare. Per disattivare più servizi, utilizza i nomi dei servizi delimitati da spazi. Ad esempio:gcloud beta services disable apikeys.googleapis.com bigquery.googleapis.comRESOURCE_TYPE: il tipo di risorsa per cui vuoi disattivare i servizi. I valori validi sonoproject,foldereorganization. Puoi omettere questo flag per disattivare i servizi per il progetto corrente.RESOURCE_ID: l'ID progetto, l'ID cartella o l'ID organizzazione, a seconda del valore utilizzato perRESOURCE_TYPE. In alternativa, ometti il flag per impostare il progetto attuale come predefinito.
Flag supportati:
--asyncper terminare immediatamente, senza attendere il completamento dell'operazione in corso.--bypass-api-usage-checkper ignorare i controlli di utilizzo. In caso contrario, il sistema restituisce un errore se il servizio che vuoi disattivare è stato utilizzato negli ultimi 30 giorni o attivato negli ultimi 3 giorni.Puoi specificare uno dei seguenti flag:
--bypass-dependency-service-checkper ignorare il controllo delle dipendenze; tutti i servizi abilitati che dipendono dal servizio che stai disabilitando rimangono abilitati.--disable-dependency-servicesper procedere con la disattivazione del servizio e di tutti i servizi abilitati che dipendono dal servizio che stai disattivando.
Puoi esaminare le dipendenze dei servizi. Per saperne di più, consulta Elenca le dipendenze dei servizi.
--forceper procedere anche se sono presenti servizi abilitati che dipendono dal servizio o se il servizio è stato utilizzato negli ultimi 30 giorni o abilitato negli ultimi 3 giorni. Anche i servizi dipendenti sono disattivati.I flag
--bypass-api-usage-check,--bypass-dependency-service-checke--disable-dependency-serviceshanno tutti la precedenza sul flag--force.L'utilizzo di entrambi i flag
--disable-dependency-servicese--bypass-api-usage-checkequivale all'utilizzo del flag--force. Il servizio e le relative dipendenze vengono disattivati senza verificarne l'utilizzo.--validate-onlyper convalidare la disattivazione senza eseguire effettivamente l'operazione.
Esempi
Attivazione di un servizio
- Attivazione del servizio BigQuery senza le relative dipendenze:
gcloud beta services enable bigquery.googleapis.com --skip-dependency
Output:
Operation [operations/ucpat.p39-581601899707-73a57d57-aa46-4d0b-a5ee-57034a42f2b3] complete. Result: { "@type":"type.googleapis.com/google.api.serviceusage.v2beta.ConsumerPolicy", "createTime":"2025-01-31T20:17:37.272343Z", "enableRules":[ { "services":[ "services/apikeys.googleapis.com", "services/compute.googleapis.com", "services/oslogin.googleapis.com", "services/serviceusage.googleapis.com", "services/bigquery.googleapis.com" ] } ], "etag":"W/\"W9nsVJK0V1m7ee7tM7pFDg==\"", "name":"projects/PROJECT_ID/consumerPolicies/default", "updateTime":"2025-09-11T23:05:22.758394Z" }
- Attivazione del servizio BigQuery con le relative dipendenze:
gcloud beta services enable bigquery.googleapis.com
Output:
Operation [operations/ucpat.p39-581601899707-73192b0f-053c-46ee-911a-7eca6b8fe899] complete. Result: { "@type":"type.googleapis.com/google.api.serviceusage.v2beta.ConsumerPolicy", "createTime":"2025-01-31T20:17:37.272343Z", "enableRules":[ { "services":[ "services/apikeys.googleapis.com", "services/compute.googleapis.com", "services/oslogin.googleapis.com", "services/serviceusage.googleapis.com", "services/cloudresourcemanager.googleapis.com", "services/dataplex.googleapis.com", "services/bigquery.googleapis.com", "services/bigquerystorage.googleapis.com", "services/bigqueryconnection.googleapis.com", "services/analyticshub.googleapis.com", "services/bigquerymigration.googleapis.com", "services/dataform.googleapis.com", "services/bigquerydatapolicy.googleapis.com", "services/bigquerydatatransfer.googleapis.com", "services/bigqueryreservation.googleapis.com" ] } ], "etag":"W/\"FDXMAIdsBW7BrXjL7oP6FA==\"", "name":"projects/PROJECT_ID/consumerPolicies/default", "updateTime":"2025-09-12T19:44:23.675769Z" }
Disattivazione di un servizio
- Tentativo di disattivare il servizio BigQuery con dipendenze attive:
gcloud beta services disable bigquery.googleapis.com
Messaggio di errore:
ERROR: (gcloud.beta.services.disable) The services are depended on by the following active service(s) {"bigquery.googleapis.com": ["services/bigquerystorage.googleapis.com"]} . Please remove the active dependent services or provide the --disable-dependency-services flag to disable them, or --bypass-dependency-service-check to ignore this check.
- Tentativo di disattivare il servizio BigQuery con utilizzo recente:
gcloud beta services disable bigquery.googleapis.com --disable-dependency-services
Messaggio di errore:
ERROR: (gcloud.beta.services.disable) The operation "operations/ucpat.p39-581601899707-d35c2e2b-d2a3-47af-a1c0-033ed65df236" resulted in a failure "The services bigquery.googleapis.com,bigquerystorage.googleapis.com have usage in the last 30 days or were enabled in the past 3 days. Please specify force if you want to proceed with the destructive policy change.
- Disattivazione del servizio BigQuery e delle relative dipendenze e bypass del controllo di utilizzo:
gcloud beta services disable bigquery.googleapis.com --disable-dependency-services --bypass-api-usage-check
Output:
Operation [operations/ucpat.p39-581601899707-5c02aa04-7ad7-4eb6-a6a1-dc68653bcdb4] complete. Result: { "@type":"type.googleapis.com/google.api.serviceusage.v2beta.ConsumerPolicy", "createTime":"2025-01-31T20:17:37.272343Z", "enableRules":[ { "services":[ "services/analyticshub.googleapis.com", "services/apikeys.googleapis.com", "services/bigqueryconnection.googleapis.com", "services/bigquerydatapolicy.googleapis.com", "services/bigquerydatatransfer.googleapis.com", "services/bigquerymigration.googleapis.com", "services/bigqueryreservation.googleapis.com", "services/cloudresourcemanager.googleapis.com", "services/compute.googleapis.com", "services/dataform.googleapis.com", "services/dataplex.googleapis.com", "services/oslogin.googleapis.com", "services/serviceusage.googleapis.com" ] } ], "etag":"W/\"TqbPaELDHlZQOj7As1P06g==\"", "name":"projects/PROJECT_ID/consumerPolicies/default", "updateTime":"2025-09-30T21:39:40.746125Z" }
Passaggi successivi
- Per gestire le policy, consulta Gestisci le policy dei consumer.
- Per esaminare le dipendenze dei servizi, consulta Elenca le dipendenze dei servizi.