Menyamarkan data kolom
Dokumen ini menunjukkan cara menerapkan penyamaran data untuk mengaburkan data sensitif secara selektif. Dengan mengimplementasikan penyamaran data, Anda dapat memberikan tingkat visibilitas yang berbeda ke berbagai grup pengguna. Untuk informasi umum, lihat Pengantar penyamaran data.
Anda menerapkan penyamaran data dengan menambahkan kebijakan data ke kolom. Untuk menambahkan kebijakan penyamaran data ke kolom, Anda harus menyelesaikan langkah-langkah berikut :
- Buat taksonomi dengan minimal satu tag kebijakan.
- Opsional: Berikan peran Data Catalog Fine-Grained Reader ke satu atau beberapa akun utama di satu atau beberapa tag kebijakan yang Anda buat.
- Buat hingga tiga kebijakan data untuk tag kebijakan guna memetakan aturan dan akun utama penyamaran (yang mewakili pengguna atau grup) ke tag tersebut.
- Tetapkan tag kebijakan di kolom. Cara ini memetakan kebijakan data yang terkait dengan tag kebijakan ke kolom yang dipilih.
- Tetapkan pengguna yang seharusnya memiliki akses ke data yang disamarkan ke peran BigQuery Masked Reader. Sebagai praktik terbaik, tetapkan peran BigQuery Masked Reader di tingkat kebijakan data. Menetapkan peran di tingkat project atau yang lebih tinggi akan memberi pengguna izin ke semua kebijakan data dalam project, yang dapat menyebabkan masalah yang disebabkan oleh izin yang berlebihan.
Anda dapat menggunakan konsol Google Cloud atau BigQuery Data Policy API untuk menggunakan kebijakan data.
Setelah Anda menyelesaikan langkah-langkah ini, pengguna yang menjalankan kueri terhadap kolom akan mendapatkan data yang tidak disamarkan, data yang disamarkan, atau error akses ditolak, bergantung pada grup tempat mereka berada dan peran yang telah diberikan kepada mereka. Untuk mengetahui informasi selengkapnya, lihat Cara peran Masked Reader dan Fine-Grained Reader berinteraksi.
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.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Make sure that billing is enabled for your Google Cloud project.
-
Enable the Data Catalog and BigQuery Data Policy APIs.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Make sure that billing is enabled for your Google Cloud project.
-
Enable the Data Catalog and BigQuery Data Policy APIs.
- BigQuery secara otomatis diaktifkan di project baru, tetapi Anda
mungkin harus mengaktifkannya di project yang sudah ada.
Enable the BigQuery API.
- Jika Anda membuat kebijakan data yang merujuk pada rutinitas penyamaran kustom, buat UDF penyamaran terkait sehingga tersedia dalam langkah-langkah berikut.
Membuat taksonomi
Pengguna atau akun layanan yang membuat taksonomi harus diberi peran Data Catalog Policy Tag Admin.
Konsol
- Buka halaman Policy tag taxonomies di Konsol Google Cloud.
- Klik Buat taksonomi.
Di halaman Taksonomi baru:
- Untuk Nama taksonomi, masukkan nama taksonomi yang ingin Anda buat.
- Untuk Deskripsi, masukkan deskripsi.
- Jika diperlukan, ubah project yang tercantum di bagian Project.
- Jika perlu, ubah lokasi yang tercantum di bagian Lokasi.
- Di bagian Tag Kebijakan, masukkan nama dan deskripsi tag kebijakan.
- Untuk menambahkan tag kebijakan turunan untuk tag kebijakan, klik Tambahkan subtag.
- Untuk menambahkan tag kebijakan baru di tingkat yang sama dengan tag kebijakan lainnya, klik + Tambahkan tag kebijakan.
- Terus tambahkan tag kebijakan dan tag kebijakan turunan sesuai kebutuhan untuk taksonomi Anda.
- Setelah selesai membuat tag kebijakan untuk hierarki Anda, klik Buat.
API
Untuk menggunakan taksonomi yang sudah ada, panggil
taxonomies.import
sebagai pengganti dua langkah pertama dari prosedur berikut.
- Panggil
taxonomies.create
untuk membuat taksonomi. - Panggil
taxonomies.policytag.create
untuk membuat tag kebijakan.
Menggunakan tag kebijakan
Untuk mengetahui informasi selengkapnya tentang cara menggunakan tag kebijakan, seperti cara melihat atau memperbaruinya, lihat Menggunakan tag kebijakan. Untuk praktik terbaik, baca Praktik terbaik untuk menggunakan tag kebijakan di BigQuery.
Membuat kebijakan data
Akun pengguna atau akun layanan yang membuat kebijakan data harus memiliki izin
bigquery.dataPolicies.create
, bigquery.dataPolicies.setIamPolicy
, dan
datacatalog.taxonomies.get
.
Izin bigquery.dataPolicies.create
dan bigquery.dataPolicies.setIamPolicy
tercakup dalam
peran BigQuery Data Policy Admin, BigQuery Admin, dan BigQuery Data Owner.
Izin datacatalog.taxonomies.get
disertakan dalam
peran Data Catalog Admin dan Data Catalog Viewer.
Jika Anda membuat kebijakan data yang merujuk pada rutinitas penyamaran kustom, Anda juga memerlukan izin rutinitas.
Jika masking kustom, berikan peran BigQuery Admin atau BigQuery Data Owner kepada pengguna untuk memastikan mereka memiliki izin yang diperlukan untuk rutinitas dan kebijakan data.
Anda dapat membuat hingga sembilan kebijakan data untuk satu tag kebijakan. Salah satu kebijakan ini dikhususkan untuk setelan kontrol akses level kolom.
Konsol
- Buka halaman Policy tag taxonomies di Konsol Google Cloud.
- Klik nama taksonomi yang akan dibuka.
- Pilih tag kebijakan.
- Klik Kelola Kebijakan Data.
- Untuk Nama Kebijakan Data, ketik nama untuk kebijakan data. Nama kebijakan data harus unik dalam project tempat kebijakan data berada.
- Untuk Aturan Penyamaran, pilih aturan penyamaran yang telah ditentukan atau rutinitas
penyamaran kustom. Jika Anda memilih rutinitas penyamaran kustom, pastikan
Anda memiliki izin
bigquery.routines.get
danbigquery.routines.list
di level project. - Untuk Akun utama, ketik nama satu atau beberapa pengguna atau grup yang ingin Anda beri akses yang disamarkan ke kolom. Perlu diperhatikan bahwa semua pengguna dan grup yang Anda masukkan di sini diberi peran BigQuery Masked Reader.
- Klik Submit.
API
Panggil metode
create
. Teruskan resourceDataPolicy
yang memenuhi persyaratan berikut:- Kolom
dataPolicyType
ditetapkan keDATA_MASKING_POLICY
. - Kolom
dataMaskingPolicy
mengidentifikasi aturan atau rutinitas penyamaran data yang akan digunakan. - Kolom
dataPolicyId
memberikan nama untuk kebijakan data yang bersifat unik dalam project tempat kebijakan data berada.
- Kolom
Panggil metode
setIamPolicy
dan teruskanPolicy
.Policy
harus mengidentifikasi akun utama yang diberi akses ke data yang disamarkan, dan menentukanroles/bigquerydatapolicy.maskedReader
untuk kolomrole
.
Menetapkan tag kebijakan di kolom
Tetapkan kebijakan data pada kolom dengan melampirkan tag kebijakan yang terkait dengan kebijakan data ke kolom tersebut.
Pengguna atau akun layanan yang menetapkan tag kebijakan memerlukan
izin datacatalog.taxonomies.get
dan bigquery.tables.setCategory
.
datacatalog.taxonomies.get
disertakan dalam peran
Data Catalog Policy Tags Admin dan Project Viewer.
bigquery.tables.setCategory
disertakan dalam
peran BigQuery Admin (roles/bigquery.admin
) dan
BigQuery Data Owner (roles/bigquery.dataOwner
).
Untuk melihat taksonomi dan tag kebijakan di semua project dalam organisasi di konsol Google Cloud, pengguna memerlukan izin resourcemanager.organizations.get
, yang disertakan dalam peran Organization Viewer.
Konsol
Tetapkan tag kebijakan dengan mengubah skema menggunakan konsol Google Cloud.
Buka halaman BigQuery di konsol Google Cloud.
Di BigQuery Explorer, temukan dan pilih tabel yang ingin Anda perbarui. Skema tabel untuk tabel tersebut akan terbuka.
Klik Edit Skema.
Di layar Skema saat ini, pilih kolom target, lalu klik Tambahkan tag kebijakan.
Di layar Tambahkan tag kebijakan, temukan dan pilih tag kebijakan yang ingin Anda terapkan ke kolom.
Klik Select. Layar Anda akan terlihat seperti berikut:
Klik Simpan.
bq
Menulis skema ke file lokal.
bq show --schema --format=prettyjson \ project-id:dataset.table > schema.json
dengan:
- project-id adalah project ID Anda.
- dataset adalah nama set data yang berisi tabel yang Anda perbarui.
- table adalah nama tabel yang Anda perbarui.
Mengubah schema.json untuk menetapkan tag kebijakan pada kolom. Untuk nilai kolom
names
daripolicyTags
, gunakan nama resource tag kebijakan.[ ... { "name": "ssn", "type": "STRING", "mode": "REQUIRED", "policyTags": { "names": ["projects/project-id/locations/location/taxonomies/taxonomy-id/policyTags/policytag-id"] } }, ... ]
Perbarui skema.
bq update \ project-id:dataset.table schema.json
API
Untuk tabel yang sudah ada, panggil tables.patch
, atau untuk tabel baru, panggil
tables.insert
. Gunakan
properti schema
objek Table
yang Anda teruskan
untuk menetapkan tag kebijakan dalam definisi skema Anda. Lihat skema contoh command line
untuk melihat cara menetapkan tag kebijakan.
Saat menangani tabel yang sudah ada, metode tables.patch
lebih disarankan,
karena metode tables.update
menggantikan seluruh resource tabel.
Terapkan kontrol akses
Saat Anda membuat kebijakan data untuk tag kebijakan, kontrol akses akan otomatis diterapkan. Semua kolom yang memiliki tag kebijakan tersebut menerapkan data yang disamarkan sebagai respons terhadap kueri dari pengguna yang memiliki peran Masked Reader.
Untuk menghentikan penerapan kontrol akses, Anda harus menghapus semua kebijakan data yang terkait dengan tag kebijakan dalam taksonomi terlebih dahulu. Untuk mengetahui informasi selengkapnya, lihat Menerapkan kontrol akses.
Memeriksa izin IAM pada kebijakan data
Untuk melihat izin yang Anda miliki pada kebijakan data, panggil
metode
testIamPermissions
.
Memperbarui kebijakan data
Pengguna atau akun layanan yang memperbarui kebijakan data harus memiliki
izin bigquery.dataPolicies.update
.
Jika memperbarui tag kebijakan yang terkait dengan kebijakan data, Anda juga
memerlukan izin datacatalog.taxonomies.get
.
Jika Anda memperbarui akun utama yang terkait dengan kebijakan data, Anda
memerlukan izin bigquery.dataPolicies.setIamPolicy
.
Izin bigquery.dataPolicies.update
dan bigquery.dataPolicies.setIamPolicy
tercakup dalam
peran BigQuery Data Policy Admin, BigQuery Admin, dan BigQuery Data Owner.
Izin datacatalog.taxonomies.get
disertakan dalam
peran Data Catalog Admin dan Data Catalog Viewer.
Konsol
- Buka halaman Policy tag taxonomies di Konsol Google Cloud.
- Klik nama taksonomi yang akan dibuka.
- Pilih tag kebijakan.
- Klik Kelola Kebijakan Data.
- Jika ingin, ubah aturan penyamaran.
- Opsional: Menambahkan atau menghapus akun utama.
- Klik Submit.
API
Untuk mengubah aturan penyamaran data, panggil metode
patch
dan teruskan
resource DataPolicy
dengan kolom dataMaskingPolicy
yang diperbarui.
Untuk mengubah akun utama yang terkait dengan kebijakan data, panggil metode
setIamPolicy
dan teruskan
Policy
yang memperbarui
akun utama yang diberikan akses ke data yang disamarkan.
Menghapus kebijakan data
Akun pengguna atau akun layanan yang membuat kebijakan data harus memiliki
izin bigquery.dataPolicies.delete
. Izin ini termasuk dalam
peran BigQuery Data Policy Admin, BigQuery Admin, dan BigQuery Data Owner.
Konsol
- Buka halaman Policy tag taxonomies di Konsol Google Cloud.
- Klik nama taksonomi yang akan dibuka.
- Pilih tag kebijakan.
- Klik Kelola Kebijakan Data.
- Klik di samping kebijakan data yang akan dihapus.
- Klik Submit.
- Klik Confirm.
API
Untuk menghapus kebijakan data, panggil
metode
delete
.