Membatasi penggunaan resource

Halaman ini menyediakan ringkasan batasan kebijakan organisasi Batasi Penggunaan Layanan Resource, yang memungkinkan administrator perusahaan mengontrol layanan Google Cloud mana yang dapat digunakan dalam hierarki resource Google Cloud mereka. Batasan ini hanya dapat diterapkan pada layanan yang memiliki resource yang merupakan turunan langsung dari resource organisasi, folder, atau project. Misalnya, Compute Engine dan Cloud Storage.

Batasan Batasi Penggunaan Layanan Resource mengecualikan dan tidak akan berfungsi dengan layanan tertentu yang merupakan dependensi penting untuk produk Google Cloud, seperti Identity and Access Management (IAM), Cloud Logging, dan Cloud Monitoring. Untuk daftar layanan resource cloud yang didukung oleh batasan ini, lihat Membatasi layanan yang didukung penggunaan resource.

Administrator dapat menggunakan batasan ini untuk menentukan batasan hierarkis pada layanan resource Google Cloud yang diizinkan dalam container resource, seperti organisasi, folder, atau project. Misalnya, izinkan storage.googleapis.com dalam project X, atau tolak compute.googleapis.com dalam folder Y.

Batasan Restrict Resource Service Usage dapat digunakan dalam dua cara yang saling eksklusif:

  • Daftar yang ditolak - sumber layanan apa pun yang tidak ditolak diperbolehkan.

  • Daftar yang diizinkan - resource layanan apa pun yang tidak diizinkan akan ditolak.

Batasan Batasi Penggunaan Layanan Resource mengontrol akses runtime ke semua resource dalam cakupan. Saat kebijakan organisasi yang berisi batasan ini diperbarui, batasan tersebut segera berlaku untuk semua akses ke semua akses ke semua resource dalam cakupan kebijakan tersebut, dengan konsistensi tertunda.

Sebaiknya administrator mengelola pembaruan pada kebijakan organisasi yang berisi batasan ini dengan cermat. Anda dapat meluncurkan perubahan kebijakan ini secara lebih aman dengan menggunakan tag untuk menerapkan batasan secara bersyarat. Untuk informasi selengkapnya, lihat Menetapkan kebijakan organisasi dengan tag.

Jika layanan dibatasi oleh kebijakan ini, beberapa layanan Google Cloud yang memiliki dependensi langsung pada layanan yang dibatasi juga akan dibatasi. Ini hanya berlaku untuk layanan yang mengelola resource pelanggan yang sama. Misalnya, Google Kubernetes Engine (GKE) memiliki dependensi pada Compute Engine. Jika Compute Engine dibatasi, GKE juga akan dibatasi.

Menggunakan batasan Batasi Penggunaan Layanan Resource

Batasan kebijakan organisasi dapat ditetapkan di level organisasi, folder, dan project. Setiap kebijakan berlaku untuk semua resource dalam hierarki resource-nya yang sesuai, tetapi dapat diganti pada tingkat yang lebih rendah dalam hierarki resource.

Untuk mengetahui informasi selengkapnya tentang evaluasi kebijakan, baca artikel Memahami Evaluasi Hierarki.

Menetapkan kebijakan organisasi

Untuk menetapkan, mengubah, atau menghapus kebijakan organisasi, Anda harus memiliki peran Administrator Kebijakan Organisasi.

Konsol

Untuk menetapkan kebijakan organisasi yang menyertakan batasan Batasi Penggunaan Layanan Resource, lakukan tindakan berikut:

  1. Di konsol Google Cloud, buka halaman Organization policies.

    Buka Organization policies

  2. Dari pemilih project, pilih resource tempat Anda ingin menetapkan kebijakan organisasi.

  3. Di tabel kebijakan organisasi, pilih Batasi Penggunaan Layanan Resource.

  4. Klik Manage Policy.

  5. Di bagian Berlaku untuk, pilih Ganti kebijakan induk.

  6. Di bagian Penegakan kebijakan, pilih cara menerapkan pewarisan ke kebijakan ini.

    1. Jika Anda ingin mewarisi kebijakan organisasi resource induk dan menggabungkannya dengan resource ini, pilih Merge with parent.

    2. Jika Anda ingin mengganti kebijakan organisasi yang ada, pilih Replace.

  7. Klik Tambahkan aturan.

  8. Di bagian Policy values, pilih Custom.

  9. Di bagian Jenis kebijakan, pilih Tolak untuk daftar tolak atau Izinkan untuk daftar yang diizinkan.

  10. Di bagian Nilai kustom, tambahkan layanan yang ingin Anda blokir atau izinkan ke dalam daftar.

    1. Misalnya, untuk memblokir Cloud Storage, Anda dapat memasukkan storage.googleapis.com.

    2. Untuk menambahkan layanan lainnya, klik Tambahkan nilai.

  11. Untuk menerapkan kebijakan, klik Tetapkan kebijakan.

gcloud

