Mengelola kebijakan konsumen
Pengaktifan layanan hierarkis memungkinkan Anda mengelola pengaktifan layanan yang diwarisi melalui hierarki resource Google Cloud . Untuk mengetahui informasi selengkapnya, lihat ringkasan.
ConsumerPolicy adalah resource Service Usage API yang ditemukan di setiap level
hierarki resourceGoogle Cloud . Resource ini, yang selalu diberi nama default,
berisi enableRules yang menentukan layanan mana yang diaktifkan. Daripada
mengaktifkan atau menonaktifkan layanan tertentu, Anda dapat mengubah resource ConsumerPolicy. Jika nama layanan ada dalam daftarnya, layanan diaktifkan di tingkat hierarki tersebut.
Dokumen ini menunjukkan cara menggunakan Google Cloud CLI untuk mengelola kebijakan konsumen untuk project, folder, dan organisasi.
Sebelum memulai
- 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.
-
Install the Google Cloud CLI.
-
Jika Anda menggunakan penyedia identitas (IdP) eksternal, Anda harus login ke gcloud CLI dengan identitas gabungan Anda terlebih dahulu.
-
Untuk melakukan inisialisasi gcloud CLI, jalankan perintah berikut:
gcloud init -
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 theresourcemanager.projects.createpermission. Learn how to grant roles.
-
Create a Google Cloud project:
gcloud projects create PROJECT_ID
Replace
PROJECT_IDwith 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_IDwith your Google Cloud project name.
-
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.
-
Verify that billing is enabled for your Google Cloud project.
-
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 theserviceusage.services.enablepermission. Learn how to grant roles.gcloud services enable serviceusage.googleapis.com
-
Install the Google Cloud CLI.
-
Jika Anda menggunakan penyedia identitas (IdP) eksternal, Anda harus login ke gcloud CLI dengan identitas gabungan Anda terlebih dahulu.
-
Untuk melakukan inisialisasi gcloud CLI, jalankan perintah berikut:
gcloud init -
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 theresourcemanager.projects.createpermission. Learn how to grant roles.
-
Create a Google Cloud project:
gcloud projects create PROJECT_ID
Replace
PROJECT_IDwith 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_IDwith your Google Cloud project name.
-
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.
-
Verify that billing is enabled for your Google Cloud project.
-
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 theserviceusage.services.enablepermission. Learn how to grant roles.gcloud services enable serviceusage.googleapis.com
- 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 policies get --policy-name=defaultmenampilkan kebijakan konsumen untuk project saat ini.Anda dapat mengambil project ID saat ini:
gcloud config list --format='text(core.project)'
-
Mendapatkan kebijakan konsumen:
serviceusage.consumerpolicy.get -
Memperbarui kebijakan konsumen:
-
serviceusage.consumerpolicy.analyze -
serviceusage.consumerpolicy.update
-
-
Mendapatkan kebijakan yang berlaku:
serviceusage.effectivepolicy.get -
Periksa apakah layanan diaktifkan:
serviceusage.values.test PROJECT_ID: Google Cloud Project ID Anda. Atau, hapus tanda untuk menggunakan project saat ini sebagai default.OUTPUT_FILE: (opsional) jalur ke file output tempat konten kebijakan konsumen dapat disimpan. Format file yang didukung adalah JSON dan YAML.FOLDER_ID: Google Cloud ID folder Anda.OUTPUT_FILE: (opsional) jalur ke file output tempat konten kebijakan konsumen dapat disimpan. Format file yang didukung adalah JSON dan YAML.ORGANIZATION_ID: Google Cloud ID resource organisasi Anda.OUTPUT_FILE: (opsional) jalur ke file output tempat konten kebijakan konsumen dapat disimpan. Format file yang didukung adalah JSON dan YAML.--bypass-api-usage-checkuntuk melewati pemeriksaan penggunaan. Jika tidak, sistem akan menampilkan error jika ada layanan yang ingin Anda nonaktifkan telah digunakan dalam 30 hari terakhir atau diaktifkan dalam 3 hari terakhir.--bypass-dependency-checkuntuk melewati pemeriksaan dependensi. Saat menambahkan layanan, semua dependensi layanan harus ada dalam kebijakan. Saat menghapus layanan, tidak ada layanan lain dalam kebijakan yang dapat bergantung padanya. Jika tidak, update tidak akan berhasil dan error akan ditampilkan.--validate-onlyuntuk memvalidasi update tanpa benar-benar melakukan operasi.Untuk mendapatkan template YAML untuk file kebijakan, ambil kebijakan konsumen terlebih dahulu, lalu gunakan tanda
--output-fileuntuk menyimpan kebijakan ke file. Kemudian, ubah file ini dan gunakan sebagai input untuk perintah update. Contoh template:name: projects/PROJECT_ID/consumerPolicies/default enableRules: services: - services/SERVICE - ... - ...Ganti kode berikut:
PROJECT_ID: Google Cloud Project ID Anda. Nama resource lain yang didukung mengikuti format serupa—misalnya:folders/FOLDER_ID/consumerPolicies/default.SERVICE: nama layanan—misalnya:bigquery.googleapis.com.
PROJECT_ID: Google Cloud Project ID Anda. Atau, hapus tanda untuk menggunakan project saat ini sebagai default.VIEW:BASICuntuk mengambil kumpulan metadata terbatas atauFULLuntuk mengambil kumpulan metadata lengkap, termasuk tempat setiap layanan diaktifkan dalam hierarki. Default-nya adalahBASIC.FOLDER_ID: Google Cloud ID folder Anda.VIEW:BASICuntuk mengambil kumpulan metadata terbatas atauFULLuntuk mengambil kumpulan metadata lengkap, termasuk tempat setiap layanan diaktifkan dalam hierarki. Default-nya adalahBASIC.ORGANIZATION_ID: Google Cloud ID resource organisasi Anda.VIEW:BASICuntuk mengambil kumpulan metadata terbatas atauFULLuntuk mengambil kumpulan metadata lengkap, termasuk tempat setiap layanan diaktifkan dalam hierarki. Default-nya adalahBASIC.SERVICE: nama layanan yang ingin Anda periksa.PROJECT_ID: Google Cloud Project ID Anda. Atau, hapus tanda untuk menggunakan project saat ini sebagai default.SERVICE: nama layanan yang ingin Anda periksa.FOLDER_ID: Google Cloud ID folder Anda.SERVICE: nama layanan yang ingin Anda periksa.ORGANIZATION_ID: Google Cloud ID resource organisasi Anda.- Mengambil kebijakan konsumen untuk project saat ini:
gcloud beta services policies get
Output:
name: projects/PROJECT_ID/consumerPolicies/default enableRules: services: - services/apikeys.googleapis.com - services/compute.googleapis.com - services/oslogin.googleapis.com - services/serviceusage.googleapis.com updateTime: 2025-09-11T23:05:22.758394Z createTime: 2025-01-31T20:17:37.272343Z etag: W/"W9nsVJK0V1m7ee7tM7pFDg=="
- Berhasil memperbarui kebijakan konsumen:
gcloud beta services policies update --consumer-policy-file=/tmp/test.yaml
Output:
Operation [operations/ucpat.p39-581601899707-86fe7e37-c7f9-4624-90c4-d54754d57eed] complete. Result: { "@type":"type.googleapis.com/google.api.serviceusage.v2beta.ConsumerPolicy", "createTime":"1970-01-01T00:00:00Z", "enableRules":[ { "services":[ "services/apikeys.googleapis.com" ] } ], "name":"projects/PROJECT_ID/consumerPolicies/default", "updateTime":"1970-01-01T00:00:00Z" }
- Gagal memperbarui kebijakan konsumen:
gcloud beta services policies update --consumer-policy-file=/tmp/test.json
Pesan error:
ERROR: (gcloud.beta.services.policies.update) Invalid consumer_policy_file format. Please provide path to a yaml file.
- Mencoba memperbarui kebijakan konsumen saat layanan telah digunakan atau diaktifkan baru-baru ini:
gcloud beta services policies update --consumer-policy-file=/tmp/test.yaml
Output:
The operation "operations/ucpat.p39-581601899707-4884bdb0-d899-49ac-9c83-38457950ef33" resulted in a failure "The services apikeys.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. Help Token: AVSZLmtCfGwMm4oHmOyExdDEFRQ0pFiBrl879nbZlY2JkfVzeU63u66ApXYr6MIEAoig..."
- Memperbarui kebijakan konsumen saat layanan telah digunakan atau diaktifkan baru-baru ini dengan melewati pemeriksaan penggunaan:
gcloud beta services policies update --consumer-policy-file=/tmp/test.yaml --bypass-api-usage-check
Output:
Operation [operations/ucpat.p39-581601899707-8ffda670-ed04-4776-8d43-d2f8e1817e00] complete. Result: { "@type":"type.googleapis.com/google.api.serviceusage.v2beta.ConsumerPolicy", "createTime":"1970-01-01T00:00:00Z", "enableRules":[ { "services":[ "services/serviceusage.googleapis.com" ] } ], "name":"projects/PROJECT_ID/consumerPolicies/default", "updateTime":"1970-01-01T00:00:00Z" }
- Mengambil tampilan
BASICkebijakan yang berlaku untuk project saat ini:gcloud beta services policies get-effective
Output:
EnabledRules: Services: - services/apikeys.googleapis.com - services/compute.googleapis.com - services/computescanning.googleapis.com - services/containeranalysis.googleapis.com - services/containerscanning.googleapis.com - services/gkebackup.googleapis.com - services/osconfig.googleapis.com - services/oslogin.googleapis.com - services/serviceusage.googleapis.com
- Mengambil tampilan
FULLkebijakan yang berlaku untuk project saat ini:gcloud beta services policies get-effective --view=FULL
Output:
EnabledRules: Services: - services/apikeys.googleapis.com - services/compute.googleapis.com - services/computescanning.googleapis.com - services/containeranalysis.googleapis.com - services/containerscanning.googleapis.com - services/gkebackup.googleapis.com - services/osconfig.googleapis.com - services/oslogin.googleapis.com - services/serviceusage.googleapis.com Metadata of effective policy: EnabledService: services/apikeys.googleapis.com EnabledPolicies: ['projects/PROJECT_ID/consumerPolicies/default'] EnabledService: services/bcidcloudenforcer-pa.googleapis.com EnabledPolicies: ['folders/FOLDER_ID/consumerPolicies/default'] EnabledService: services/compute.googleapis.com EnabledPolicies: ['projects/PROJECT_ID/consumerPolicies/default'] ...
- Memeriksa status layanan kunci API yang diaktifkan untuk project saat ini:
gcloud beta services policies test-enabled apikeys.googleapis.com
Output:
Service apikeys.googleapis.com is ENABLED for resource projects/test-project Hierarchical Service Activation. - Memeriksa status layanan App Hub yang dinonaktifkan untuk project saat ini:
gcloud beta services policies test-enabled apphub.googleapis.com
Output:
Service apphub.googleapis.com is NOT ENABLED for resource projects/test-project Hierarchical Service Activation. - Untuk mengaktifkan dan menonaktifkan layanan, lihat Mengelola pengaktifan layanan.
- Untuk memeriksa dependensi layanan, lihat Mencantumkan dependensi layanan.
Peran yang diperlukan
Guna mendapatkan izin yang
diperlukan untuk mengelola kebijakan konsumen,
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 kebijakan konsumen. Untuk melihat izin yang benar-benar diperlukan, perluas bagian Izin yang diperlukan:
Izin yang diperlukan
Izin berikut diperlukan untuk mengelola kebijakan konsumen:
Anda mungkin juga bisa mendapatkan izin ini dengan peran khusus atau peran bawaan lainnya.
Mendapatkan kebijakan konsumen
Anda dapat mengambil ConsumerPolicy untuk project, folder, atau organisasi dengan
menggunakan perintah
gcloud beta services policies get.
Perintah ini menampilkan enableRules yang ditetapkan di tingkat resource tersebut, dan bukan
aturan yang diwariskan. Untuk tampilan yang lebih lengkap yang mencakup aturan yang diwariskan, Anda dapat
mengambil kebijakan yang efektif. Hanya nama kebijakan default yang didukung.
Project
gcloud beta services policies get --policy-name=default \
--project=PROJECT_ID \
--output-file=OUTPUT_FILE
Ganti kode berikut:
Folder
gcloud beta services policies get --policy-name=default \
--folder=FOLDER_ID \
--output-file=OUTPUT_FILE
Ganti kode berikut:
Organisasi
gcloud beta services policies get --policy-name=default \
--organization=ORGANIZATION_ID \
--output-file=OUTPUT_FILE
Ganti kode berikut:
Memperbarui kebijakan konsumen
Anda dapat mengupdate ConsumerPolicy menggunakan perintah
gcloud beta services policies update. Dengan begitu, Anda dapat mengganti kebijakan saat ini dan menggunakan file YAML untuk memperbarui banyak layanan yang diaktifkan sekaligus.
Perintah ini tidak otomatis mengaktifkan
dependensi layanan.
Anda harus mencantumkan semua dependensi layanan secara eksplisit dalam file input. Anda dapat menggunakan
flag --validate-only untuk melihat pratinjau perubahan sebelum menerapkannya.
gcloud beta services policies update --consumer-policy-file=PATH_TO_CONSUMER_POLICY
Ganti PATH_TO_CONSUMER_POLICY dengan jalur ke file YAML yang berisi kebijakan konsumen—misalnya:
gcloud beta services policies update --consumer-policy-file=/path/to/the/file.yaml
Flag yang didukung:
Perhatikan hal berikut:
Mendapatkan kebijakan yang berlaku
Anda dapat mengambil kebijakan efektif untuk resource menggunakan perintah
gcloud beta services policies get-effective.
Kebijakan efektif menggabungkan ConsumerPolicy resource dengan kebijakan
semua ancestor-nya. Dengan demikian, Anda akan mendapatkan tampilan lengkap semua layanan yang diaktifkan, termasuk semua layanan yang diaktifkan langsung di resource, dan layanan yang diwarisi dari induknya.
Project
gcloud beta services policies get-effective --project=PROJECT_ID \
--view=VIEW
Ganti kode berikut:
Folder
gcloud beta services policies get-effective --folder=FOLDER_ID \
--view=VIEW
Ganti kode berikut:
Organisasi
gcloud beta services policies get-effective --organization=ORGANIZATION_ID \
--view=VIEW
Ganti kode berikut:
Memeriksa apakah layanan diaktifkan
Anda dapat memeriksa apakah layanan diaktifkan di resource menggunakan perintah
gcloud beta services policies test-enabled.
Saat memeriksa status layanan, perintah ini mempertimbangkan kebijakan efektif dan hierarki resource lengkap. Google Cloud
Project
gcloud beta services policies test-enabled SERVICE \
--project=PROJECT_ID
Ganti kode berikut:
Folder
gcloud beta services policies test-enabled SERVICE \
--folder=FOLDER_ID
Ganti kode berikut:
Organisasi
gcloud beta services policies test-enabled SERVICE \
--organization=ORGANIZATION_ID
Ganti kode berikut: