Halaman ini menjelaskan cara membuat, menyiapkan, dan mengelola batasan khusus di Cloud SQL instance Compute Engine. Untuk ringkasan kebijakan organisasi kustom, lihat kebijakan organisasi kustom.
Sebelum memulai
- Login ke akun Google Cloud Anda. Jika Anda baru menggunakan Google Cloud, buat akun untuk mengevaluasi performa produk kami dalam skenario dunia nyata. Pelanggan baru juga mendapatkan kredit gratis senilai $300 untuk menjalankan, menguji, dan men-deploy workload.
-
Di konsol Google Cloud, pada halaman pemilih project, pilih atau buat project Google Cloud.
-
Pastikan penagihan telah diaktifkan untuk project Google Cloud Anda.
- Menginstal Google Cloud CLI.
-
Untuk initialize gcloud CLI, jalankan perintah berikut:
gcloud init
-
Di konsol Google Cloud, pada halaman pemilih project, pilih atau buat project Google Cloud.
-
Pastikan penagihan telah diaktifkan untuk project Google Cloud Anda.
- Menginstal Google Cloud CLI.
-
Untuk initialize gcloud CLI, jalankan perintah berikut:
gcloud init
- Tambahkan peran Administrator Kebijakan Organisasi
(
roles/orgpolicy.policyAdmin
) ke akun pengguna atau layanan Anda dari halaman IAM & Admin. - Lihat Pembatasan sebelum melakukan prosedur ini.
Kolom yang didukung untuk batasan kustom
Anda dapat menetapkan batasan khusus pada kolom berikut:
Kolom | Contoh kasus penggunaan |
SqlDatabaseVersion | Menerapkan penggunaan versi database tertentu |
region | Membatasi pembuatan instance ke region tertentu |
availabilityType | Menerapkan ketersediaan tinggi |
ipConfiguration > {i>pscConfig ><i} allowedConsumerProjects | Membatasi daftar yang diizinkan untuk project konsumen di PSC ke project tertentu |
ipConfiguration > sslMode | Terapkan mode SSL menjadi ENCRYPTED_ONLY atau TRUSTED_CLIENT_CERTIFICATE_REQUIRED . Anda tidak dapat memilih mode SSL saat membuat instance Cloud SQL di konsol Google Cloud. Jadi, jika membuat kebijakan organisasi kustom ini, Anda perlu membuat instance Cloud SQL menggunakan gcloud CLI, API, atau Terraform.
|
dataDiskType | Menerapkan penggunaan SSD atau HDD |
backupConfiguration > lokasi | Membatasi lokasi cadangan otomatis ke lokasi tertentu |
backupConfiguration > pointInTimeRecoveryEnabled | Terapkan semua instance untuk mengaktifkan PITR |
backupConfiguration > transactionLogRetentionDays | Terapkan semua instance untuk menggunakan periode retensi data tertentu untuk retensi log transaksi |
backupConfiguration > backupRetensiSettings > retentionUnit | Terapkan hari retensi pada semua cadangan |
passwordValidationPolicy > minLength | Menerapkan kebijakan sandi untuk panjang minimum |
passwordValidationPolicy > kompleksitas | Menerapkan kebijakan sandi untuk kerumitan |
passwordValidationPolicy > reuseInterval | Menerapkan kebijakan sandi untuk interval penggunaan ulang tertentu |
passwordValidationPolicy > disallowUsernameSubstring | Terapkan kebijakan sandi untuk tidak mengizinkan nama pengguna sebagai sandi |
Edisi | Terapkan semua instance untuk menggunakan edisi Enterprise Plus |
connectorEnforcement | Wajibkan semua koneksi untuk menggunakan konektor Cloud SQL |
dataCacheConfig | Wajibkan semua instance untuk menggunakan Cache Data |
Membuat dan menyiapkan batasan kustom
Batasan khusus ditentukan dalam file YAML menggunakan resource, metode, kondisi, dan tindakan yang didukung oleh layanan tempat Anda menegakkan kebijakan organisasi. Kondisi untuk batasan kustom Anda ditentukan menggunakan Common Expression Language (CEL). Untuk informasi selengkapnya tentang cara membangun kondisi dalam batasan khusus menggunakan CEL, lihat Bahasa Ekspresi Umum.
Konsol
Di konsol Google Cloud, buka halaman Organization policies.
Pilih pemilih project di bagian atas halaman.
Dari pemilih project, pilih resource yang Anda inginkan untuk menetapkan kebijakan organisasi.
Klik
Custom constraint.Di kotak Display name, masukkan nama untuk batasan. Kolom ini memiliki panjang maksimal 200 karakter.
Di kotak Constraint ID, masukkan nama yang diinginkan untuk batasan kustom baru. Batasan khusus harus diawali dengan
custom.
, dan dapat hanya berisi huruf besar, huruf kecil, atau angka, untuk contoh,custom.requireCloudSqlPasswordMinLength
. Panjang maksimum kolom ini panjangnya 70 karakter, misalnya belum termasuk awalanorganizations/123456789/customConstraints/custom.
.Di kotak Description, masukkan deskripsi batasan yang mudah dipahami untuk ditampilkan sebagai pesan error saat kebijakan dilanggar. Kolom ini memiliki panjang maksimal 2000 karakter.
Di kotak Resource type, pilih nama Google Cloud Resource REST yang berisi objek dan kolom yang ingin Anda batasi untuk contoh,
sqladmin.googleapis.com/Instance
. Maksimum adalah 20 serta membuat batasan khusus per jenis resource. Jika Anda mencoba membuat untuk jenis resource yang sudah memiliki 20 batasan khusus, maka operasi akan gagal.Di bagian Metode penerapan, pilih apakah akan menerapkan batasan pada metode
CREATE
REST, atau pada metodeCREATE
danUPDATE
.Edit kondisi, lalu lakukan tindakan berikut:
Di panel Add condition, buat kondisi CEL yang mengacu pada resource layanan yang didukung, misalnya
resource.settings.passwordValidationPolicy.minLength > 10
. Kolom ini memiliki panjang maksimal 1000 karakter. Untuk mengetahui detail tentang penggunaan CEL, lihat Common Expression Language. Untuk selengkapnya informasi tentang resource layanan yang dapat Anda gunakan dalam batasan kustom, lihat Layanan yang didukung batasan kustom.Klik Simpan.
Di bagian Tindakan, pilih apakah akan mengizinkan atau menolak metode yang dievaluasi jika kondisi sebelumnya terpenuhi.
Tolak memblokir operasi untuk membuat atau mengupdate resource jika kondisi bernilai benar (true).
Izinkan akan mengizinkan operasi untuk membuat atau memperbarui resource jika kondisi tersebut bernilai true. Setiap kasus lain kecuali yang secara eksplisit tercantum dalam kondisi yang diblokir.
Klik Create constraint.
Setelah Anda memasukkan nilai ke setiap kolom, konfigurasi YAML yang setara untuk batasan kustom ini akan muncul di sebelah kanan.
gcloud
Guna membuat file YAML untuk batasan kustom, gunakan format berikut:
name: organizations/ORGANIZATION_ID/customConstraints/CONSTRAINT_NAME
resourceTypes:
- container.googleapis.com/RESOURCE_NAME
methodTypes:
- CREATE
- UPDATE
condition: "CONDITION"
actionType: ACTION
displayName: DISPLAY_NAME
description: DESCRIPTION
Ganti kode berikut:
ORGANIZATION_ID
: ID organisasi Anda, seperti123456789
.CONSTRAINT_NAME
: nama yang Anda inginkan untuk batasan kustom baru. Batasan khusus harus diawali dengancustom.
, dan dapat hanya berisi huruf besar, huruf kecil, atau angka, untuk misalnya, custom.enableGkeAutopilot. Panjang maksimum kolom ini adalah 70 karakter, tidak termasuk awalan. Misalnya,organizations/123456789/customConstraints/custom
.RESOURCE_NAME
: nama (bukan URI) resource REST GKE API yang berisi objek dan kolom yang ingin Anda batasi. Contoh,Cluster
.CONDITION
: kondisi CEL yang ditulis berdasarkan representasi resource layanan yang didukung. Ini memiliki panjang maksimal 1000 karakter.ACTION
: tindakan yang akan diambil jikacondition
terpenuhi. Ini dapat berupaALLOW
atauDENY
.Tolak memblokir operasi untuk membuat atau mengupdate resource jika kondisi bernilai benar (true).
Allow mengizinkan operasi untuk membuat atau memperbarui resource jika kondisi bernilai benar. Setiap kasus lain kecuali yang tercantum secara eksplisit dalam kondisi akan diblokir.
DISPLAY_NAME
: nama untuk batasan. Kolom ini memiliki panjang maksimal 200 karakter.DESCRIPTION
: deskripsi ditampilkan sebagai pesan error ketika kebijakan dilanggar. Ini memiliki panjang maksimal 2000 karakter.
gcloud org-policies set-custom-constraint
:
gcloud org-policies set-custom-constraint CONSTRAINT_PATH
CONSTRAINT_PATH
dengan jalur lengkap ke file batasan kustom Anda. Contohnya, /home/user/customconstraint.yaml
Setelah selesai, Anda akan menemukan batasan khusus sebagai kebijakan organisasi yang tersedia
dalam daftar kebijakan organisasi Google Cloud Anda.
Untuk memverifikasi bahwa ada batasan kustom, gunakan perintah gcloud org-policies list-custom-constraints
:
gcloud org-policies list-custom-constraints --organization=ORGANIZATION_ID
ORGANIZATION_ID
dengan ID resource organisasi Anda.
Untuk informasi selengkapnya, lihat
Melihat kebijakan organisasi.Menerapkan kebijakan organisasi khusus
Setelah disiapkan, batasan kustom akan beroperasi identik dengan batasan boolean. Google Cloud memeriksa batasan kustom terlebih dahulu saat mengevaluasi apakah permintaan pengguna diizinkan. Jika salah satu organisasi khusus kebijakan menolak permintaan, maka permintaan tersebut akan ditolak. Lalu, Google Cloud pemeriksaan kebijakan organisasi yang telah ditetapkan sebelumnya, yang diberlakukan pada resource tersebut.
Anda dapat menerapkan batasan boolean dengan membuat kebijakan organisasi yang mereferensikannya, dan menerapkan kebijakan organisasi tersebut ke resource Google Cloud.Konsol
Untuk menerapkan batasan boolean:
- Di konsol Google Cloud, buka halaman Organization policies.
- Pilih pemilih project di bagian atas halaman.
- Dari pemilih project, pilih project yang ingin Anda setel kebijakan organisasi.
- Pilih batasan dari daftar di halaman Organization policies. Halaman Policy details untuk batasan tersebut akan muncul.
- Untuk mengonfigurasi kebijakan organisasi untuk resource ini, klik Manage policy.
- Di halaman Edit policy, pilih Override parent's policy.
- Klik Add a rule.
- Di bagian Enforcement, pilih apakah penerapan kebijakan organisasi ini harus diaktifkan atau dinonaktifkan.
- Secara opsional, untuk membuat kebijakan organisasi bersyarat pada tag, klik Add condition. Perhatikan bahwa jika menambahkan aturan kondisional ke kebijakan organisasi, Anda harus menambahkan setidaknya satu aturan tanpa syarat atau kebijakan tidak dapat disimpan. Untuk detail selengkapnya, lihat Menetapkan kebijakan organisasi dengan tag.
- Jika ini adalah batasan khusus, Anda dapat mengklik Uji perubahan untuk menyimulasikan pengaruh kebijakan organisasi ini. Untuk informasi selengkapnya, lihat Uji perubahan kebijakan organisasi dengan Policy Simulator.
- Untuk menyelesaikan dan menerapkan kebijakan organisasi, klik Tetapkan kebijakan. Kebijakan ini akan memerlukan waktu hingga 15 menit untuk diterapkan.
gcloud
Untuk membuat kebijakan organisasi yang menerapkan batasan boolean, buat file YAML kebijakan yang merujuk batasan tersebut:
name: projects/PROJECT_ID/policies/CONSTRAINT_NAME spec: rules: - enforce: true
Ganti kode berikut:
-
PROJECT_ID
: project tempat Anda ingin menerapkan batasan. -
CONSTRAINT_NAME
: nama yang Anda tentukan untuk batasan kustom. Contoh,custom.enableGkeAutopilot
Untuk menerapkan kebijakan organisasi yang berisi batasan, jalankan perintah berikut:
gcloud org-policies set-policy POLICY_PATH
Ganti POLICY_PATH
dengan jalur lengkap ke file YAML kebijakan organisasi Anda. Kebijakan ini memerlukan waktu hingga 15 menit untuk diterapkan.
Memperbarui batasan kustom
Anda dapat memperbarui batasan kustom dengan mengedit batasan di
Konsol Google Cloud, atau dengan membuat file YAML baru dan menggunakan
Perintah gcloud CLI set-custom-constraint
lagi. Tidak ada
pembuatan versi batasan kustom, sehingga akan menimpa
batasan data. Jika batasan kustom sudah diterapkan, kustom yang diperbarui
batasan ini akan segera diterapkan.
Konsol
Di konsol Google Cloud, buka halaman Organization policies.
Pilih pemilih project di bagian atas halaman.
Dari pemilih project, pilih resource yang ingin Anda perbarui kebijakan organisasinya.
Pilih batasan yang ingin Anda edit dari daftar di Halaman Kebijakan organisasi. Halaman Detail kebijakan untuk kebijakan tersebut pembatas seharusnya muncul.
Klik
Edit constraint.Buat perubahan pada nama tampilan, deskripsi, metode penerapan, kondisi, dan tindakan. Anda tidak dapat mengubah resource atau ID batasan ketik setelah batasan dibuat.
Klik Simpan perubahan.
gcloud
Untuk mengedit batasan kustom yang ada menggunakan gcloud CLI, buat file YAML baru yang berisi perubahan yang ingin Anda buat:
name: organizations/ORGANIZATION_ID/customConstraints/CONSTRAINT_NAME
resourceTypes:
- RESOURCE_NAME
methodTypes:
- METHOD1
- METHOD2
condition: "CONDITION"
actionType: ACTION
displayName: DISPLAY_NAME
description: DESCRIPTION
Ganti kode berikut:
ORGANIZATION_ID
: ID organisasi Anda, seperti123456789
.CONSTRAINT_NAME
: nama yang Anda inginkan untuk batasan kustom baru. Batasan khusus harus diawali dengancustom.
, dan dapat hanya berisi huruf besar, huruf kecil, atau angka, untuk contoh,custom.disableGkeAutoUpgrade
. Panjang maksimum kolom ini adalah 70 karakter, tidak menghitung awalan, misalnya,organizations/123456789/customConstraints/custom.
.RESOURCE_NAME
: nama yang sepenuhnya memenuhi syarat Resource REST Google Cloud yang berisi objek dan kolom yang ingin Anda membatasi. Contoh,container.googleapis.com/NodePool
. Untuk selengkapnya informasi tentang resource layanan yang dapat Anda gunakan dalam batasan kustom, lihat Layanan yang didukung batasan kustom.METHOD1,METHOD2
: daftar Metode RESTful yang akan menerapkan batasan. Dapat berupaCREATE
atauCREATE
danUPDATE
. Tidak semua layanan Google Cloud mendukung kedua metode tersebut. Kepada melihat metode yang didukung untuk setiap layanan, menemukan layanan di Layanan yang didukung.CONDITION
: kondisi CEL yang mengacu pada resource layanan yang didukung, misalnya"resource.management.autoUpgrade == false"
. Kolom ini memiliki panjang maksimal 1000 karakter. Untuk mengetahui detail tentang penggunaan CEL, lihat Common Expression Language.ACTION
: tindakan yang akan diambil jikacondition
terpenuhi. Ini dapat berupaALLOW
atauDENY
.DISPLAY_NAME
: nama untuk batasan data. Kolom ini memiliki panjang maksimal 200 karakter.DESCRIPTION
: deskripsi batasan yang mudah dipahami untuk ditampilkan sebagai pesan error saat kebijakan dilanggar. Kolom ini memiliki panjang maksimal 2.000 karakter.
Setelah membuat batasan kustom baru menggunakan gcloud CLI, Anda harus menyiapkannya untuk membuat
yang tersedia untuk kebijakan
organisasi di organisasi Anda. Untuk menyiapkan batasan khusus, gunakan
perintah gcloud org-policies set-custom-constraint
:
gcloud org-policies set-custom-constraint CONSTRAINT_PATH
CONSTRAINT_PATH
dengan jalur lengkap ke
file batasan kustom. Contohnya, /home/user/customconstraint.yaml
Setelah selesai, Anda akan menemukan batasan khusus sebagai kebijakan organisasi yang tersedia
dalam daftar kebijakan organisasi Google Cloud Anda.
Untuk memverifikasi bahwa batasan khusus ada, gunakan
Perintah gcloud org-policies list-custom-constraints
:
gcloud org-policies list-custom-constraints --organization=ORGANIZATION_ID
ORGANIZATION_ID
dengan ID resource organisasi Anda.
Untuk informasi selengkapnya, lihat
Melihat kebijakan organisasi.Menghapus batasan kustom
Anda dapat menghapus batasan kustom menggunakan Konsol Google Cloud atau gcloud CLI.
Konsol
Di konsol Google Cloud, buka halaman Organization policies.
Pilih pemilih project di bagian atas halaman.
Dari pemilih project, pilih resource yang Anda inginkan untuk menghapus kebijakan organisasi.
Pilih batasan yang ingin Anda hapus dari daftar di Halaman Kebijakan organisasi. Halaman Detail kebijakan untuk kebijakan tersebut pembatas seharusnya muncul.
Klik
Delete.Untuk mengonfirmasi bahwa Anda ingin menghapus batasan, klik Delete.
gcloud
Untuk menghapus batasan kustom, gunakan org-policies delete-custom-constraint
Perintah gcloud CLI:
gcloud org-policies delete-custom-constraint custom.CONSTRAINT_NAME \
--organization=ORGANIZATION_ID
Ganti kode berikut:
ORGANIZATION_ID
: ID organisasi Anda, seperti123456789
.CONSTRAINT_NAME
: nama kustom Anda batasan data. Contoh,
.custom.disableGkeAutoUpgrade
Outputnya mirip dengan hal berikut ini:
Deleted custom constraint [organizations/123456789/customConstraints/custom.disableGkeAutoUpgrade
]
Jika Anda menghapus batasan khusus, semua kebijakan yang telah dibuat menggunakan batasan tersebut tetap ada, tetapi diabaikan. Anda tidak dapat membuat batasan kustom lain dengan nama yang sama seperti batasan kustom yang dihapus.
Contoh: Menggunakan batasan kustom untuk menerapkan penggunaan SSD, bukan HDD
Buat file
dataDiskType.yaml
, sebagai berikut:name: organizations/651333429324/customConstraints/custom.dataDiskType resourceTypes: - sqladmin.googleapis.com/Instance methodTypes: - CREATE - UPDATE condition: resource.settings.dataDiskType == "PD_SSD" actionType: ALLOW displayName: dataDiskType must be PD_SDD description: dataDiskType must be PD_SSD
Tindakan ini memastikan bahwa semua metode
CREATE
danUPDATE
pada instance memenuhi batasandataDiskType
menjadiSSD
. Akibatnya, setiap instance yang melibatkanHDD
akan ditolak.Siapkan batasan kustom di tingkat organisasi:
gcloud org-policies set-custom-constraint dataDiskType.yaml
Membuat `enforceDataDiskType.yaml' sebagai berikut:
name: projects/custom-constraints-cloudsql3/policies/custom.dataDiskType spec: rules: - enforce: true
Terapkan batasan khusus di level project:
gcloud org-policies set-policy enforceDataDiskType.yaml
Langkah selanjutnya
- Pelajari Kebijakan organisasi.
- Pelajari cara kerja IP pribadi dengan Cloud SQL.
- Pelajari cara mengonfigurasi IP pribadi untuk Cloud SQL.
- Pelajari layanan kebijakan organisasi.
- Pelajari batasan kebijakan organisasi.
- Pelajari cara membuat dan mengelola kebijakan organisasi kustom