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 :

  1. Buat taksonomi dengan minimal satu tag kebijakan.
  2. Opsional: Berikan peran Data Catalog Fine-Grained Reader ke satu atau beberapa akun utama di satu atau beberapa tag kebijakan yang Anda buat.
  3. Buat hingga tiga kebijakan data untuk tag kebijakan guna memetakan aturan dan akun utama penyamaran (yang mewakili pengguna atau grup) ke tag tersebut.
  4. Tetapkan tag kebijakan di kolom. Cara ini memetakan kebijakan data yang terkait dengan tag kebijakan ke kolom yang dipilih.
  5. 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

  1. 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.
  2. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Go to project selector

  3. Make sure that billing is enabled for your Google Cloud project.

  4. Enable the Data Catalog and BigQuery Data Policy APIs.

    Enable the APIs

  5. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Go to project selector

  6. Make sure that billing is enabled for your Google Cloud project.

  7. Enable the Data Catalog and BigQuery Data Policy APIs.

    Enable the APIs

  8. BigQuery secara otomatis diaktifkan di project baru, tetapi Anda mungkin harus mengaktifkannya di project yang sudah ada.

    Enable the BigQuery API.

    Enable the API

  9. 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

  1. Buka halaman Policy tag taxonomies di Konsol Google Cloud.

    Buka halaman Policy tag taxonomies

  2. Klik Buat taksonomi.
  3. Di halaman Taksonomi baru:

    1. Untuk Nama taksonomi, masukkan nama taksonomi yang ingin Anda buat.
    2. Untuk Deskripsi, masukkan deskripsi.
    3. Jika diperlukan, ubah project yang tercantum di bagian Project.
    4. Jika perlu, ubah lokasi yang tercantum di bagian Lokasi.
    5. Di bagian Tag Kebijakan, masukkan nama dan deskripsi tag kebijakan.
    6. Untuk menambahkan tag kebijakan turunan untuk tag kebijakan, klik Tambahkan subtag.
    7. Untuk menambahkan tag kebijakan baru di tingkat yang sama dengan tag kebijakan lainnya, klik + Tambahkan tag kebijakan.
    8. Terus tambahkan tag kebijakan dan tag kebijakan turunan sesuai kebutuhan untuk taksonomi Anda.
    9. 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.

  1. Panggil taxonomies.create untuk membuat taksonomi.
  2. 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

  1. Buka halaman Policy tag taxonomies di Konsol Google Cloud.

    Buka halaman Policy tag taxonomies

  2. Klik nama taksonomi yang akan dibuka.
  3. Pilih tag kebijakan.
  4. Klik Kelola Kebijakan Data.
  5. Untuk Nama Kebijakan Data, ketik nama untuk kebijakan data. Nama kebijakan data harus unik dalam project tempat kebijakan data berada.
  6. 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 dan bigquery.routines.list di level project.
  7. 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.
  8. Klik Submit.

API

  1. Panggil metode create. Teruskan resource DataPolicy yang memenuhi persyaratan berikut:

    • Kolom dataPolicyType ditetapkan ke DATA_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.
  2. Panggil metode setIamPolicy dan teruskan Policy. Policy harus mengidentifikasi akun utama yang diberi akses ke data yang disamarkan, dan menentukan roles/bigquerydatapolicy.maskedReader untuk kolom role.

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.

  1. Buka halaman BigQuery di konsol Google Cloud.

    Buka halaman BigQuery

  2. Di BigQuery Explorer, temukan dan pilih tabel yang ingin Anda perbarui. Skema tabel untuk tabel tersebut akan terbuka.

  3. Klik Edit Skema.

  4. Di layar Skema saat ini, pilih kolom target, lalu klik Tambahkan tag kebijakan.

  5. Di layar Tambahkan tag kebijakan, temukan dan pilih tag kebijakan yang ingin Anda terapkan ke kolom.

  6. Klik Select. Layar Anda akan terlihat seperti berikut:

    Edit skema.

  7. Klik Simpan.

bq

  1. 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.
  2. Mengubah schema.json untuk menetapkan tag kebijakan pada kolom. Untuk nilai kolom names dari policyTags, gunakan nama resource tag kebijakan.

    [
     ...
     {
       "name": "ssn",
       "type": "STRING",
       "mode": "REQUIRED",
       "policyTags": {
         "names": ["projects/project-id/locations/location/taxonomies/taxonomy-id/policyTags/policytag-id"]
       }
     },
     ...
    ]
  3. 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

  1. Buka halaman Policy tag taxonomies di Konsol Google Cloud.

    Buka halaman Policy tag taxonomies

  2. Klik nama taksonomi yang akan dibuka.
  3. Pilih tag kebijakan.
  4. Klik Kelola Kebijakan Data.
  5. Jika ingin, ubah aturan penyamaran.
  6. Opsional: Menambahkan atau menghapus akun utama.
  7. 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

  1. Buka halaman Policy tag taxonomies di Konsol Google Cloud.

    Buka halaman Policy tag taxonomies

  2. Klik nama taksonomi yang akan dibuka.
  3. Pilih tag kebijakan.
  4. Klik Kelola Kebijakan Data.
  5. Klik di samping kebijakan data yang akan dihapus.
  6. Klik Submit.
  7. Klik Confirm.

API

Untuk menghapus kebijakan data, panggil metode delete.