07
May

PaperWork ile Yetki Modeli Tasarımı


Fevzi Öztürk, Operasyon Direktörü

İçeriklere erişim kontrolü pek çok kurum için PaperWork’ün en önemli özelliklerden biridir. Bir PaperWork sistem yöneticisi için en zor görevlerden biri de içeriğe erişim için uygun erişim kontrol modelini tasarlayabilmektir.

Erişim kontrol modelinde ortaya çıkan ihtiyaçlar kurumdan kuruma büyük ölçüde farklılık göstermekle birlikte, aynı kurum içerisinde farklı departmanlar arasında da farklılıklar göstermektedir. PaperWork sistem yöneticisinin görevi erişim yetkilerini sistemin üzerinde olumsuz bir etki yaratmadan kurumun güvenlik hassasiyetlerine göre tasarlayabilmektir.

Bu yazımızda erişim yetki modeli tasarımında sıkça kullanılan yöntemler ile bir erişim yetki modelinin “iyilik derecesini” anlayabilmek için nasıl değerlendirilmesi gerektiğine değineceğiz.

PaperWork ile Erişim Yetki Setleri

Erişim kontrol modeli tabiri PaperWork içindeki nesnelere (doküman, kabinet vb.) erişimde kullanıcılar, kullanıcı grupları ve erişim yetkilerinin tasarımını anlatır. Erişim kontrol modeli tasarımında PaperWork’te Yetki Setleri kullanılır. Bu nedenle erişim kontrol modeline karar verebilmek için Yetki Setlerini iyi anlamak gerekir.

Yetki Setlerini daha iyi kavrayabilmek için bir yetki setinde yer alan 3 temel kavramı açıklamak yararlı olacaktır. Bir yetki setinde:

. Kullanıcı
. Nesne ve
. İşlem, olmak üzere 3 temel öğe bulunur.

Kullanıcı, belirli bir kullanıcı ya da kullanıcı grubu olarak anlaşılmalıdır. Rol ya da Grup tabanlı bir erişim kontrol modelinde Kullanıcı bir gruba ya da role karşılık gelir.

Nesne, PaperWork içerisinde yetkinin uygulanacağı ve Sistem tipindeki ya da Sistem tipinden türetilmiş herhangi bir nesneye karşılık gelir. Bu nesne bir kabinet, klasör, doküman ya da iş akışı olabilir.

İşlem, Kullanıcı tarafından Nesne üzerinde yapılabilecek işlemlere karşılık gelir. En basit ve anlaşılır işlemler erişim, okuma, yazma, silme gibi işlemlerdir, ancak PaperWork ile bir Nesne için tanımlı çok sayıda farklı İşlem bulunur.

PaperWork‘ ün erişim kontrol yapısı yetki setlerine dayanmaktadır. Bir yetki seti bir nesnenin erişim yetkilerini belirtir. Diğer bir anlatımla bir yetki seti [Kullanıcının] [Nesne] üzerindeki [İşlem] yetkilerini tanımlamak için kullanılır.

Yetki Seti [Kullanıcının] [Nesne] üzerindeki [İşlem] yetkilerini tanımlamak için kullanılır.

 


Sistem tipindeki her bir nesne ya da Sistem tipinden üretilmiş herhangi bir nesne kendisine ait bir yetki setine sahiptir.

Erişim kontrol modelinin yetki setleri ile nasıl uygulandığının daha iyi anlaşılabilmesi için gerçek hayatta da sıkça karşılaştığımız birkaç farklı örneğe değinmekte yarar var.

Örnek 1: Az Sayıda Yetki Seti

Bu modelde az sayıda yetki seti mevcuttur ve bu yetki setleri çok sayıda doküman ile ilişkilendirilmiştir. Eğer çok sayıda doküman bir yetki seti ile ilişkilendirilmiş ise yetki seti çok sayıda içeriği kapsıyor demektir.


Örnek 2: Özelleştirilmiş Yetki Setleri

Bu modelde çok sayıda özelleştirilmiş yetki seti bulunur. Her bir yetki seti çok az sayıda dokümana uygulanır ve dokümanların sayısı artıkça çok sayıda yetki seti oluşur. Bu modelin en uç noktası için örnek, her bir doküman için ayrı bir yetki seti oluşturmaktır. Böyle bir model genellikle erişim yetkileri diğer yazılımlar veya iş akışları aracılığı ile dokümanlara uygulandığında görülür.

 


Örnek 3: Kullanıcı Çok Sayıda Gruba Üye

Bu modelde bazı kullanıcı grupları tüm dokümanlarla ilişkilendirilir. Bazı kullanıcıların tüm dokümanlara erişmesi gerektiğinde de bu kullanıcılar tüm grupların içerisinde yer alırlar. Böylece bir kullanıcının yüzlerce hatta binlerce grupta yer aldığı bir model ortaya çıkar.

 

 

