Mengelola tag kebijakan di seluruh lokasi

Dokumen ini menjelaskan cara mengelola tag kebijakan di seluruh lokasi regional untuk keamanan tingkat kolom dan data masking dinamis di BigQuery.

BigQuery menyediakan kontrol akses yang mendetail dan data masking dinamis untuk kolom tabel sensitif melalui tag kebijakan, yang mendukung klasifikasi data berbasis jenis.

Setelah membuat taksonomi klasifikasi data dan menerapkan tag kebijakan ke data, Anda dapat mengelola tag kebijakan lebih lanjut di seluruh lokasi.

Pertimbangan lokasi

Taksonomi adalah resource regional, seperti set data dan tabel BigQuery. Saat membuat taksonomi, Anda menentukan region, atau lokasi, untuk taksonomi tersebut.

Anda dapat membuat taksonomi dan menerapkan tag kebijakan ke tabel di semua region tempat BigQuery tersedia. Namun, untuk menerapkan tag kebijakan dari taksonomi ke kolom tabel, taksonomi dan tabel harus ada di lokasi regional yang sama.

Meskipun tidak dapat menerapkan tag kebijakan ke kolom tabel yang ada di lokasi berbeda, Anda dapat menyalin taksonomi ke lokasi lain dengan mereplikasi-nya secara eksplisit di lokasi tersebut.

Menggunakan taksonomi di seluruh lokasi

Anda dapat secara eksplisit menyalin (atau mereplikasi) taksonomi dan definisi tag kebijakannya ke lokasi tambahan tanpa harus membuat taksonomi baru secara manual di setiap lokasi. Saat mereplikasi taksonomi, Anda dapat menggunakan tag kebijakan yang sama untuk keamanan tingkat kolom di beberapa lokasi, sehingga menyederhanakan pengelolaannya.

Saat Anda mereplikasinya, tag taksonomi dan kebijakan akan mempertahankan ID yang sama di setiap lokasi.

Tag taksonomi dan kebijakan dapat disinkronkan lagi, agar tetap terpadu di beberapa lokasi. Replikasi taksonomi secara eksplisit dilakukan dengan panggilan ke Data Catalog API. Sinkronisasi selanjutnya dari taksonomi replikasi menggunakan perintah API yang sama, yang menimpa taksonomi sebelumnya.

Untuk memfasilitasi sinkronisasi taksonomi, Anda dapat menggunakan Cloud Scheduler untuk melakukan sinkronisasi taksonomi di seluruh region secara berkala, baik secara terjadwal maupun dengan menekan tombol manual. Untuk menggunakan Cloud Scheduler, Anda perlu menyiapkan akun layanan.

Mereplikasi taksonomi di lokasi baru

Izin yang diperlukan

Kredensial pengguna atau akun layanan yang mereplikasi taksonomi harus memiliki peran Admin Tag Kebijakan Data Catalog.

Baca selengkapnya tentang cara memberikan peran Policy Tags Admin di Membatasi akses dengan keamanan tingkat kolom BigQuery.

Untuk mengetahui informasi lebih lanjut tentang peran dan izin IAM di BigQuery, lihat Peran dan izin yang telah ditetapkan.

Untuk mereplikasi taksonomi di seluruh lokasi:

API

Panggil metode projects.locations.taxonomies.import Data Catalog API, yang memberikan permintaan POST dan nama project tujuan dan lokasi di string HTTP.

POST https://datacatalog.googleapis.com/{parent}/taxonomies:import

Parameter jalur parent adalah project tujuan dan lokasi yang ingin Anda salin taksonominya. Contoh: projects/MyProject/locations/eu

Menyinkronkan taksonomi yang direplikasi

Untuk menyinkronkan taksonomi yang telah direplikasi di seluruh lokasi, ulangi panggilan Data Catalog API seperti yang dijelaskan dalam Mereplikasi taksonomi di lokasi baru.

Atau, Anda dapat menggunakan akun layanan dan Cloud Scheduler untuk menyinkronkan taksonomi pada jadwal yang ditentukan. Dengan menyiapkan akun layanan di Cloud Scheduler, Anda juga dapat memicu sinkronisasi on demand (tidak terjadwal) melalui halaman Cloud Scheduler di Konsol Google Cloud atau dengan Google Cloud CLI.

