Microsoft Azure App Registration Oluşturulup Özelliklerinin Tanımlanması ve App Registration Kullanılarak Microsoft Office 365 Ortamında Bulunan Oda ve Ekipmanlara Graph Api Üzerinden Erişmek

1+

Merhaba arkadaşlar, daha önceki yazımda sizlere Microsoft Office 365 Ortamında Oda ve Ekipman (Rooms and Equipment) Tanımlama konusunda bahsetmiştim. Şimdiki yazımda da bu oluşturduğumuz oda ve ekipmanlara erişebilmemiz için Microsoft Azure üzerinde nasıl App Registration oluşturup ihtiyaca göre bunu nasıl tanımlayacağımızdan bahsedeceğim.

İlk olarak https://portal.azure.com/ adresine gidiyoruz. Burada tanent admin olarak oturum açıyoruz. Karşımıza Microsoft Azure Portal ana sayfası gelecektir.

Ana sayfa kısmında ya ekranda gelen “Azure services” kısmında var ise “App registrations” tıklıyoruz. yok ise de sonunda bulunan “More services” tıklayarak tüm azure servislerine gidip oradan bulabiliriz.

Eğer ana sayfa da “Azure Services” kısmı bulunmuyorsa sol üst köşede ki menü üzerinden “All services” seçeneğine de tıklayarak gidebiliriz. Burada açılacak ekran da ana sayfadaki “More services” ile aynı ekran olacaktır.

App Registrations sayfasına geldiğiniz zaman burada sizin karşınıza bir liste gelecektir. Bu liste de eğer daha önceden bir app oluşturmuşsanız veya sistemde var olan bir app var ise onları görebilirsiniz. “All applications” ve “Owned applications” ile tüm appleri ya da sadece sizin sahip olduğunuz appleri filtreliyebilir ya da hemen altında aratarak direk bulabilirsiniz. Biz burada yeni bir app oluşturacağımız için “New registration” kısmına tıklıyoruz ve yeni app oluşturma aşamasına gidiyoruz.

Karşımıza “Register an application” sayfası geliyor ve burada oluşturacağımız app ismini, erişecek hesap tiplerini ve redirect edecek adres tanımlamalarını girilmesini beklemektedir. Burada “Name” yazan kısma oluşturacağınız app için tanımlamanız gereken ismi yazmanız gerekmektedir. Eğer verdiğiniz isim uygun ise textbox sonunda onay belirten bir tick işareti ve renk değişimi olacaktır. Oluşturma sırasında da eğer başka bir app ismi ile aynı olduysa size bunun için uyarıda verecektir.

“Support account types” kısmında ise bu app uygulamasının hangi hesap tiplerine açık olacağını tanımladınızı ayar ekranı olacaktır. Ben burada ikinci seçeneği seçerek tanımlı olan tüm hesaplardan erişim sağlanmasını istiyorum. Bu kısım sonradan da güncellenebilir.

“Redirect URI” kısmı ise yanındaki parantezden de anlaşılacağı gibi kullanılacak uygulamaya göre hangi adresten istek alacağını tanımlamamız gerekmektedir. Uygulamamızı yaptığımız zaman localhost kısmında çalıştıracağımız için o adresi yazıyorum ve bu kısmı daha sonrasında sayısını arttırıp değiştirebiliyorum.

Burada gerekli tanımlamaları yaptıktan sonra “Register” butonuna basarak oluşturma işlemini tamamlıyorum.

Oluşturma işlemi tamamlandıktan sonra bizi direk appimizin sayfasına yönlendirecektir. Burada oluşturduğumuz app için bilgileri ve gerekli ayarlamaları yapabiliriz. Sol menü de app ile ilgili ayarlamaları yapabileceğimiz kısımlara erişebiliriz. Üst kısımda yer alan yer de oluşturduğumuz app ile ilgili Id bilgilierini ve hemen sağında da genel app ayarlarının detayını göstermektedir.

Bu kısım sol menüde yer alan “Overview” sekmesi ile gelmektedir ve appimizin giriş sayfasını oluşturmaktadır.

“Quickstart” kısmında bu app uygulamasını hangi platformda kullanacağınıza göre size size demo ve tutoriallarında olduğu microsoft kaynaklarına yönlendirmektedir. Bu dokümanlarda bunun o platformlarla nasıl entegre çalışacağını detaylı da anlatan videolarda yer almaktadır.

“Integration assistant” kısmında ise bu application uygulamasını hangi tip bir uygulamaya ekleyeceğinizi seçip api çağrısı yapıp yapmayacağını da seçerek size bu applicationın kullanıma hazır olması için yapılacakları detaylı bir check listini veriyor. Hem bunların yapılıp yapılmadığını gösterip yapılacak adıma yönlendirme ve yapılışı ile ilgili dokümana erişim gibi özelliklerde sunmaktadır.

“Branding” kısmında ise oluşturduğunuz app ile ilgili isim, logo, adres vb gibi özelliklerini tanımlayıp değiştirebileceğiniz kısımdır.

“Authentication” kısmında ise bu app uygulamanıza giriş yapılacak platformları ve bunların özelliklerini tanımlıyoruz. Gördüğünüz gibi ilk oluşturma sırasında seçtiğim web platformu ve adresi burada bulunmaktadır. Buraya hem birden fazla adres hemde platform ekleyip çıkartabilirsiniz.

Authentication kısmında aşağıya doğru indiğimiz zaman “Implicit grant” kısmını göreceksiniz.  Bu kısımda uygulamaya istek atıldığı zaman giriş endpointlerinin nasıl sağlanacağını belitmemiz gerekmektedir. Bu kısımda biz oda ve ekipmanlara bağlanacağımız için “Access tokens” ve “ID tokens” seçeneklerinin ikisini de seçiyoruz. Hemen altında da zaten uygulamayı oluştururken karşımıza çıkan erişilecek hesap tipini değiştirmemize olanak sağlamaktadır.

