Power Automate Flow Kullanarak SharePoint Online Liste Öğesinde Yetki Kırarak Yeni Yetki Verme İşlemi

Merhaba arkadaşlar bugün sizlere Power Automate Flow kullanarak SharePoint Online liste öğresinde nasıl yetki kıracağımızdan bahsedeceğim.

İlk olarak yetki kırma işlemini gerçekleştireceğimiz SharePoint Online listesine gidiyoruz.

Listemizin list view sayfasında üst menü de yer alan “Automate” sekmesinin altında yer alan “Power Automate” sekmesininde altında yer alan “Create a flow” mwnüsüne tıklıyoruz.

Ekranımızda karşımıza gelen sağ yan popup ekranında “Create a flow” başlığı altında sharepoint bulunan hazır flow template lerini göreceksiniz. Burada biz kendimiz sıfırtan bir tane oluşturmak istediğimiz için en altta yer alan “See your flow” linkine tıklıyoruz. Bu linke bir önceki ekran da yer alan menüde de var ve oradan da gidilebilir.

Karşımıza yeni sekmede “Power Automate” sitesinde “My flows” ekranı gelecektir. Burada hem kendi oluşturduğunuz hem de yetkiniz olan flowları görüntüleyebilirsiniz. Biz yeni bir tane oluşturmak istediğimiz için üst menüden “New” altında yer alan “Automated – from blank” seçeneğini tıklayarak yeni flowumuzu oluşturuyoruz.

Ekranımızda gelen bir popup ile oluşturacağımız flow için bir isim vermemizi ve bu flowun nasıl tetikleneceğini seçmemiz gerekiyor. Ben flow ismine yetki kırma işlemi olduğu için “Item Permission” olarak verdim ve listeme her öğe eklendiğinde veya düzenlendiğinde çalışmasını istediğim içinde “When an item is created or modified” triggerını seçiyorum. Eğer sadece öğe eklendiğinde çalışmasını istiyorsanız “When an item is created” seçebilirsiniz. Burada bir çok senecekte mevcut bulunmaktadır. İsimlendirme ve tetikleme seçeneğini seçtikten sonra “Create” butonu ile flowumuzu oluşturuyoruz.

Karşımıza gelen flow ekranında ilk aşama olarak seçtiğiniz liste öğesi eklendiğinde ya da düzenlendiğinde kısmı gelecektir. Burada “Site Address” kısmından listemizin olduğu sharepoint online site adresimizi seçiyoruz ve sonrasında hemen altında bulunan “List Name” kısmından da bu flowun öğe eklendiğinde ya da düzenlendiğinde çalışacağı sharepoint listesini seçiyoruz. Bu tanımlamalardan sonra da diğer işlemlerimizi eklemek için “+ New step” butonuna basarak flowumuza yeni bir adım ekliyoruz.

Karşımıza gelen yeni aşama ekranında hangi tür bir aksiyon seçerek bu adımı yapmamızı seçmemizi sağlayacak bir ekran geliyor. Burada isterseniz arama ile direk arayabilir ya da hangi ürün üzerinden işlem yapacağınız belli ise onu seçerek sadece o ürün üzerindeki aksiyonları filtreleyebilirsiniz. İlk aşama da tam isimlendirmeyi bilmediğimizi var sayarak ürün listesinin altındaki ok işaretine basarak tüm ürünleri listeliyoruz.

Gelen tüm ürün listesinde yapacağımız işlem Sharepoint ürünü işlemi olduğu için “SharePoint” ürünün bularak seçiyoruz.

Karşımıza sadece sharepoint ürünü ile yapabileceğimiz aksiyonlar geldi ve burada yapacağımız işleme en uygun olan “Stop sharing an item or a file” aksiyonunu bularak seçiyoruz. Bu aksiyon bize isminde de yazdığı gibi liste öğe ya da dosyasının paylaşımını durduracaktır.

Yeni gelen aksiyon adımında tekrardan yetki kırma işlemini yapacağımız site ve liste bilgilerini “Site Address” ve “List or Library Name”  alanlarından seçmemiz isteniyor. Bu bilgilere ek olarakta yetkisi kırılacak olan öğenin “Id” bilgisi istenmektedir. Eğer sabit bir öğe olmuş olsaydı buraya elle o öğenin kimlik numarasını yazabilirdik ama biz her işlem yapılan öğe için dinamik olmasını istediğimizden dolayı “Id” alanının sağ alt kısmında yer alan “Add dynamic content” kısmına tıklıyoruz ve açılan popup ekranında “Dynamic content” sekmesinden “ID” alanını seçiyoruz. Bu bize o an işlem yapılan liste öğesinin kimlik bilgisini almamızı sağlayacak ve dinamik bir yapı kurmamızı sağlayacaktır.

