Tetap teratur dengan koleksi
Simpan dan kategorikan konten berdasarkan preferensi Anda.
Halaman ini menjelaskan objek dan atribut yang digunakan untuk mem-build ekspresi Common Expression Language (CEL) untuk tingkat akses kustom. Contohnya disertakan.
Berisi atribut yang mendeskripsikan perangkat tempat permintaan berasal.
Atribut origin
Bagian ini mencantumkan atribut yang didukung oleh objek origin.
Atribut
ip
Jenis
string
Deskripsi
Alamat IP tempat permintaan berasal. Jika alamat IP
tidak dapat ditentukan, origin.ip akan dievaluasi
menjadi error. Sebaiknya gunakan
inIpRange untuk memeriksa apakah alamat IP asal berada dalam
rentang alamat IP tertentu, bukan melakukan perbandingan string.
Contoh:
inIpRange(origin.ip,["203.0.113.24"])
region_code
Jenis
string
Deskripsi
Kode
ISO 3166-1 alpha-2 untuk negara atau wilayah tempat
permintaan berasal. Jika kode region tidak dapat ditentukan, origin.region_code akan dievaluasi menjadi error.
Bagian ini mencantumkan atribut yang didukung oleh objek levels.
Atribut
level name
Jenis
boolean
Deskripsi
level name sesuai dengan nama tingkat akses yang ada.
Saat digunakan, kondisi tingkat akses yang ditentukan juga harus
dipenuhi selain persyaratan lain dari tingkat akses kustom
Anda.
Contoh:
levels.allow_corp_ips
Dengan allow_corp_ips adalah nama tingkat akses.
device atribut
Bagian ini mencantumkan atribut yang didukung oleh objek device. Jika tidak ada perangkat
yang terkait dengan ID dalam permintaan yang ditemukan, semua atribut
berikut akan dievaluasi menjadi error.
Atribut
encryption_status
Jenis
enum
Deskripsi
Menjelaskan status enkripsi perangkat.
Nilai enum:
enumDeviceEncryptionStatus{// The encryption status of the device is not specified or not known.ENCRYPTION_UNSPECIFIED==0;// The device does not support encryption.ENCRYPTION_UNSUPPORTED==1;// The device supports encryption, but is currently unencrypted.UNENCRYPTED==2;// The device is encrypted.ENCRYPTED==3;}
Apakah perangkat telah disetujui oleh administrator
domain.
Contoh:
device.is_admin_approved_device==true
is_corp_owned_device
Jenis
boolean
Deskripsi
Apakah perangkat dimiliki oleh organisasi.
Contoh:
device.is_corp_owned_device==true
is_secured_with_screenlock
Jenis
boolean
Deskripsi
Apakah fungsi kunci layar perangkat diaktifkan.
Contoh:
device.is_secured_with_screenlock==true
os_type
Jenis
enum
Deskripsi
Mengidentifikasi sistem operasi yang digunakan perangkat.
Nilai enum:
enumOsType{// The operating system of the device is not specified or not known.OS_UNSPECIFIED==0;// A desktop Mac operating system.DESKTOP_MAC==1;// A desktop Windows operating system.DESKTOP_WINDOWS==2;// A desktop Linux operating system.DESKTOP_LINUX==3;// An Android operating system.ANDROID==4;// An iOS operating system.IOS==5;// A desktop ChromeOS operating system.DESKTOP_CHROME_OS==6;}
Objek vendors digunakan untuk mengakses data yang disediakan
oleh vendor keamanan dan pengelolaan endpoint pihak ketiga. Setiap
vendor dapat mengisi tiga atribut tingkat teratas bersama:
is_compliant_device,
is_managed_device, dan
device_health_score.
Selain itu, vendor dapat memberikan kunci dan nilainya sendiri
yang direferensikan menggunakan atribut data.
Kunci yang tersedia untuk atribut data bervariasi
dari vendor ke vendor. Pastikan Anda konsisten saat membandingkan nilai kunci dalam ekspresi kebijakan. Misalnya, jika Anda mengharapkan nilai kunci berupa string atau boolean, pastikan Anda membandingkannya dengan string atau boolean dalam ekspresi kebijakan yang sesuai. Perhatikan bahwa jika nilainya berupa bilangan bulat, Anda harus membandingkannya dengan angka ganda dalam ekspresi kebijakan.
Nilai enum:
// Health score of the device as provided by the vendor (possibly third party).enumDeviceHealthScore{// The health score for the device is not specified or unknown.DEVICE_HEALTH_SCORE_UNSPECIFIED=0;// The health of the device is very poor.VERY_POOR=1;// The health of the device is poor.POOR=2;// The health of the device is ok.NEUTRAL=3;// The health of the device is good.GOOD=4;// The health of the device is very good.VERY_GOOD=5;}
Apakah browser dikelola, di tingkat browser atau di tingkat profil, dan oleh perusahaan di bawah domain yang benar.
Browser dianggap terkelola jika kebijakan dikelola dan didorong secara terpusat, serta domain browser atau profil terkelola cocok dengan domain yang diharapkan di sisi server.
Berikut adalah status pengelolaan Chrome yang tersedia:
Status
MANAGED
Browser atau profil dikelola oleh pelanggan.
UNMANAGED
Browser atau profil tidak dikelola oleh pelanggan mana pun.
MANAGED_BY_OTHER_DOMAIN
Browser atau profil dikelola oleh beberapa pelanggan lain.
Menguji apakah operand string dimulai dengan argumen awalan.
Contoh:
"Sample string".startsWith("Sample")
endsWith()
Jenis
string.(string) -> bool
Deskripsi
Menguji apakah operand string diakhiri dengan argumen akhiran.
Contoh:
"Sample string".endsWith("string")
origin.clientCertFingerprint()
Jenis
Origin.() -> string
Deskripsi
Menampilkan sidik jari sertifikat yang terkait dengan asal. Anda dapat menggunakannya dalam makro untuk menguji sertifikat perangkat.
Contoh:
// Checks if the enterprise certificate associated with the origin matches the device.device.certificates.exists(cert,cert.is_valid && cert.cert_fingerprint==origin.clientCertFingerprint())
Makro untuk ekspresi CEL
Anda dapat menggunakan makro berikut dalam ekspresi CEL untuk tingkat akses kustom:
Makro
Deskripsi
has(e.f)
Menguji apakah kolom tersedia. Lihat Pemilihan Kolom untuk mengetahui detail selengkapnya. Contoh:
Menguji apakah predikat berlaku untuk semua elemen daftar e atau kunci peta e. Di sini, x adalah ID yang akan digunakan di p yang terikat dengan elemen atau kunci. Makro all() menggabungkan hasil predikat per elemen dengan operator and (&&), sehingga jika predikat bernilai salah, makro akan bernilai salah, mengabaikan error dari predikat lain. Contoh:
Ini menampilkan nilai salah karena tidak semua elemen lebih besar dari 1: [1,2,3].all(x, x > 1)
e.exists(x, p)
Seperti makro all(), tetapi menggabungkan hasil predikat dengan operator or (||). Contoh:
Ini akan menampilkan true karena ada setidaknya satu elemen dalam daftar yang lebih besar dari 1: [1,2,3].exists(x, x > 1)
Memeriksa apakah sertifikat perusahaan yang terkait dengan perangkat cocok dengan penerbit: device.certificates.exists(cert, cert.is_valid && cert.issuer == "EMAILADDRESS=test_inter1@beyondcorp.in, CN=inter_1, OU=BCEDemo_1, O=BCEDemo, L=NCR, ST=UP, C=IN")
e.exists_one(x, p)
Seperti makro exists(), tetapi dievaluasi ke benar hanya jika predikat dari tepat satu elemen atau kunci dievaluasi ke benar, dan sisanya ke salah. Kombinasi hasil boolean lainnya akan dievaluasi menjadi salah, dan error predikat apa pun akan menyebabkan makro menampilkan error. Contoh:
Ini menampilkan nilai salah karena lebih dari satu elemen lebih besar dari 1: [1,2,3].exists_one(x, x > 1)
Contoh ekspresi CEL
Bagian ini menyertakan contoh ekspresi CEL yang digunakan untuk membuat tingkat akses kustom.
Contoh ini menunjukkan tingkat akses yang mengharuskan kondisi berikut
terpenuhi untuk mengizinkan permintaan:
Salah satu hal berikut benar:
Perangkat tempat permintaan berasal menggunakan sistem operasi Windows
desktop dan dimiliki oleh organisasi Anda.
Perangkat tempat permintaan berasal menggunakan sistem operasi Mac desktop, disetujui oleh administrator domain, dan menggunakan setidaknya MacOS 10.11.
Contoh ini menunjukkan tingkat akses yang mengharuskan kondisi berikut
terpenuhi untuk mengizinkan permintaan:
Fungsi ekstensi certificateBindingState menentukan bahwa
sertifikat yang ditampilkan pada waktu permintaan cocok dengan salah satu sertifikat
perangkat yang terdaftar saat perangkat terdaftar dalam
verifikasi endpoint.
[[["Mudah dipahami","easyToUnderstand","thumb-up"],["Memecahkan masalah saya","solvedMyProblem","thumb-up"],["Lainnya","otherUp","thumb-up"]],[["Hard to understand","hardToUnderstand","thumb-down"],["Incorrect information or sample code","incorrectInformationOrSampleCode","thumb-down"],["Missing the information/samples I need","missingTheInformationSamplesINeed","thumb-down"],["Masalah terjemahan","translationIssue","thumb-down"],["Lainnya","otherDown","thumb-down"]],["Terakhir diperbarui pada 2024-12-05 UTC."],[],[]]