Nonaktifkan komentar:
Penggunaan
explore: explore_name {
access_filter: {
field: fully_scoped_field
user_attribute: user_attribute_name
}
}
|
Hierarki
access_filter |
Nilai Default
Tidak ada
Menerima
Nama kolom LookML dan atribut pengguna terkait
Aturan Khusus
Anda dapat menerapkan beberapa parameter access_filter dalam Eksplorasi yang sama
|
Definisi
access_filter memungkinkan Anda menerapkan pembatasan data khusus pengguna. Tidak seperti sebagian besar parameter LookML, parameter ini harus digunakan bersama dengan setelan lain di Looker agar berfungsi dengan benar. Parameter access_filter khusus untuk satu Eksplorasi, jadi Anda harus memastikan untuk menerapkan parameter access_filter ke setiap Eksplorasi yang memerlukan batasan.
Jangan lupa menambahkan
access_filterke setiap Eksplorasi yang memerlukannya. Jika Anda lupa menambahkanaccess_filterke Eksplorasi yang seharusnya memilikinya, data tidak akan dibatasi dan pengguna akan dapat melihat semua data dalam Eksplorasi tersebut.
Perilaku access_filter akan serupa dengan Anda duduk bersama pengguna dan mewajibkan mereka menerapkan satu atau beberapa filter di UI Jelajahi sebelum menjalankan kueri apa pun. Misalnya, pengguna mungkin hanya berurusan dengan sebagian kecil pelanggan Anda, jadi Anda akan mewajibkan pengguna tersebut menerapkan filter nama pelanggan.
Ada beberapa langkah yang harus Anda lakukan untuk menerapkan filter akses:
- Tentukan kolom mana yang perlu memiliki batasan. Dalam contoh mewajibkan pengguna menerapkan filter nama pelanggan, pengguna Anda mungkin memiliki Eksplorasi Pelanggan dengan dimensi bernama Nama. Cara kolom tersebut dirujuk adalah
customer.name. - Setiap pengguna yang berinteraksi dengan Eksplorasi yang dimaksud akan memerlukan nilai untuk filter akses. Dalam contoh kita, setiap pengguna akan memerlukan daftar nama pelanggan yang boleh mereka lihat. Anda menerapkan nilai ini ke setiap pengguna atau grup pengguna dengan memanfaatkan fitur atribut pengguna Looker, yang dapat Anda baca di halaman dokumentasi Atribut pengguna. Misalkan kita membuat atribut pengguna allowed_customers.
- Terakhir, hubungkan atribut pengguna yang Anda buat dengan kolom yang harus menggunakan nilainya sebagai filter. Dalam contoh ini, kita akan menghubungkan atribut pengguna allowed_customers dengan kolom
customer.name, seperti ini:
explore: customer {
access_filter: {
field: customer.name
user_attribute: allowed_customers
}
}
Contoh
Membatasi pengguna agar hanya melihat informasi tentang wilayah penjualan mereka:
explore: customer {
access_filter: {
field: sales.region
user_attribute: sales_region
}
}
Membatasi pengguna agar hanya dapat melihat informasi tentang departemen tertentu dalam pelanggan mereka:
explore: customer {
access_filter: {
field: customer.name
user_attribute: allowed_customers
}
access_filter: {
field: product.department
user_attribute: allowed_departments
}
}
Tantangan umum
access_filter memerlukan nama kolom yang sepenuhnya tercakup
Jika Anda menulis nama kolom tanpa nama tampilan, sebagian besar parameter di Looker akan menggunakan nama tampilan yang didasarkan pada tempat parameter digunakan. Namun, access_filter tidak berfungsi seperti ini dan mengharuskan Anda menulis nama tampilan dan nama kolom.
Misalnya, Anda mungkin berpikir bahwa kode ini akan berfungsi, dan name akan ditafsirkan sebagai nama pelanggan:
explore: customer {
access_filter: {
field: name
user_attribute: allowed_customers
}
}
Namun, hal ini tidak terjadi, dan Anda akan menerima error. Sebagai gantinya, Anda harus menulis:
explore: customer {
access_filter: {
field: customer.name
user_attribute: allowed_customers
}
}
Bahkan admin harus menetapkan nilai filter di UI
Setiap pengguna yang mengakses Eksplorasi yang menggunakan access_filter harus memiliki nilai dalam atribut pengguna yang dirujuk. Hal ini bahkan berlaku bagi mereka yang memiliki peran admin, meskipun mereka dapat melihat semua data. Pengguna yang tidak memiliki nilai atribut pengguna yang ditetapkan akan menerima error saat mencoba melihat Eksplorasi.
Untuk memberi admin atau pengguna lain akses ke semua nilai kolom string, tetapkan jenis data atribut pengguna ke Filter String (lanjutan), dan gunakan nilai
%, NULL.Untuk memberi admin atau pengguna lain akses ke semua nilai kolom angka, tetapkan jenis data atribut pengguna ke Filter Angka (lanjutan), dan gunakan nilai
<0, >=0, NULL.
Yang perlu diketahui
Jika Eksplorasi menyertakan access_filter, nilai default full_suggestions akan beralih ke yes
Jika Eksplorasi menyertakan parameter access_filter, nilai default full_suggestions akan beralih ke yes. Hal ini menyebabkan kueri saran berjalan menggunakan logika Jelajahi, yang berarti access_filter akan diterapkan untuk mempersempit saran yang muncul, sehingga membatasi daftar saran hanya pada data yang seharusnya dapat diakses pengguna.
Jika Anda menetapkan full_suggestions ke no secara manual, kueri saran filter tidak akan berjalan.