Bu adımı tamamladıktan sonra listeye eklenen öğenin yetkisinin durdurma işlemini tamamladık. Bu öğe üzerinden bulunan tüm yetkiler silindi. Şimdi diğer aşamada yetki vermek istediğimiz kullanıcılar tanımlamamız gerekmektedir. Bunun için “+ New step” butonu ile yeni adımımızı ekliyoruz.

Bu yeni adım ekranında da tekrardan “SharePoint” ürünün seçerek filtreleyip gelen aksiyon listesinden “Grant access to an item or a folder” aksiyonunu seçiyoruz ve öğemize yetki tanımlama aksiyonunu flowumuza ekliyoruz.

Bu adımda diğer adımlardaki gibi site ve liste bilgilerini “Site Address” ve “List or Library Name” alanlarından seçiyoruz. Öğe kimlik bilgisi kısmına da aynı öğe de işlem yapması ve dinamik bir yapı olması amacında önceki yetki durdurma adımında yaptığımız gibi seçim yapıyoruz. Bunların yanı sıra yetki verilecek kullanıcıları seçebileceğimiz “Recipients” ve bu kullanıcıların yetkisinin türünü seçeceğimiz “Roles” alanı gelmektedir. Burada yetki verilecek kullanıcıları sharepoint kullanıcılarından seçebiliyoruz ve yetki kısmına da düzenleme yetkisi olmasını istediğim için “Can edit” seçeneğini seçiyorum.

Burada yetki vereceğiniz kullanıcılar sabit değil ve dinamik olarak tanımlamak isteseniz eğer kimlik bilgisindeki gibi liste içerisindeki alanlara erişip oradan da seçim yapabilme sanşınız bulunmaktadır. Yukarıdaki ekran görüntüsünde de  bu adımlar görünmektedir.

Bu kısımda yetki verme adımı tamamlandıktan sonra flowumuzda herhangi bir sorun yok ise “Save” butonuna basarak flowumuzu kaydedebilir ve kullanmaya başlayabiliriz.

Flowumuzu kaydettikten sonra “Power Automate” sitesinde “My flows” menüsüne gittiğimizde oluşturduğumuz flowu görebilir bunu tekrardan düzenleyip üzerinde işlemler yapabiliriz. Bu ekran da “Flows” başlığı altında yer alan “My Flows” seçeneğinde sizin oluşturduğunuz ya da sahibi olarak eklendiğiniz flowlar “Team flows” seçeneği altında da ekip üyesi olduğunuz flowları görüntüleyebilirsiniz.

NOT: Yetki kırma işlemlerini bu adımların yerine rest api kullanarakta gerçekleştirebiliriz. Bunun için yine iki adım ekleme işlemi yapacağız ve bunlarda da rest api ile olduğu gibi önce yetki kıracağız sonra da tekrar yetki tanımlayacağız.

Bu işlem için yine ürünler kısmında “SharePoint” seçiyoruz ve oradaki aksiyonlardan “Send an HTTP request to SharePoint” aksiyonun seçiyoruz. Bu aksiyon bize sharepoint sitesine rest api istekleri atmamızı sağlayacaktır.

İlk işlem için “Site Address” kısmına yine sharepoint site adresini seçiyoruz ve yapmak istediğimiz işlemden dolayı da “Method” kısmında “Post” olarak seçiyoruz. Burada “Uri” kısmına da yetki kırma işlemi için kullandığımız rest api adresini ekliyoruz. Sonrasında “+ New step” diyerek yetki verme işlemi içinde yine “Send an HTTP request to SharePoint” aksiyonunu ekliyoruz.

Burada da ynı işlemleri bu sefer yetki verme işlemi için kullanacağımız rest api adresi ile veriyoruz ve “Save” butonu ile kaydediyoruz. Yetki verme işleminde rest api de bulunan “roledefid” parametresi için değerlerde aşağıdaki gibidir.

Role Definition Name Role Definition Id
Full Control 1073741829
Design 1073741828
Edit 1073741830
Contribute 1073741827
Read 1073741826
View Only 1073741924
Limited Access 1073741825

Yukarıda ki işlemlerde de gördüğünüz gibi her iki yöntem ile de yetki kırıp tekrar yetkilendirme işlemi yapabilmektedir. Hangi yöntemi seçeceğiniz size kalmıştır 🙂

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir