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. Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
  2. Install the 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. Create or select a Google Cloud project.

    Roles required to select or create a project

    • Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
    • Create a project: To create a project, you need the Project Creator role (roles/resourcemanager.projectCreator), which contains the resourcemanager.projects.create permission. Learn how to grant roles.
    • Create a Google Cloud project:

      gcloud projects create PROJECT_ID

      Replace PROJECT_ID with a name for the Google Cloud project you are creating.

    • Select the Google Cloud project that you created:

      gcloud config set project PROJECT_ID

      Replace PROJECT_ID with your Google Cloud project name.

  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. Verify that billing is enabled for your Google Cloud project.

  8. Enable the Service Usage API:

    Roles required to enable APIs

    To enable APIs, you need the Service Usage Admin IAM role (roles/serviceusage.serviceUsageAdmin), which contains the serviceusage.services.enable permission. Learn how to grant roles.

    gcloud services enable serviceusage.googleapis.com
  9. Install the 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. Create or select a Google Cloud project.

    Roles required to select or create a project

    • Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
    • Create a project: To create a project, you need the Project Creator role (roles/resourcemanager.projectCreator), which contains the resourcemanager.projects.create permission. Learn how to grant roles.
    • Create a Google Cloud project:

      gcloud projects create PROJECT_ID

      Replace PROJECT_ID with a name for the Google Cloud project you are creating.

    • Select the Google Cloud project that you created:

      gcloud config set project PROJECT_ID

      Replace PROJECT_ID with your Google Cloud project name.

  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. Verify that billing is enabled for your Google Cloud project.

  15. Enable the Service Usage API:

    Roles required to enable APIs

    To enable APIs, you need the Service Usage Admin IAM role (roles/serviceusage.serviceUsageAdmin), which contains the serviceusage.services.enable permission. Learn how to grant roles.

    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)'
  17. Ruoli obbligatori

    Per ottenere le autorizzazioni necessarie per gestire l'abilitazione 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
    • Disattiva 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 Google 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 corrente.

    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 il consumo.
      • --enabled per elencare i servizi abilitati per il consumo.
    • 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 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 Google Cloud ID progetto. In alternativa, ometti il flag per impostare come predefinito il progetto corrente.

    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 Google Cloud ID cartella.

    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 Elenca le dipendenze del servizio.

    • --validate-only per 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 nelle norme per i consumatori. Se il servizio è già abilitato, ma le sue dipendenze non lo sono, il comando avrà esito positivo.

    • 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 invece 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, potrebbe essere necessario creare un agente di servizio 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 separati da spazi, ad esempio gcloud beta services disable apikeys.googleapis.com bigquery.googleapis.com.
    • PROJECT_ID: il tuo Google Cloud ID progetto. In alternativa, ometti il flag per impostare come predefinito il progetto corrente.

    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 separati da spazi, ad esempio gcloud beta services disable apikeys.googleapis.com bigquery.googleapis.com.
    • FOLDER_ID: il tuo Google Cloud ID cartella.

    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 separati 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; tutti 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 Elenca le dipendenze del servizio.

    • --force per procedere anche se sono attivi servizi che dipendono dal servizio o se il servizio è stato utilizzato negli ultimi 30 giorni o 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 è equivalente 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