Halaman ini menjelaskan cara memberikan atau menolak akses Identity and Access Management (IAM) ke resource secara otomatis berdasarkan sensitivitas data dalam resource tersebut.
Anda dapat mengonfigurasi layanan penemuan Sensitive Data Protection agar otomatis melampirkan tag ke resource berdasarkan tingkat sensitivitas yang dihitung dari resource tersebut. Kemudian, Anda dapat menggunakan kondisi IAM untuk memberikan atau menolak akses ke resource, berdasarkan ada atau tidaknya kunci tag atau nilai tag tingkat sensitivitas.
Misalkan Anda ingin tim data organisasi Anda dapat menyalin dan membagikan data BigQuery secara bebas dalam operasi sehari-hari mereka. Namun, Anda tidak tahu apakah data tersebut berisi informasi identitas pribadi (PII) pelanggan Anda. Anda dapat menjalankan penemuan untuk mengklasifikasikan tingkat sensitivitas data BigQuery Anda. Kemudian, berikan akses secara bersyarat kepada tim data, sehingga mereka hanya dapat mengakses tabel BigQuery yang hanya memiliki data dengan sensitivitas rendah.
Untuk mengetahui informasi selengkapnya tentang cara Sensitive Data Protection menghitung sensitivitas data, lihat Tingkat risiko dan sensitivitas data.
Untuk mengetahui informasi selengkapnya tentang penggunaan tag untuk mengontrol akses ke resource, lihat Tag dan akses bersyarat dalam dokumentasi IAM. Untuk mengetahui informasi umum tentang tag, lihat Ringkasan tag dalam dokumentasi Resource Manager.
Tag tingkat sensitivitas
Dokumen ini menggunakan istilah tag tingkat sensitivitas untuk merujuk ke tag yang Anda lampirkan secara otomatis ke resource untuk menunjukkan tingkat sensitivitas data yang dihitung dalam resource tersebut.
Manfaat
Dengan fitur ini, Anda dapat melakukan hal berikut:
- Mengotomatiskan kontrol akses di berbagai resource yang didukung berdasarkan atribut dan klasifikasi data dalam resource tersebut. Otomatisasi membantu Anda mengikuti pertumbuhan dan perubahan data di organisasi, folder, dan project Anda.
- Membatasi akses ke resource yang didukung hingga resource tersebut diprofilkan dan diklasifikasikan oleh Sensitive Data Protection. Praktik ini sesuai dengan prinsip aman secara default.
- Konfigurasi penemuan untuk memperbarui nilai tag tingkat sensitivitas setiap kali data Anda diprofilkan. Akibatnya, akses prinsipal ke resource berubah secara otomatis saat tingkat sensitivitas data yang dihitung untuk resource tersebut berubah.
- Konfigurasi penemuan untuk menurunkan tingkat risiko data yang dihitung pada resource jika penemuan mendeteksi bahwa tag tingkat sensitivitas ada di resource tersebut. Opsi ini membantu Anda mengukur peningkatan postur keamanan dan privasi data Anda.
Resource yang didukung
Dengan fitur ini, Sensitive Data Protection secara otomatis memberi tag pada data di tingkat berikut:
- Tabel BigQuery
- Instance Cloud SQL
- Bucket Cloud Storage
Cara kerjanya
Berikut adalah alur kerja tingkat tinggi untuk mengontrol akses ke resource berdasarkan sensitivitas data. Tugas ini tidak harus dilakukan oleh orang yang sama.
- Membuat tag tingkat sensitivitas
- Memberikan akses bersyarat ke resource berdasarkan nilai tag tingkat sensitivitas
- Aktifkan pemberian tag otomatis dalam konfigurasi penemuan
- Memberi agen layanan izin untuk melampirkan tag tingkat sensitivitas ke resource
Izin yang diperlukan
Izin yang Anda perlukan bergantung pada tindakan yang harus Anda lakukan.
Untuk mendapatkan izin ini, minta administrator Anda untuk memberikan peran yang disarankan pada level hierarki resource yang sesuai.
Izin untuk mengelola tag
Lihat Mengelola tag dalam dokumentasi Resource Manager.
Izin untuk memberikan akses bersyarat ke resource
Lihat Peran yang diperlukan di dokumentasi IAM.
Izin untuk mengonfigurasi penemuan
Lihat Peran yang diperlukan untuk mengonfigurasi dan melihat profil data.
Membuat tag tingkat sensitivitas
Dalam tugas ini, Anda akan membuat kunci tag dengan nilai tag yang dipetakan ke tingkat sensitivitas data yang digunakan Perlindungan Data Sensitif untuk mengklasifikasikan data Anda. Misalnya, Anda dapat menggunakan kunci tag dan nilai tag berikut.
- Tetapkan kunci tag ke
sensitivity-level
. Tetapkan nilai tag berikut:
low
- Nilai tag yang akan dilampirkan ke data sensitivitas rendah
moderate
- Nilai tag untuk dilampirkan ke data sensitivitas sedang
high
- Nilai tag yang akan dilampirkan ke data sensitivitas tinggi
Anda juga dapat membuat nilai tag untuk resource yang memiliki tingkat sensitivitas tidak diketahui. Atau, Anda dapat menggunakan kembali nilai tag
low
,medium
, atauhigh
untuk resource tersebut.Perhatikan hal berikut. Anda akan memerlukannya di tugas berikutnya:
- ID kunci tag—misalnya,
tagKeys/281478077849901
- Nilai kunci tag—misalnya,
tagValues/281479490918432
- Jalur nilai tag—misalnya,
example-project/tag-key/tag-value1
- ID kunci tag—misalnya,
Agar lebih sederhana, contoh ini menetapkan pemetaan one-to-one antara nilai tag dan tingkat sensitivitas. Dalam praktiknya, Anda dapat menyesuaikan nilai tag agar sesuai dengan kebutuhan bisnis Anda. Misalnya, Anda dapat menggunakan nilai seperti confidential
, PII
, atau
SPII
(PII sensitif).
Penemuan data sensitif dapat dikonfigurasi di tingkat organisasi, folder, dan project. Jika Anda ingin menggunakan tag tingkat sensitivitas ini untuk penemuan tingkat organisasi atau tingkat folder, sebaiknya buat tag ini di tingkat organisasi.
Untuk mengetahui informasi tentang cara membuat tag, lihat Membuat dan mengelola tag di dokumentasi Resource Manager.
Memberikan akses bersyarat ke resource berdasarkan nilai tag tingkat sensitivitas
Dalam tugas ini, Anda memberikan peran kepada akun utama hanya jika tag tingkat sensitivitas
yang dilampirkan ke resource memiliki nilai tertentu. Misalnya, Anda dapat memberikan akses
utama hanya ke data dengan nilai tag moderate
dan low
.
Bagian ini memberikan contoh kondisi yang diformat untuk digunakan dengan editor kondisi. Editor kondisi menyediakan antarmuka berbasis teks untuk memasukkan ekspresi secara manual menggunakan sintaksis CEL. Untuk mengetahui informasi tentang cara melampirkan kondisi IAM ke binding peran, lihat Mengelola binding peran bersyarat dalam dokumentasi IAM.
Contoh ini mengikuti model pemberian tag yang ditentukan dalam Membuat tag tingkat sensitivitas di halaman ini.
Memberi akun utama akses hanya ke data dengan sensitivitas rendah
Dalam contoh ini, Anda memberikan akses ke resource jika resource hanya berisi data dengan sensitivitas rendah. Anda juga dapat menggunakan contoh ini untuk membatasi semua akses ke resource hingga penemuan data sensitif telah dijalankan di resource tersebut.
resource.matchTagId("tagKeys/SENSITIVITY_LEVEL_TAG_KEY",
"tagValues/TAG_VALUE_FOR_LOW_SENSITIVITY")
Ganti kode berikut:
- SENSITIVITY_LEVEL_TAG_KEY: ID numerik kunci tag tingkat sensitivitas yang Anda buat
- TAG_VALUE_FOR_LOW_SENSITIVITY: ID numerik nilai tag yang Anda buat untuk data sensitivitas rendah
Memberi akses pokok hanya ke data dengan sensitivitas sedang dan rendah
Dalam contoh ini, Anda memberikan akses ke resource jika resource hanya berisi data dengan sensitivitas sedang atau rendah. Perhatikan bahwa ada operator OR
di antara kedua kondisi tersebut.
resource.matchTagId("tagKeys/SENSITIVITY_LEVEL_TAG_KEY", "tagValues/TAG_VALUE_FOR_LOW_SENSITIVITY") ||
resource.matchTagId("tagKeys/SENSITIVITY_LEVEL_TAG_KEY", "tagValues/TAG_VALUE_FOR_MODERATE_SENSITIVITY")
Ganti kode berikut:
- SENSITIVITY_LEVEL_TAG_KEY: ID numerik kunci tag tingkat sensitivitas yang Anda buat
- TAG_VALUE_FOR_LOW_SENSITIVITY: ID numerik nilai tag yang Anda buat untuk data sensitivitas rendah
- TAG_VALUE_FOR_MODERATE_SENSITIVITY: ID numerik nilai tag yang Anda buat untuk data sensitivitas sedang
Memberikan akses utama hanya jika tag tingkat sensitivitas ada
Hal ini berguna, misalnya, jika Anda ingin menentukan kebijakan organisasi yang mewajibkan semua akses IAM bersifat kondisional berdasarkan keberadaan tag tingkat sensitivitas. Anda juga dapat menggunakan contoh ini untuk membatasi semua akses ke resource hingga penemuan data sensitif dijalankan di resource tersebut.
resource.hasTagKeyId("tagKeys/SENSITIVITY_LEVEL_TAG_KEY")
Ganti SENSITIVITY_LEVEL_TAG_KEY dengan ID numerik kunci tag tingkat sensitivitas yang Anda buat.
Contoh kebijakan penolakan
Untuk mengetahui informasi tentang cara membuat kebijakan penolakan untuk digunakan dengan tag resource, lihat Struktur kebijakan penolakan. Untuk mengetahui daftar izin yang didukung, lihat Izin yang didukung oleh kebijakan penolakan.
Menolak akses jika tidak ada tag tingkat sensitivitas
Kutipan kebijakan penolakan berikut menolak izin
bigquery.googleapis.com/tables.get
jika resource tidak memiliki tag tingkat
sensitivitas.
"rules": [
{
"denyRule": {
"deniedPrincipals": [
"principalSet://goog/group/data-team@example.com"
],
"deniedPermissions": [
"bigquery.googleapis.com/tables.get"
],
"denialCondition": {
"title": "Resource has no key",
"expression": "!resource.hasTagKeyId("tagKeys/SENSITIVITY_LEVEL_TAG_KEY")"
}
}
}
]
Ganti SENSITIVITY_LEVEL_TAG_KEY dengan ID numerik kunci tag tingkat sensitivitas yang Anda buat.
Menolak akses jika ada data dengan sensitivitas sedang atau tinggi
Kutipan kebijakan penolakan berikut menolak izin
bigquery.googleapis.com/tables.get
jika resource memiliki data dengan sensitivitas sedang atau tinggi.
"rules": [
{
"denyRule": {
"deniedPrincipals": [
"principalSet://goog/group/data-team@example.com"
],
"deniedPermissions": [
"bigquery.googleapis.com/tables.get"
],
"denialCondition": {
"title": "Resource has moderate or high data sensitivity",
"expression": "resource.matchTagId("tagKeys/SENSITIVITY_LEVEL_TAG_KEY", "tagValues/TAG_VALUE_FOR_MODERATE_SENSITIVITY") || resource.matchTagId("tagKeys/SENSITIVITY_LEVEL_TAG_KEY", "tagValues/TAG_VALUE_FOR_HIGH_SENSITIVITY")"
}
}
}
]
Ganti kode berikut:
- SENSITIVITY_LEVEL_TAG_KEY: ID numerik kunci tag tingkat sensitivitas yang Anda buat
- TAG_VALUE_FOR_MODERATE_SENSITIVITY: ID numerik nilai tag yang Anda buat untuk data sensitivitas sedang
- TAG_VALUE_FOR_HIGH_SENSITIVITY: ID numerik nilai tag yang Anda buat untuk data sensitivitas tinggi
Aktifkan pemberian tag otomatis dalam konfigurasi penemuan
Dalam tugas ini, Anda akan mengaktifkan tindakan Beri tag resource. Tindakan ini menginstruksikan Perlindungan Data Sensitif untuk otomatis memberi tag pada data Anda sesuai dengan tingkat sensitivitas yang dihitung. Anda melakukan tugas ini saat membuat atau mengedit konfigurasi pemindaian penemuan.
Untuk memberi tag otomatis pada resource sesuai dengan tingkat sensitivitas yang dihitung, ikuti langkah-langkah berikut:
- Aktifkan opsi Beri tag pada resource.
Untuk setiap tingkat sensitivitas (tinggi, sedang, rendah, dan tidak diketahui), masukkan jalur nilai tag yang Anda buat untuk tingkat sensitivitas tertentu.
Jika Anda melewati tingkat sensitivitas, tidak ada tag yang dilampirkan untuk tingkat tersebut.
Untuk menurunkan tingkat risiko data resource secara otomatis saat tag tingkat sensitivitas ada, pilih Saat tag diterapkan ke resource, turunkan risiko data profilnya menjadi RENDAH. Opsi ini membantu Anda mengukur peningkatan postur keamanan dan privasi data Anda.
Pilih salah satu atau kedua opsi berikut:
- Beri tag pada resource saat diprofilkan untuk pertama kalinya.
Beri tag pada fasilitas saat profilnya diperbarui. Pilih opsi ini jika Anda ingin Perlindungan Data Sensitif mengganti nilai tag tingkat sensitivitas pada proses penemuan berikutnya. Akibatnya, akses principal ke resource berubah secara otomatis saat tingkat sensitivitas data yang dihitung untuk resource tersebut meningkat atau menurun.
Jangan pilih opsi ini jika Anda berencana memperbarui nilai tag tingkat sensitivitas yang dilampirkan layanan penemuan ke aset Anda secara manual. Jika Anda memilih opsi ini, Perlindungan Data Sensitif dapat menggantikan pembaruan manual Anda.
Penemuan data sensitif dapat dikonfigurasi di tingkat organisasi, folder, dan project. Jika Anda ingin menggunakan tag tingkat sensitivitas ini untuk penemuan tingkat organisasi dan jika Anda tidak ingin operasi penemuan tingkat project menggantikan nilai tag yang ditetapkan oleh penemuan tingkat organisasi, pastikan hanya agen layanan konfigurasi penemuan tingkat organisasi yang dapat melampirkan tag ini ke resource. Untuk mengetahui informasi tentang cara memberikan peran di tingkat tag, lihat Mengelola akses ke tag dalam dokumentasi Resource Manager.
Mengatasi error
Bagian ini menjelaskan error yang mungkin Anda alami saat menggunakan fitur ini dan cara menyelesaikan error tersebut.
Melebihi jumlah tag maksimum
Setiap resource dapat melampirkan maksimum 50 pasangan nilai kunci. Mencoba memberi tag pada resource yang sudah memiliki jumlah tag maksimum akan menyebabkan pembuatan profil gagal. Anda akan mendapatkan error berikut:
The resource RESOURCE_NAME cannot be tagged because there are too many existing tags bound to the resource. You can either disable automatic tagging or delete at least one tag binding from the resource.
Untuk mengatasi masalah ini, lepaskan tag dari resource. Untuk informasi selengkapnya, lihat referensi berikut:
- BigQuery: Melepaskan tag dari tabel
- Cloud SQL untuk MySQL: Melepaskan tag dari instance Cloud SQL
- Cloud SQL untuk PostgreSQL: Melepaskan tag dari instance Cloud SQL
- Cloud Storage: Contoh melampirkan atau melepaskan tag dari bucket Cloud Storage
Atau, nonaktifkan tindakan Beri tag pada resource dalam konfigurasi pemindaian penemuan Anda.
Nilai tag dihapus atau diganti namanya dan penemuan mencoba melampirkannya ke resource
Jika nilai tag untuk tag tingkat sensitivitas dihapus atau diganti namanya dan Sensitive Data Protection mencoba melampirkan nilai tag tersebut ke resource yang diprofilkan, Anda akan mendapatkan error berikut:
Tag value TAG_VALUE not found, it has possibly been either deleted or renamed.
Untuk menyelesaikan masalah ini, lakukan salah satu tindakan berikut:
- Jika tag dihapus, buat ulang nilai tag yang dihapus. Pastikan nilai tag yang dibuat ulang cocok dengan nilai tag yang dirujuk dalam konfigurasi pemindaian penemuan Anda. Untuk mengetahui informasi selengkapnya, lihat Membuat tag tingkat sensitivitas di halaman ini.
- Jika nilai tag diganti namanya, perbarui konfigurasi pemindaian penemuan untuk menggunakan nama baru nilai tag.
Agen layanan tidak memiliki izin
Jika agen layanan tidak memiliki izin yang diperlukan untuk melampirkan tag tingkat sensitivitas ke resource yang diprofilkan, Anda akan mendapatkan error berikut:
The DLP service account SERVICE_AGENT_NAME is missing permissions needed for attaching tags to resources. Check that the role 'resourcemanager.tagUser' is granted to the DLP service account.
Untuk menyelesaikan masalah ini, ikuti langkah berikut:
Dapatkan ID agen layanan yang terkait dengan konfigurasi pemindaian penemuan Anda:
Buka daftar konfigurasi pemindaian penemuan.
- Di toolbar, pilih organisasi Anda.
- Pilih konfigurasi pemindaian Anda.
- Di halaman Detail konfigurasi pemindaian, salin nilai kolom Agen layanan. ID agen layanan dalam format alamat email.
Berikan peran Pengguna Tag (
roles/resourcemanager.tagUser
) kepada agen layanan di tag tingkat sensitivitas.Atau, Anda dapat memberikan peran kustom pada tag tingkat sensitivitas. Peran kustom harus memiliki izin
resourcemanager.tagValues.get
dan izin khusus resource untuk mengelola binding tag. Anda memerlukan izincreateTagBinding
,deleteTagBinding
, danlistEffectiveTags
khusus resource. Misalnya, untuk tabel BigQuery, Anda memerlukan hal berikut:resourcemanager.tagValues.get
bigquery.tables.createTagBinding
bigquery.tables.deleteTagBinding
bigquery.tables.listEffectiveTags
Untuk mengetahui informasi tentang cara memberikan peran di tingkat tag, lihat Mengelola akses ke tag dalam dokumentasi Resource Manager.