Halaman ini menjelaskan cara otomatis memberikan atau menolak akses Identity and Access Management (IAM) ke resource berdasarkan sensitivitas data dalam resource tersebut.
Anda dapat mengonfigurasi layanan penemuan Sensitive Data Protection untuk secara 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 keberadaan atau tidak adanya kunci tag tingkat sensitivitas atau nilai tag.
Misalkan Anda ingin tim data organisasi dapat menyalin dan membagikan data BigQuery secara bebas dalam operasi harian mereka. Namun, Anda tidak mengetahui apakah data tersebut berisi informasi identitas pribadi (PII) pelanggan Anda. Anda dapat menjalankan penemuan untuk mengklasifikasikan tingkat sensitivitas data BigQuery. 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 sensitivitas dan risiko data.
Untuk mengetahui informasi selengkapnya tentang penggunaan tag untuk mengontrol akses ke resource, lihat Tag dan akses bersyarat dalam dokumentasi IAM. Untuk 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
Fitur ini memungkinkan Anda 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.
- Batasi akses ke resource yang didukung hingga resource tersebut dibuat profilnya dan diklasifikasikan oleh Perlindungan Data Sensitif. Praktik ini sesuai dengan prinsip aman secara default.
- Konfigurasikan penemuan untuk memperbarui nilai tag tingkat sensitivitas setiap kali membuat profil data Anda. Akibatnya, akses akun utama ke resource akan otomatis berubah saat tingkat sensitivitas data yang dihitung untuk resource tersebut berubah.
- Konfigurasikan 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.
Resource yang didukung
Dengan fitur ini, Perlindungan Data Sensitif akan 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
- Mengaktifkan pemberian tag otomatis dalam konfigurasi penemuan
- Berikan izin kepada agen layanan untuk melampirkan tag tingkat sensitivitas ke resource
Izin yang diperlukan
Izin yang Anda perlukan bergantung pada tindakan yang harus dilakukan.
Untuk mendapatkan izin ini, minta administrator 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 dalam 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 dengan sensitivitas rendah
moderate
- Nilai tag yang akan dilampirkan ke data dengan sensitivitas sedang
high
- Nilai tag yang akan dilampirkan ke data sensitivitas tinggi
Anda juga dapat membuat nilai tag untuk resource yang memiliki tingkat sensitivitas yang tidak diketahui. Atau, Anda dapat menggunakan kembali nilai tag
low
,medium
, atauhigh
untuk resource tersebut.Perhatikan hal berikut. Anda memerlukannya dalam 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,
Untuk memudahkan, contoh ini menetapkan pemetaan satu-ke-satu 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 informasi tentang cara membuat tag, lihat Membuat dan mengelola tag dalam 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 akun 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 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 di Membuat tag tingkat sensitivitas di halaman ini.
Memberikan akses kepada akun utama hanya ke data dengan tingkat sensitivitas rendah
Dalam contoh ini, Anda memberikan akses ke resource jika resource tersebut hanya berisi data dengan sensitivitas rendah. Anda juga dapat menggunakan contoh ini untuk membatasi semua akses ke resource hingga penemuan data sensitif telah berjalan 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 dengan sensitivitas rendah
Memberikan akses kepada akun utama hanya ke data dengan sensitivitas sedang dan rendah
Dalam contoh ini, Anda memberikan akses ke resource jika resource tersebut 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 dengan sensitivitas rendah
- TAG_VALUE_FOR_MODERATE_SENSITIVITY: ID numerik nilai tag yang Anda buat untuk data dengan sensitivitas sedang
Memberikan akses kepada akun utama hanya jika tag tingkat sensitivitas ada
Hal ini berguna, misalnya, jika Anda ingin menentukan kebijakan organisasi yang memerlukan 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 telah berjalan 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 informasi tentang cara membuat kebijakan tolak untuk digunakan dengan tag resource, lihat Struktur kebijakan tolak. Untuk mengetahui daftar izin yang didukung, lihat Izin yang didukung oleh kebijakan penolakan.
Menolak akses jika tidak ada tag tingkat sensitivitas
Cuplikan kebijakan tolak 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
Cuplikan 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 dengan sensitivitas sedang
- TAG_VALUE_FOR_HIGH_SENSITIVITY: ID numerik nilai tag yang Anda buat untuk data dengan sensitivitas tinggi
Mengaktifkan pemberian tag otomatis di konfigurasi penemuan
Dalam tugas ini, Anda akan mengaktifkan tindakan Beri tag pada resource. Tindakan ini memberi petunjuk kepada Perlindungan Data Sensitif untuk otomatis memberi tag pada data Anda sesuai dengan tingkat sensitivitas yang dihitung. Anda melakukan tugas ini saat create atau mengedit konfigurasi pemindaian penemuan.
Untuk memberi tag pada resource secara otomatis sesuai dengan tingkat sensitivitas yang dihitung, ikuti langkah-langkah berikut:
- Aktifkan opsi Tag resources.
Untuk setiap tingkat sensitivitas (tinggi, sedang, rendah, dan tidak diketahui), masukkan jalur nilai tag yang Anda buat untuk tingkat sensitivitas yang diberikan.
Jika Anda melewati tingkat sensitivitas, tidak ada tag yang terlampir 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 ke RENDAH. Opsi ini membantu Anda mengukur peningkatan postur keamanan dan privasi data.
Pilih salah satu atau kedua opsi berikut:
- Beri tag pada resource saat dibuat profilnya untuk pertama kalinya.
Memberi tag pada fasilitas saat profilnya diperbarui. Pilih opsi ini jika Anda ingin Perlindungan Data Sensitif menimpa nilai tag tingkat sensitivitas saat penemuan berikutnya berjalan. Akibatnya, akses akun utama ke resource akan berubah secara otomatis saat tingkat sensitivitas data yang dihitung untuk resource tersebut meningkat atau menurun.
Jangan pilih opsi ini jika Anda berencana untuk memperbarui nilai tag tingkat sensitivitas yang dilampirkan layanan penemuan ke resource Anda secara manual. Jika Anda memilih opsi ini, Perlindungan Data Sensitif dapat menimpa 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 level project menimpa nilai tag yang ditetapkan oleh penemuan level organisasi, pastikan hanya agen layanan dari konfigurasi penemuan level 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 mengatasi 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 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: Melepas 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 tag ke atau melepaskan tag dari bucket Cloud Storage
Atau, nonaktifkan tindakan Tag resources dalam konfigurasi pemindaian penemuan Anda.
Nilai tag dihapus atau diganti namanya dan Discovery mencoba melampirkan nilai tersebut ke resource
Jika nilai tag untuk tag tingkat sensitivitas dihapus atau diganti namanya dan Perlindungan Data Sensitif 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 direferensikan 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.
- Pilih konfigurasi pemindaian Anda.
- Di halaman detail yang terbuka, salin ID agen layanan. ID ini menggunakan format alamat email.
Berikan peran Tag User (
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.