Gestire l'abilitazione del servizio

L'attivazione gerarchica dei servizi 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'attivazione dei servizi per progetti, cartelle e organizzazioni.

Prima di iniziare

  1. 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.
  2. Installa Google Cloud CLI.

  3. Se utilizzi un provider di identità (IdP) esterno, devi prima accedere a gcloud CLI con la tua identità federata.

  4. Per inizializzare gcloud CLI, esegui questo comando:

    gcloud init
  5. Crea o seleziona un Google Cloud progetto.

    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 il quale ti è stato concesso un ruolo.
    • Crea un progetto: per creare un progetto, devi disporre del ruolo Autore progetto (roles/resourcemanager.projectCreator), che contiene l'autorizzazione resourcemanager.projects.create. Scopri come concedere i ruoli.
    • Creare un progetto Google Cloud :

      gcloud projects create PROJECT_ID

      Sostituisci PROJECT_ID con 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_ID con il nome del progetto Google Cloud .

  6. 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.

  7. Verifica che la fatturazione sia abilitata per il tuo progetto Google Cloud .

  8. Abilita l'API Service Usage:

    Ruoli richiesti per abilitare le API

    Per abilitare le API, devi disporre del ruolo IAM Amministratore utilizzo dei servizi (roles/serviceusage.serviceUsageAdmin), che include l'autorizzazione serviceusage.services.enable. Scopri come concedere i ruoli.

    gcloud services enable serviceusage.googleapis.com
  9. Installa Google Cloud CLI.

  10. Se utilizzi un provider di identità (IdP) esterno, devi prima accedere a gcloud CLI con la tua identità federata.

  11. Per inizializzare gcloud CLI, esegui questo comando:

    gcloud init
  12. Crea o seleziona un Google Cloud progetto.

    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 il quale ti è stato concesso un ruolo.
    • Crea un progetto: per creare un progetto, devi disporre del ruolo Autore progetto (roles/resourcemanager.projectCreator), che contiene l'autorizzazione resourcemanager.projects.create. Scopri come concedere i ruoli.
    • Creare un progetto Google Cloud :

      gcloud projects create PROJECT_ID

      Sostituisci PROJECT_ID con 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_ID con il nome del progetto Google Cloud .

  13. 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.

  14. Verifica che la fatturazione sia abilitata per il tuo progetto Google Cloud .

  15. Abilita l'API Service Usage:

    Ruoli richiesti per abilitare le API

    Per abilitare le API, devi disporre del ruolo IAM Amministratore utilizzo dei servizi (roles/serviceusage.serviceUsageAdmin), che include l'autorizzazione serviceusage.services.enable. Scopri come concedere i ruoli.

    gcloud services enable serviceusage.googleapis.com
  16. Se non indichi la risorsa Google Cloud che vuoi gestire, i comandi in questo documento vengono impostati per impostazione predefinita sul progetto corrente. Ad esempio, gcloud beta services list --enabled restituisce un elenco dei 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'attivazione dei servizi, chiedi all'amministratore di concederti il ruolo IAM Service Usage Admin (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'attivazione dei servizi. Per vedere quali sono esattamente le autorizzazioni richieste, espandi la sezione Autorizzazioni obbligatorie:

Autorizzazioni obbligatorie

Per gestire l'attivazione dei servizi sono necessarie le seguenti autorizzazioni:

  • Elenca servizi:
    • serviceusage.effectivepolicy.get
    • serviceusage.services.list
    • serviceusage.services.get
  • Attiva 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 di Google e i servizi abilitati o disponibili per un progetto, una cartella o un'organizzazione utilizzando il comando gcloud beta services list.

L'attivazione e la disponibilità del servizio possono essere ereditate dagli antenati della risorsa. I servizi abilitati di una risorsa includono i servizi abilitati nella risorsa stessa e in tutti i relativi antenati.

Progetto

gcloud beta services list --enabled \
    --project=PROJECT_ID

Sostituisci PROJECT_ID con l'Google Cloud ID progetto. In alternativa, ometti il flag per impostare come predefinito il progetto attuale.

Cartella

gcloud beta services list --enabled \
    --folder=FOLDER_ID

Sostituisci FOLDER_ID con l'Google Cloud ID cartella.

Organizzazione

gcloud beta services list --enabled \
    --organization=ORGANIZATION_ID

Sostituisci ORGANIZATION_ID con l'Google Cloud ID risorsa organizzazione.

Tieni presente quanto segue:

  • Devi specificare uno dei seguenti flag:

    • --available per elencare i servizi che possono essere attivati per l'utilizzo.
    • --enabled per elencare i servizi abilitati per il consumo.
  • Puoi utilizzare altri flag per filtrare e limitare i servizi elencati.

Attiva i servizi

Puoi abilitare 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 Gestire le policy per i consumatori.

Progetto

gcloud beta services enable SERVICE \
    --project=PROJECT_ID

Sostituisci quanto segue:

  • SERVICE: il nome del servizio che vuoi attivare. Per abilitare più servizi, utilizza nomi di servizi delimitati da spazi. Ad esempio, il seguente comando abilita i servizi API Keys e BigQuery: gcloud beta services enable apikeys.googleapis.com bigquery.googleapis.com.
  • PROJECT_ID: il tuo ID progettoGoogle Cloud . In alternativa, ometti il flag per impostare come predefinito il progetto attuale.

Cartella

gcloud beta services enable SERVICE \
    --folder=FOLDER_ID

Sostituisci quanto segue:

  • SERVICE: il nome del servizio che vuoi attivare. Per abilitare più servizi, utilizza nomi di servizi delimitati da spazi, ad esempio gcloud beta services enable apikeys.googleapis.com bigquery.googleapis.com.
  • FOLDER_ID: il tuo ID cartellaGoogle Cloud .

Organizzazione

gcloud beta services enable SERVICE \
    --organization=ORGANIZATION_ID

Sostituisci quanto segue:

  • SERVICE: il nome del servizio che vuoi attivare. Per abilitare più servizi, utilizza nomi di servizi delimitati da spazi, ad esempio gcloud beta services enable apikeys.googleapis.com bigquery.googleapis.com.
  • ORGANIZATION_ID: l'Google Cloud ID risorsa organizzazione.

Flag supportati:

  • --async per tornare immediatamente, senza attendere il completamento dell'operazione in corso.

  • --skip-dependency per saltare l'attivazione di eventuali dipendenze del servizio. In caso contrario, tutte le dipendenze del servizio sono attivate per impostazione predefinita.

    Puoi esaminare le dipendenze del servizio. Per saperne di più, consulta Elencare le dipendenze del servizio.

  • --validate-only per convalidare l'attivazione senza eseguire 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 nelle norme per i consumatori. Se il servizio è già abilitato, ma le relative dipendenze non lo sono, il comando verrà eseguito correttamente.

  • Se abiliti un servizio a livello di cartella o organizzazione, il vincolo di policy dell'organizzazione constraints/serviceuser.services potrebbe non funzionare come previsto. Ti consigliamo di utilizzare il vincolo Restrict Resource Service Usage. Per saperne di più, consulta Limitazione dell'utilizzo delle risorse.

  • 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, potresti dover creare un service agent utilizzando il comando gcloud beta services identity create.

Disattivare 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 Gestire le policy per i consumatori.

Progetto

gcloud beta services disable SERVICE \
    --project=PROJECT_ID

Sostituisci quanto segue:

  • SERVICE: il nome del servizio che vuoi disattivare. Per disattivare più servizi, utilizza nomi di servizi delimitati da spazi, ad esempio: gcloud beta services disable apikeys.googleapis.com bigquery.googleapis.com.
  • PROJECT_ID: il tuo ID progettoGoogle Cloud . In alternativa, ometti il flag per impostare come predefinito il progetto attuale.

Cartella

gcloud beta services disable SERVICE \
    --folder=FOLDER_ID

Sostituisci quanto segue:

  • SERVICE: il nome del servizio che vuoi disattivare. Per disattivare più servizi, utilizza nomi di servizi delimitati da spazi, ad esempio: gcloud beta services disable apikeys.googleapis.com bigquery.googleapis.com.
  • FOLDER_ID: il tuo ID cartellaGoogle Cloud .

Organizzazione

gcloud beta services disable SERVICE \
    --organization=ORGANIZATION_ID

Sostituisci quanto segue:

  • SERVICE: il nome del servizio che vuoi disattivare. Per disattivare più servizi, utilizza nomi di servizi delimitati da spazi, ad esempio: gcloud beta services disable apikeys.googleapis.com bigquery.googleapis.com.
  • ORGANIZATION_ID: l'Google Cloud ID risorsa organizzazione.

Flag supportati:

  • --async per tornare immediatamente, senza attendere il completamento dell'operazione in corso.

  • --bypass-api-usage-check per 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-check per ignorare il controllo delle dipendenze; i servizi abilitati che dipendono dal servizio che stai disabilitando rimangono abilitati.
    • --disable-dependency-services per procedere con la disattivazione del servizio e di tutti i servizi attivati che dipendono da quello che stai disattivando.

    Puoi esaminare le dipendenze del servizio. Per saperne di più, consulta Elencare le dipendenze del servizio.

  • --force per procedere anche se sono attivi servizi che dipendono dal servizio, se il servizio è stato utilizzato negli ultimi 30 giorni o se è stato attivato negli ultimi 3 giorni. Anche i servizi dipendenti vengono disattivati.

    I flag --bypass-api-usage-check, --bypass-dependency-service-check e --disable-dependency-services hanno tutti la precedenza sul flag --force.

    L'utilizzo dei flag --disable-dependency-services e --bypass-api-usage-check equivale all'utilizzo del flag --force. Il servizio e le relative dipendenze vengono disabilitati senza verificarne l'utilizzo.

  • --validate-only per 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.with Hierarchical Service Activationbeta.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"
      }
  • Abilitazione 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.with Hierarchical Service Activationbeta.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 disattivazione del 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 disattivazione del 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 ignorando il controllo dell'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