Merumuskan dan menguji kueri keanggotaan
Dokumen ini menjelaskan cara merumuskan dan menguji kueri keanggotaan untuk memastikan pengguna yang benar ditampilkan.
Sebelum memulai
Lakukan tugas berikut sebelum melanjutkan informasi di halaman ini:
Baca Ringkasan Groups API.
Baca ringkasan grup dinamis.
Merumuskan dan menguji kueri
Kueri keanggotaan berbentuk target_field condition
, dan
diformat sebagai
ekspresi
Common Expression Language (CEL). Lihat
Atribut pengguna yang valid untuk grup dinamis
untuk mengetahui daftar kolom resource User
yang dapat digunakan.
Sampel kueri
Contoh berikut menunjukkan cara memeriksa nilai tertentu di
kolom user.addresses
menggunakan fungsi CEL exists()
:
user.addresses.exists(ad, ad.locality=='Sunnyvale')
Makro exists()
digunakan untuk membuat kueri keanggotaan untuk kolom jenis
daftar.
Berikut adalah contoh pemeriksaan beberapa nilai, (building) area
dan
building_id
, dalam satu entri daftar:
user.locations.exists(loc, loc.area=='Sunnyvale' && loc.building_id=='Building 1')
Contoh berikut menunjukkan cara menemukan pengguna yang merupakan bagian dari unit organisasi tertentu:
- Semua pengguna langsung di unit organisasi tertentu:
user.org_unit_id==orgUnitId('03ph8a2z1enx4lx')
- Semua pengguna langsung dan tidak langsung dalam unit organisasi tertentu:
user.org_units.exists(org_unit, org_unit.org_unit_id==orgUnitId('03ph8a2z1khexns'))
user.name.value.equalsIgnoreCase('jOhn DoE')`
Negasi dalam kueri
Anda dapat menggunakan operator NOT !
dalam kueri keanggotaan untuk mengecualikan pengguna dengan
atribut tertentu. Berikut beberapa contohnya:
Semua pengguna yang tidak termasuk dalam unit organisasi tertentu:
!(user.org_unit_id==orgUnitId('03ph8a2z1enx4lx'))
Semua pengguna yang bukan anggota organisasi
Marketing
:!user.organization.exists(org, org.title = "Marketing")
Beberapa kombinasi operator NOT !
dan makro exists()
tidak didukung:
Setiap kueri NOT
!
yang menggunakan makroexists()
dan menggunakan operator AND&&
di dalamnya:!user.organization.exists(org, (org.title == "Cloud" && org.department == "Sales"))
Setiap kueri yang menggunakan makro
exists()
dengan operator NOT!
di dalamnya:user.organization.exists(org, (org.title == "Cloud" || !(org.department == "Sales")))
Menguji kueri keanggotaan
Untuk menguji kueri keanggotaan, Anda dapat menggunakan builder kueri sederhana. Hal ini memungkinkan Anda menggunakan menu drop-down dan kolom teks untuk memasukkan dan menguji kueri. Setelah memastikan kueri keanggotaan menampilkan hasil yang benar, Anda dapat membuat kueri CEL yang sesuai dengan Groups API.
Atribut pengguna khusus
Atribut pengguna kustom
dapat digunakan dalam kueri grup dinamis selama skema kustom sudah ada di
user.custom_schemas
, tetapi tidak didukung di drop-down pembuat kueri sederhana. Untuk menguji kueri atribut pengguna kustom, masukkan dalam format kueri CEL
langsung ke kotak teks Enter cel query. Contoh skema kustom
terlihat seperti ini:
{
"schemaName": "employmentData",
"fields": [
{
"fieldName": "EmployeeNumber",
"fieldType": "STRING",
"multiValued": "false"
},
{
"fieldName": "JobFamily",
"fieldType": "STRING",
"multiValued": "true"
}
]
}
Kolom bernilai tunggal
user.custom_schemas.employmentData.EmployeeNumber == 'value'
Kolom multinilai
user.custom_schemas.employmentData.JobFamily.exists(fld, fld == 'value')
Langkah selanjutnya
Setelah menguji kueri keanggotaan, Anda dapat menggunakannya saat membuat grup. Untuk mengetahui informasi selengkapnya, lihat Membuat grup dinamis.