Mengelola pengaktifan layanan

Pengaktifan layanan hierarkis memungkinkan Anda mengelola pengaktifan layanan yang diwarisi melalui hierarki resource Google Cloud . Untuk mengetahui informasi selengkapnya, lihat ringkasan.

Dokumen ini menunjukkan cara menggunakan Google Cloud CLI untuk mengelola pengaktifan layanan untuk project, folder, dan organisasi.

Sebelum memulai

  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. Jika Anda menggunakan penyedia identitas (IdP) eksternal, Anda harus login ke gcloud CLI dengan identitas gabungan Anda terlebih dahulu.

  4. Untuk melakukan inisialisasi gcloud CLI, jalankan perintah berikut:

    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. Jika Anda menggunakan project yang sudah ada untuk panduan ini, pastikan Anda memiliki izin yang diperlukan untuk menyelesaikan panduan ini. Jika berhasil membuat project baru, berarti Anda sudah memiliki izin yang diperlukan.

  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. Jika Anda menggunakan penyedia identitas (IdP) eksternal, Anda harus login ke gcloud CLI dengan identitas gabungan Anda terlebih dahulu.

  11. Untuk melakukan inisialisasi gcloud CLI, jalankan perintah berikut:

    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. Jika Anda menggunakan project yang sudah ada untuk panduan ini, pastikan Anda memiliki izin yang diperlukan untuk menyelesaikan panduan ini. Jika berhasil membuat project baru, berarti Anda sudah memiliki izin yang diperlukan.

  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. Jika Anda tidak menunjukkan resource Google Cloud yang ingin dikelola, perintah dalam dokumen ini secara default akan menggunakan project saat ini. Misalnya, gcloud beta services list --enabled menampilkan daftar layanan yang diaktifkan untuk project saat ini.

    Anda dapat mengambil project ID saat ini:

    gcloud config list --format='text(core.project)'
  17. Peran yang diperlukan

    Untuk mendapatkan izin yang diperlukan untuk mengelola pengaktifan layanan, minta administrator untuk memberi Anda peran IAM Service Usage Admin (roles/serviceusage.serviceUsageAdmin) di resource target Anda. Untuk mengetahui informasi selengkapnya tentang cara memberikan peran, lihat Mengelola akses ke project, folder, dan organisasi.

    Peran bawaan ini berisi izin yang diperlukan untuk mengelola pengaktifan layanan. Untuk melihat izin yang benar-benar diperlukan, perluas bagian Izin yang diperlukan:

    Izin yang diperlukan

    Izin berikut diperlukan untuk mengelola pengaktifan layanan:

    • Mencantumkan layanan:
      • serviceusage.effectivepolicy.get
      • serviceusage.services.list
      • serviceusage.services.get
    • Aktifkan layanan:
      • serviceusage.consumerpolicy.get
      • serviceusage.consumerpolicy.update
      • serviceusage.groups.listExpandedMembers
    • Menonaktifkan layanan:
      • serviceusage.consumerpolicy.get
      • serviceusage.consumerpolicy.update
      • serviceusage.consumerpolicy.analyze

    Anda mungkin juga bisa mendapatkan izin ini dengan peran khusus atau peran bawaan lainnya.

    Mencantumkan layanan

    Anda dapat membuat daftar API dan layanan Google yang diaktifkan atau tersedia untuk project, folder, atau organisasi menggunakan perintah gcloud beta services list.

    Pengaktifan dan ketersediaan layanan dapat diwarisi dari ancestor resource. Layanan yang diaktifkan resource mencakup layanan yang diaktifkan di resource itu sendiri dan diaktifkan di semua ancestor resource.

    Project

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

    Ganti PROJECT_ID dengan Google Cloud project ID Anda. Atau, hapus tanda untuk menggunakan project saat ini sebagai default.

    Folder

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

    Ganti FOLDER_ID dengan Google Cloud ID folder Anda.

    Organisasi

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

    Ganti ORGANIZATION_ID dengan Google Cloud ID resource organisasi Anda.

    Perhatikan hal berikut:

    • Anda harus menentukan salah satu flag berikut:

      • --available untuk mencantumkan layanan yang dapat diaktifkan untuk penggunaan.
      • --enabled untuk mencantumkan layanan yang diaktifkan untuk penggunaan.
    • Anda dapat menggunakan flag lainnya untuk memfilter dan membatasi layanan yang tercantum.

    Mengaktifkan layanan

    Anda dapat mengaktifkan satu atau beberapa layanan untuk project, folder, atau organisasi dengan menggunakan perintah gcloud beta services enable.

    Perintah ini memperbarui ConsumerPolicy di resource target. Untuk mengetahui informasi selengkapnya, lihat Mengelola kebijakan konsumen.

    Project

    gcloud beta services enable SERVICE \
        --project=PROJECT_ID
    

    Ganti kode berikut:

    • SERVICE: nama layanan yang ingin Anda aktifkan. Untuk mengaktifkan beberapa layanan, gunakan nama layanan yang dipisahkan dengan spasi—misalnya, perintah berikut mengaktifkan layanan kunci API dan BigQuery: gcloud beta services enable apikeys.googleapis.com bigquery.googleapis.com.
    • PROJECT_ID: Google Cloud Project ID Anda. Atau, hapus tanda untuk menggunakan project saat ini sebagai default.

    Folder

    gcloud beta services enable SERVICE \
        --folder=FOLDER_ID
    

    Ganti kode berikut:

    • SERVICE: nama layanan yang ingin Anda aktifkan. Untuk mengaktifkan beberapa layanan, gunakan nama layanan yang dipisahkan dengan spasi—misalnya: gcloud beta services enable apikeys.googleapis.com bigquery.googleapis.com.
    • FOLDER_ID: Google Cloud ID folder Anda.

    Organisasi

    gcloud beta services enable SERVICE \
        --organization=ORGANIZATION_ID
    

    Ganti kode berikut:

    • SERVICE: nama layanan yang ingin Anda aktifkan. Untuk mengaktifkan beberapa layanan, gunakan nama layanan yang dipisahkan dengan spasi—misalnya: gcloud beta services enable apikeys.googleapis.com bigquery.googleapis.com.
    • ORGANIZATION_ID: Google Cloud ID resource organisasi Anda.

    Flag yang didukung:

    • --async untuk segera ditampilkan, tanpa menunggu operasi yang sedang berlangsung selesai.

    • --skip-dependency untuk melewati pengaktifan dependensi layanan apa pun. Jika tidak, semua dependensi layanan diaktifkan secara default.

      Anda dapat memeriksa dependensi layanan. Untuk mengetahui informasi selengkapnya, lihat Mencantumkan dependensi layanan.

    • --validate-only untuk memvalidasi pengaktifan tanpa benar-benar melakukan operasi.

    Perhatikan hal berikut:

    • Jika Anda mencoba mengaktifkan layanan yang sudah diaktifkan, Anda akan menerima error yang menyatakan bahwa layanan sudah diaktifkan dan ada dalam kebijakan konsumen. (Jika layanan sudah diaktifkan, tetapi dependensinya belum, perintah akan berhasil.)

    • Jika Anda mengaktifkan layanan di tingkat folder atau organisasi, batasan kebijakan organisasi constraints/serviceuser.services mungkin tidak berfungsi seperti yang diharapkan. Sebaiknya gunakan batasan Batasi Penggunaan Layanan Resource. Untuk mengetahui informasi selengkapnya, lihat Membatasi penggunaan resource.

    • Google Cloud membuat dan mengelola akun layanan untuk banyak layanan Google Cloud . Akun layanan ini dikenal sebagai agen layanan. Jika Anda mengalami error service account not found, Anda mungkin perlu membuat agen layanan menggunakan perintah gcloud beta services identity create.

    Menonaktifkan layanan

    Anda dapat menonaktifkan satu atau beberapa layanan untuk project, folder, atau organisasi dengan menggunakan perintah gcloud beta services disable.

    Perintah ini memperbarui ConsumerPolicy di resource target. Untuk mengetahui informasi selengkapnya, lihat Mengelola kebijakan konsumen.

    Project

    gcloud beta services disable SERVICE \
        --project=PROJECT_ID
    

    Ganti kode berikut:

    • SERVICE: nama layanan yang ingin Anda nonaktifkan. Untuk menonaktifkan beberapa layanan, gunakan nama layanan yang dipisahkan dengan spasi—misalnya: gcloud beta services disable apikeys.googleapis.com bigquery.googleapis.com.
    • PROJECT_ID: Google Cloud Project ID Anda. Atau, hapus tanda untuk menggunakan project saat ini sebagai default.

    Folder

    gcloud beta services disable SERVICE \
        --folder=FOLDER_ID
    

    Ganti kode berikut:

    • SERVICE: nama layanan yang ingin Anda nonaktifkan. Untuk menonaktifkan beberapa layanan, gunakan nama layanan yang dipisahkan dengan spasi—misalnya: gcloud beta services disable apikeys.googleapis.com bigquery.googleapis.com.
    • FOLDER_ID: Google Cloud ID folder Anda.

    Organisasi

    gcloud beta services disable SERVICE \
        --organization=ORGANIZATION_ID
    

    Ganti kode berikut:

    • SERVICE: nama layanan yang ingin Anda nonaktifkan. Untuk menonaktifkan beberapa layanan, gunakan nama layanan yang dipisahkan dengan spasi—misalnya: gcloud beta services disable apikeys.googleapis.com bigquery.googleapis.com.
    • ORGANIZATION_ID: Google Cloud ID resource organisasi Anda.

    Flag yang didukung:

    • --async untuk segera ditampilkan, tanpa menunggu operasi yang sedang berlangsung selesai.

    • --bypass-api-usage-check untuk melewati pemeriksaan penggunaan. Jika tidak, sistem akan menampilkan error jika layanan yang ingin Anda nonaktifkan digunakan dalam 30 hari terakhir atau diaktifkan dalam 3 hari terakhir.

    • Anda dapat menentukan satu dari flag berikut:

      • --bypass-dependency-service-check untuk melewati pemeriksaan dependensi; layanan yang diaktifkan dan bergantung pada layanan yang Anda nonaktifkan akan tetap diaktifkan.
      • --disable-dependency-services untuk melanjutkan penonaktifan layanan dan layanan yang diaktifkan yang bergantung pada layanan yang Anda nonaktifkan.

      Anda dapat memeriksa dependensi layanan. Untuk mengetahui informasi selengkapnya, lihat Mencantumkan dependensi layanan.

    • --force untuk melanjutkan meskipun ada layanan yang diaktifkan yang bergantung pada layanan tersebut, atau layanan tersebut digunakan dalam 30 hari terakhir, atau diaktifkan dalam 3 hari terakhir. Layanan dependen apa pun juga dinonaktifkan.

      Flag --bypass-api-usage-check, --bypass-dependency-service-check, dan --disable-dependency-services lebih diprioritaskan daripada flag --force.

      Menggunakan flag --disable-dependency-services dan --bypass-api-usage-check sama dengan menggunakan flag --force. Layanan dan dependensinya dinonaktifkan tanpa memeriksa penggunaannya.

    • --validate-only untuk memvalidasi penonaktifan tanpa benar-benar melakukan operasi.

    Contoh

    Mengaktifkan layanan

    • Mengaktifkan layanan BigQuery tanpa dependensinya:
      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"
        }
    • Mengaktifkan layanan BigQuery dengan dependensinya:
      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"
        }

    Menonaktifkan layanan

    • Mencoba menonaktifkan layanan BigQuery dengan dependensi aktif:
      gcloud beta services disable bigquery.googleapis.com

      Pesan error:

      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.
    • Mencoba menonaktifkan layanan BigQuery dengan penggunaan baru-baru ini:
      gcloud beta services disable bigquery.googleapis.com --disable-dependency-services

      Pesan error:

      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.
    • Menonaktifkan layanan BigQuery dan dependensinya serta melewati pemeriksaan penggunaan:
      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"
      }

    Langkah berikutnya