“Certificates & secrets” kısmında ise eğer uygulamanız da kullanmanız gereken bir sertifika var ise bunu ekleyebilirsiniz. Bunun dışında da uygulamanın size verdiği “Client Id” dışında da birden fazla ve belirli süreli client id ler tanımlamanızı ve ihtiyaçınıza göre bunları iptal etme olanağı sunmaktadır. Bu kısımda ihtiyaca ve isteğe göre kullanılabilecek güzel bir özelliktir.

“Token configuration” kısmında ise farklı token tiplerine göre farklı özelliklerle tanımlayabileceğiniz tokenlar üretmenizi sağlayan bir kısımdır. İhtiyaca ve isteğe göre kullanabilecek güzel bir özellik burasıda.

“API permissions” kısmında ise bu uygulamanın hangi apilere yetkisi olacağını tanımlamanız gerekmektedir. Bu uygulamayı ne için yaptığınıza göre bu kısımda yetkilendir yapmanız gerekmektedir. Bizim oda ve ekipman kullanıcılarının bilgilerine ve takvimlerine erişmemiz için burada ona uygun yetkiler tanımlamamız gerekmektedir.

Bu kısımda api yetki tanımlaması için “Add a permission” butonuna tıklıyoruz ve sağ tarafta çıkan ekranda “Microsoft APIs” sekmesinden ihtiyacımız olan “Microsoft Graph” apisi olduğu için onu seçiyoruz. Gördüğünüz gibi buradan Microsoftun diğer ürünleri olan Skype, Dynamics 365, Office 365, SharePoint gibi diğer bir çok ürününün apisine erişim sağlama olanağı vermektedir.

Yeni gelen ekranda “Delegated permission” seçeneğini seçiyoruz ve hemen altında graph api tarafında nereye erişebileceğimizi ile ilgili detaylı bir liste gelmektedir.

Benim bu uygulamayı kullanma amacı oda ve ekipmanların takvimine erişerek doluluk durumlarını kontrol etmek gerekirse rezervasyon yapmak gibi işlemler olduğu için “Calendars” kategorisini bulup buradaki tüm yetki seviyelerini işaretliyorum ve “Add permissions” diyerek yetki tanımlamasını yapıyorum.

Gördüğünüz gibi yetki tanımlamamız geldi. Burada isterseniz her yetkinin sonunda bulunan üç nokta ile bu yetkileri kaldırabilir ya da değiştirebilirim. Bunun dışında “Add permissions” diyerek aynı şekilde farklı yetkiler tekrardan tanımlayabilirim. Birde “Grant admin consesnt for yunusemrearac” dediği buton ile de bu yetkiler üzerindeki işlemlere admin seviyesinde yetki tanımlayabilirim.

Yapacağım işlemde her bir kullanıcı bu oda ve ekipmanların mail adresleri üzerinde oluşturma değiştirme gibi özellikler kullanacağı için bu işlemleri de yapabilmesi için ben bu yetkilere “Grant admin consent for yunusemrearac” butonu ile app üzerinde admin yetkisi verdim. Bu durumda yetkilerin “Status” tabında görünmektedir. İsteğe bağli kaldırıp tekrarda verebilirsiniz.

“Expose an API” kısmında ise API tarafından korunan verilere ve işlevlere erişimi kısıtlamak için özel kapsamlar tanımlanabilmektedir. Bu API’nın bölümlerine erişim gerektiren bir uygulamadır ve bir kullanıcının veya yöneticinin bunlardan bir veya daha fazlasına onay vermesini isteyebilir.

“Owners” kısmında ise bu oluşturduğunuz app için tam yetkisi olacak sahiplerini tanımlayıp düzenleyebileceğiniz kısımdır.

“Roles and administrators” kısmında ise tam denetim yetkisi dışında yönetim yetkileri tanımlayıp yönetebileceğiniz AD tarafındaki grupların geldiği kısımdır gruplara girerek işlemleri gerçekleştirebilirsiniz.

“Manifest” kısmında ise tüm bu app ile ilgili bilgilerin yer aldığı JSON dosyanını görmektesiniz. Bunu indirebilir daha sonra başka zaman bu özelliklerde bir app daha oluşturmak isterseniz bu kısımdan yükleyerek ayarlamaları yapabilirsiniz. Burada yaptığınız değişikliklerde kaydettikten sonra app içerisinde yansıyacaktır.

“Troubleshooting” kısmında ise yaşadığınız problemlerle ilgili bizi yönlendirecek güzel bir dokümantasyon özelliği sunaktadır.

“New support request” kısmında ise eğer yaşadığınız sorunla ilgili “Troubleshooting” sekmesinde yer alan dokümantasyonda da bir sonuç alamadığınız zaman azure tarafında teknik destek almanızı sağlayacak güzel bir özellik olarak gelmektedir.

Gördüğünüz gibi azure tarafında bir application nasıl oluşturabileceğinizden ve ihtiyacınıza göre bu uygulamayı nasıl configuration kısımlarını ayarlayabileceğinizden bahsettim. Ben bu uygulamayı Office 365 tarafında oda ve ekipmanların takvim ve bilgilerine erişmek için kullanmak istediğimden dolayı buna göre ayarlamalarını yaptım.

Artık azure tarafında application hazır ve istediğimiz platform üzerinden bu app üzerinden azure oda ve ekipmanlarına erişebiliriz.

1+

Bir cevap yazın

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