Kebijakan organisasi dapat ditetapkan melalui Google Cloud CLI. Untuk menerapkan kebijakan organisasi yang menyertakan batasan Batasi Penggunaan Layanan Resource, buat file YAML terlebih dahulu dengan kebijakan yang akan diperbarui:

name: organizations/ORGANIZATION_ID/policies/gcp.restrictServiceUsage
spec:
   rules:
   - values:
       deniedValues:
       - file.googleapis.com
       - bigquery.googleapis.com
       - storage.googleapis.com

Ganti ORGANIZATION_ID dengan ID fasilitas organisasi Anda. Untuk menetapkan kebijakan ini pada resource, jalankan perintah berikut:

gcloud beta resource-manager org-policies set-policy \
  --project='PROJECT_ID' /tmp/policy.yaml

Ganti PROJECT_ID dengan project ID resource tempat Anda ingin menerapkan kebijakan organisasi ini.

Untuk mempelajari cara menggunakan batasan dalam kebijakan organisasi, lihat Menggunakan Batasan.

Membatasi resource yang tidak diberi tag

Anda dapat menggunakan tag dan kebijakan organisasi bersyarat untuk membatasi resource apa pun yang tidak menggunakan tag tertentu. Jika Anda menetapkan kebijakan organisasi pada resource yang membatasi layanan dan menjadikannya kondisional pada keberadaan tag, tidak ada resource turunan yang berasal dari resource tersebut yang dapat digunakan kecuali jika resource tersebut telah diberi tag. Dengan cara ini, resource harus disiapkan sesuai dengan rencana tata kelola Anda sebelum dapat digunakan.

Untuk membatasi organisasi, folder, atau resource project yang tidak diberi tag, Anda dapat menggunakan operator logis ! dalam kueri kondisional saat membuat kebijakan organisasi.

Misalnya, untuk mengizinkan penggunaan sqladmin.googleapis.com hanya dalam project yang memiliki tag sqladmin=enabled, Anda dapat membuat kebijakan organisasi yang menolak sqladmin.googleapis.com pada project yang tidak memiliki tag sqladmin=enabled.

  1. Buat tag yang mengidentifikasi apakah resource telah menerapkan tata kelola yang tepat. Misalnya, Anda dapat membuat tag dengan kunci sqlAdmin dan nilai enabled, untuk menetapkan bahwa resource ini harus mengizinkan penggunaan Cloud SQL Admin API. Contoh:

    Membuat kunci dan nilai tag

  2. Klik nama tag yang baru dibuat. Anda memerlukan nama dengan namespace kunci tag, yang tercantum di bagian Jalur kunci tag, pada langkah berikutnya untuk membuat kondisi.

  3. Buat kebijakan organisasi Batasi Penggunaan Layanan Resource di level resource organisasi untuk menolak akses ke Cloud SQL Admin API. Contoh:

    Membuat kebijakan organisasi untuk membatasi resource

  4. Tambahkan kondisi ke kebijakan organisasi di atas, yang menentukan bahwa kebijakan diterapkan jika tag tata kelola tidak ada. Operator NOT logis tidak didukung oleh pembuat kondisi, sehingga kondisi ini harus dibangun di editor kondisi. Contoh:

    Membuat kebijakan organisasi bersyarat

    !resource.matchTag("012345678901/sqlAdmin", "enabled")

Sekarang, tag sqlAdmin=enabled harus dilampirkan ke atau diwarisi oleh project, sebelum developer dapat menggunakan Cloud SQL Admin API dengan project tersebut.

Untuk informasi selengkapnya tentang cara membuat kebijakan organisasi bersyarat, lihat Menetapkan kebijakan organisasi dengan tag.

Membuat kebijakan organisasi dalam mode uji coba

Kebijakan organisasi dalam mode uji coba adalah jenis kebijakan organisasi yang pelanggaran kebijakannya dicatat ke dalam log audit, tetapi tindakan yang melanggar tidak ditolak. Anda dapat membuat kebijakan organisasi dalam mode uji coba menggunakan batasan Batasi Penggunaan Layanan Resource untuk memantau pengaruhnya terhadap organisasi sebelum menerapkan kebijakan live. Untuk mengetahui informasi selengkapnya, lihat Membuat kebijakan organisasi dalam mode uji coba.

Pesan error

Jika Anda menetapkan kebijakan organisasi untuk menolak layanan A dalam hierarki resource B, operasi akan gagal saat klien mencoba menggunakan layanan A dalam hierarki resource B. Error akan ditampilkan yang menjelaskan alasan kegagalan ini. Selain itu, entri AuditLog akan dibuat untuk pemantauan, pemberitahuan, atau proses debug lebih lanjut.

Contoh pesan error

Request is disallowed by organization's constraints/gcp.restrictServiceUsage
constraint for projects/PROJECT_ID attempting to use service
storage.googleapis.com.

Contoh Log Audit Cloud

Screenshot contoh entri Log Audit