Menyinkronkan taksonomi yang direplikasi dengan Cloud Scheduler

Untuk menyinkronkan taksonomi replika di seluruh lokasi dengan Cloud Scheduler, Anda memerlukan akun layanan.

Akun layanan

Anda dapat memberikan izin untuk sinkronisasi replikasi ke akun layanan yang ada, atau membuat akun layanan baru.

Untuk membuat akun layanan baru, lihat Membuat akun layanan.

Izin yang diperlukan

  1. Akun layanan yang menyinkronkan taksonomi harus memiliki peran Admin Tag Kebijakan Data Catalog. Untuk mengetahui informasi selengkapnya, lihat Memberikan peran Admin Tag Kebijakan.

  2. Mengaktifkan Cloud Scheduler API

Menyiapkan sinkronisasi taksonomi dengan Cloud Scheduler

Untuk menyinkronkan taksonomi yang direplikasi di seluruh lokasi dengan Cloud Scheduler:

Konsol

Pertama, buat tugas sinkronisasi dan jadwalnya.

  1. Ikuti petunjuk untuk Membuat tugas di Cloud Scheduler.

  2. Untuk Frequency, isi interval yang Anda inginkan di antara sinkronisasi otomatis.

  3. Untuk Target, lihat petunjuk di bagian Membuat tugas penjadwal dengan autentikasi.

    Membuat tugas penjadwal bagian 2

Berikutnya, tambahkan autentikasi yang diperlukan untuk sinkronisasi terjadwal.

  1. Klik TAMPILKAN LAINNYA untuk menampilkan kolom autentikasi.

  2. Untuk header Auth, pilih "Tambahkan token OAuth".

  3. Tambahkan informasi akun layanan Anda.

  4. Untuk Cakupan, masukkan "https://www.googleapis.com/auth/cloud-platform".

  5. Klik Buat untuk menyimpan sinkronisasi terjadwal.

    Membuat tugas penjadwal bagian 2

Sekarang, uji apakah tugas tersebut sudah dikonfigurasi dengan benar.

  1. Setelah tugas dibuat, klik Jalankan sekarang untuk menguji tugas tersebut dikonfigurasi dengan benar. Selanjutnya, Cloud Scheduler akan memicu permintaan HTTP berdasarkan jadwal yang Anda tentukan.

    Menguji tugas penjadwal

gcloud

Sintaksis:

  gcloud scheduler jobs create http "JOB_ID" --schedule="FREQUENCY" --uri="URI" --oath-service-account-email="CLIENT_SERVICE_ACCOUNT_EMAIL" --time-zone="TIME_ZONE" --message-body-from-file="MESSAGE_BODY"
  

Ganti kode berikut:

  1. ${JOB_ID} adalah nama untuk tugas. Nama itu harus unik untuk project. Perlu diperhatikan bahwa Anda tidak dapat menggunakan kembali nama tugas dalam sebuah project meskipun menghapus tugas terkaitnya.
  2. ${FREQUENCY} adalah jadwal, yang juga disebut interval tugas, untuk seberapa sering tugas harus dijalankan. Misalnya, "setiap 3 jam". String yang Anda berikan di sini dapat berupa string apa pun yang kompatibel dengan crontab. Atau, developer yang sudah familier dengan cron App Engine lama dapat menggunakan sintaksis App Engine Cron.
  3. ${URI} adalah URL endpoint yang sepenuhnya memenuhi syarat.
  4. --oauth-service-account-email menentukan jenis token. Perhatikan bahwa Google API yang dihosting di *.googleapis.com memerlukan token OAuth.
  5. ${CLIENT_SERVICE_ACCOUNT_EMAIL} adalah email akun layanan klien.
  6. ${MESSAGE_BODY} adalah jalur ke file yang berisi isi permintaan POST.

Tersedia parameter opsi lainnya, yang dijelaskan dalam referensi Google Cloud CLI.

Contoh:

  gcloud scheduler jobs create http cross_regional_copy_to_eu_scheduler --schedule="0 0 1 * *" --uri="https://datacatalog.googleapis.com/v1/projects/my-project/locations/eu/taxonomies:import" --oauth-service-account-email="policytag-manager-service-acou@my-project.iam.gserviceaccount.com" --time-zone="America/Los_Angeles" --message-body-from-file=request_body.json
  

Langkah selanjutnya