Policy Engine içinde yüzlerce kural bulunduğunu düşünün.
Peki bir kullanıcı aynı anda birden fazla kurala uyuyorsa ne olur?
İşte bu problemi çözmek için Priority kavramı kullanılır.
Çakışan Kurallar
Örneğin elimizde şu iki kural olsun:
Policy 1
Department = Employee
↓
VLAN10
Enter fullscreen mode Exit fullscreen mode
Policy 2
Department = Employee
AND
Role = IT
↓
VLAN20
Enter fullscreen mode Exit fullscreen mode
Bir IT çalışanı her iki kurala da uyar.
Peki hangisi uygulanacak?
Priority
Her politika bir öncelik değerine sahiptir.
Önceliği daha yüksek olan politika önce değerlendirilir.
İlk eşleşen politika bulunduğunda değerlendirme sona erer.
Neden İlk Eşleşmede Duruyor?
Çünkü performans önemlidir.
Eğer sistem her kullanıcı için yüzlerce politikayı tek tek değerlendirseydi;
- Gereksiz işlem yapılırdı.
- Yanıt süresi uzardı.
- Sunucu yükü artardı.
İlk uygun kural bulunduğunda durmak çok daha verimlidir.
En Özel Kural En Üste
Policy yazarken genel kabul gören yaklaşım şudur:
En özel kurallar önce gelir.
En genel kurallar en sona bırakılır.
Örneğin;
- IT yöneticileri
- IT çalışanları
- Tüm çalışanlar
- Misafir kullanıcılar
Bu sıralama hem okunabilirliği artırır hem de beklenmeyen davranışların önüne geçer.
Gerçek Hayattan Bir Örnek
Bir havaalanında önce diplomatik pasaport sahipleri kontrol edilir.
Daha sonra business yolcuları.
En son normal yolcular.
Bunun nedeni de aslında bir öncelik mekanizması olmasıdır.
Sonuç
Priority yalnızca kuralları sıralamak için kullanılan bir sayı değildir.
Doğru kullanıldığında sistem performansını artırır, kural çakışmalarını önler ve yönetimi kolaylaştırır.
Policy Engine tasarımında en kritik kavramlardan biri doğru önceliklendirmedir.
답글 남기기