Bunlar yetki setleri ile gerçekleştirilebilecek erişim kontrol modeli uygulamalarına sadece birkaç örnektir. Kullanıcılar, kullanıcı grupları ve işlem yetkilerinin kombinasyonları ile ortaya çok sayıda farklı erişim kontrol model çıkabilir.

Eğer tasarladığınız erişim kontrol modeli uygulamanızda sorunlara yol açıyorsa, erişim kontrol modelinde ya da uygulamanızda, ihtiyacınız olan erişim güvenliğinden ödün vermeden yapabileceğiniz çok az değişiklik vardır. Erişim kontrol modelinizi uyarlamanızı bitirmeden, daha da kötüsü canlı kullanıma geçmeden sürekli ve düzenli olarak ihtiyaçlarınıza göre test ederek eksikleri belirlemek ve gerekli değişiklikleri yapmak sizi uzun vadede pek çok sorundan kurtaracaktır.

Sonuç olarak, uygulamanız için tasarladığınız erişim kontrol modelinin iyi bir model olduğunu nasıl anlayabilirsiniz?

Erişim Kontrol Modeli için Değerlendirme Kriterleri

Bir erişim kontrol modelinin “iyilik derecesini” değerlendirirken aşağıdaki değindiğimiz konulara dikkat etmekte yarar var.

Kullanıcılar, kullanıcı grupları ve erişim yetkilendirme ihtiyaçları zaman içinde değişiklik gösterdiğinden yetki setlerinin de güncellenmesi gerekir. Yetki setleri oluştururken bu değişiklik ihtiyaçlarının yönetimi de dikkate alınmalıdır. Bu değişiklik ihtiyaçları genellikle aşağıdaki gibi yönetimsel işlemler gerektirir:

. Bir kullanıcının şirketten ayrılması nedeniyle erişim yetkilerinin kaldırılması
. Yeni bir kullanıcıya dokümanlara erişim yetkisi verilmesi gerekmesi
. Bir kullanıcının yetkilerinde değişiklik yapılması

Örnek 2’deki gibi her doküman için özelleştirilmiş yetki setlerinin bulunduğu bir erişim yetki modelinin yönetimi son derece zordur. Erişim yetkileri değiştiğinde çok fazla sayıda yetki setinde değişiklik yapmak gerekir. Bu nedenle çok sayıda yetki setine sahip olmak sistem yöneticileri için yönetimi zor bir yetki modelidir.

Bir yetki seti içerisinde çok sayıda kullanıcının ya da kullanıcı grubunun bulunması yetki setinin güncellenmesini zorlaştırır. PaperWork yetki seti yönetim ekranları çok sayıda kullanıcı ya da grubun olduğu durumlarda kullanımı çok pratik olmayabilir.

Sonuç

Yukarıda yetki setleri ile gerçekleştirilebilecek ve sıkça görülen birkaç erişim kontrol modelinden bahsettik. Ancak Kullanıcı, Nesne ve İşlem öğelerinin farklı kombinasyonları ile gerçekleştirilebilecek pek çok farklı model var ve tüm bu olası modellerin bilinebilmesi çok zor.

PaperWork kullanıldıkça, kullanıcı sayıları, dokümanlar ve iş akışlarının sayıları artıkça uyarlanacak her erişim kontrol modeli belirli sınırlara dayanabilir. O nedenle erişim kontrol modelini planlarken hangi sınırlamalar ile karşılaşılabileceği düşünülmelidir. Örneğin:

Özelleştirilmiş yetki setlerinin kullanıldığı Örnek 2’deki gibi bir modelde günün sonunda milyonlarca hatta milyarlarca yetki seti oluşabilir.

Kullanıcıların çok sayıda gruba dahil olduğu Örnek 3’teki gibi bir modelde kullanıcılar yüzlerce hatta binlerce gruba dahil olabilirler.

Bir model yetki setlerinin içerisinde binlerce kullanıcıyı içerir hale gelebilir

Bir model bir grup içerisinde binlerce kullanıcı içerir hale gelebilir

Yukarıda bahsi edilen olası durumları göze alarak erişim kontrol modelinin ne tür sınırlamalar ile karşı karşıya kalacağı ya da ne tür yönetim zorluklarına yol açabileceği model tasarlanırken göz önüne alınmalıdır.

Erişim kontrol modelinin tasarlanmasında pek çok farklı yol bulunur ancak tüm modellerde bilinen en iyi yöntemleri belirlemek imkânsızdır. Bir erişim kontrol modelinin ne derecede iyi ya da doğru olduğunun değerlendirilmesi için aşağıdaki önerilen yolu izleyebilirsiniz.

. Tasarladığınız erişim yetki modelinin zaman içerisinde hangi sınırlamalar ile karşılaşabileceğini değerlendirin.
. Olabildiğince gerçek ortama yakın bilgiler ve içerikle tasarladığınız erişim kontrol modelinin simülasyonunu yapın.
. Kullanıcıların ve sistem yöneticilerinin işlerini yapmak için ihtiyacı olan fonksiyonları belirleyin ve erişim kontrol modelinizi bu fonksiyonlar ile test edin.