Dynamics 365 CE ‘de Application User Tanımlama

Bu yazı 02 Mayıs 2019 tarihinde Medium/@dynamics365 altında yayınlanmıştır. 15 Mayıs 2020 tarihinde emregulcan.com altında taşınmıştır.

İçerikler, yazının oluşturulduğu tarih için geçerli olup, Microsoft Dynamics 365 CE, Power Platform ve Azure hizmetlerinin sürekli iyileştirme ve güncelleme döngüsünden dolayı paylaşılan bilgilerde değişiklikler meydana gelmiş olabilir.

Merhaba,

Bu yazıda Dynamics 365 CE (CRM) ‘de Aralık 2016 güncellemesi ile birlikte kullanıma sunulan Application User (Uygulama Kullanıcısı) kavramından bahsedeceğim.

Application User ‘lar normal kullanıcı değildir, Azure Active Directory ‘de kayıtlı bir Application ‘a bağlı bir Dynamics 365 CE (CRM) kullanıcı hesabıdır ve Dynamics 365 CE (CRM) ‘de bu Application adına işlem gerçekleştirir. Bu nedenle authentication işlemi için kullanıcı adı ve parola yerine Application (Client) ID ve Client Secret kullanırlar.

Azure Active Directory ‘de Application tanımlama detaylarını anlattığım yazıya buradan erişebilirisiniz.

Application User ‘lar genellikle S2S (Server-to-Server) entegrasyon yapıları için kullanılmaktadır. S2S (Server-to-Server) hem sunucularımızda çalışan uygulamaların ya da API ‘lerin hem de Microsoft AppSource ‘da yayına aldığımız uygulamaların Dynamics 365 CE (CRM) ‘e erişimini sağlamak için kullanılması gereken yöntemdir.

S2S (Server-to-Server) kullanarak gerçekleştirilen tüm işlemler, uygulamaya erişen kullanıcı yerine bizim tanımladığımız Application User ile yapılır. Fakat Application User ‘a atayacağımız rol için Act on Behalf of Another User (prvActOnBehalfOfAnotherUser) yetkisi tanımlanarak, farklı bir kullanıcı (ya da oturum açan kullanıcı) adına işlem yapabiliriz. Impersonation olarak adlandırılan bu işlemi daha önce “OrganizationServiceProxy Impersonate – Farklı Bir Kullanıcı Yerine İşlem Yapmak” konulu yazıda detaylı olarak anlatmıştım.

S2S (Server-to-Server) uygulamalar hakkında detaylı bilgi için https://docs.microsoft.com/en-us/dynamics365/customer-engagement/developer/build-web-applications-server-server-s2s-authentication adresine bakabilirsiniz.

Tüm Application User tanımlamaları Non-interactive olarak tanımlanmaktadır, fakat Non-interactive User için geçerli olan 5 7 kullanıcı limitine takılmazlar, bu sayede istediğimiz kadar Application User tanımlaması yapabiliriz. Non-interactive User konusunu önceki yazımda detaylı olarak anlatmıştım.

Bu yazının emregulcan.com ‘a taşındığı tarihte (15 Mayıs 2020), https://docs.microsoft.com/en-us/power-platform/admin/create-users-assign-online-security-roles#create-a-non-interactive-user-account adresinde bulunan bilgiye göre Environment bazında 7 adet Non-Interactive kullanıcı hakkı tanımlanmış durumda.

A non-interactive user account lets these applications or tools – such as a connector from model-driven apps in Dynamics 365 to ERP – authenticate and access model-driven apps in Dynamics 365 without requiring a license. For each environment, you can create up to seven non-interactive user accounts

Dynamics 365 CE (CRM) ‘in güvenlik yapısı nedeniyle, tüm kullanıcılar gibi Application User ‘lar da en az bir güvenlik rolüne sahip olmalıdır.

Application User ‘lar sistemde yüklü olan default Dynamics 365 CE (CRM) güvenlik rollerinden herhangi biri ile ilişkilendirilemez. Bu nedenle sadece ilgili uygulama için geçerli olan bilgilere erişim sağlayacak özel bir rol tanımlaması yapılmalıdır.

OOB Güvenlik Rolü uyarısı
OOB Güvenlik Rolü uyarısı

Application User için önemli noktalar bu kadar, artık Application User tanımlaması nasıl yapılır ve nasıl kullanılır detaylarına geçebiliriz.

Azure Active Directory ‘de Application (Uygulama) Tanımlama (AppRegistration)

Eğer hazırda bir uygulamanız yoksa ve yeni tanımlama yapmak istiyorsanız Azure Active Directory ‘de Uygulama Tanımlama işlemlerini detaylı olarak anlattığım yazıyı okuyabilirsiniz.

Dynamics 365 CE ‘de Application User Tanımlama

Bildiğiniz gibi Dynamics 365 CE (CRM) Online ‘da kullanıcı oluşturma işlemleri Office 365 Admin Center üzerinden yapılmakta.

Fakat Application User (Uygulama Kullanıcısı) eklemek için Azure Active Directory ve direkt olarak Dynamics 365 CE (CRM) üzerinden tanımlama yapılmakta.

Öncelikli olarak Azure Active Directory ‘de kullanıcı oluşturmamız gerekmekte. Bunun için Azure Portal ‘da Active Directory seçilmeli ve Users menüsünden New User butonu kullanılarak yeni kullanıcı eklenmeli.

Active Directory Users (Kullanıcı) Ekranı
Active Directory Users (Kullanıcı) Ekranı
Active Directory — Users (Kullanıcı) Listesi
Active Directory — Users (Kullanıcı) Listesi
Active Directory — Yeni Kullanıcı Ekleme
Active Directory — Yeni Kullanıcı Ekleme

Bu ekranda Username bölümü Office 365 Admin Center ‘da olduğu gibi kullaniciadi@organizasyon.onmicrosoft.com formatında olmalıdır. Bu örnekte ben d365trserviceuser@dynamics365turkiye.onmicrosoft.com olarak tanımlama yaptım.

Active Directory ‘de tanımlanan kullanıcı, Office 365 Admin Center ‘da olduğu gibi bir lisanslama işlemine tabii olmadığı için Dynamics 365 CE (CRM) ‘e otomatik olarak eklenmiyor, bu nedenle kullanıcıyı Dynamics 365 CE (CRM) ‘de manuel olarak tanımlamamız gerekli. Bunun için Settings (Ayarlar) > Security (Güvenlik) > Users (Kullanıcılar) menü adımlarını izleyebilirsiniz.

İlk ve en önemli nokta kullanıcı listesi ekranında Görünüm Filtresi üzerinden Application Users (Uygulama Kullanıcıları) seçilmeli.

Security > Users > Application Users
Security > Users > Application Users

New butonu ile yeni kullanıcı ekleme ekranına geçiş yapabiliriz. Ekran açıldığında formu Application User olarak değiştirmeliyiz, böylece form arayüzü ve ilgili alanlar değişecek.

Dynamics 365 CE — Kullanıcı Tanımlama Ekranı
Dynamics 365 CE — Kullanıcı Tanımlama Ekranı

Bu ekranda Application ID , Fullname ve Primary Email değerlerini doldurmamız yeterlidir.

Account Information bölümünde yer alan Application ID bilgisine Azure Portal ‘de tanımladığımız Application detaylarından ulaşabiliriz.

User Information bölümünde yer alan Primary Email bilgisi Active Directory ‘de oluşturduğumuz kullanıcının Username bilgisidir.

Fullname alanına Dynamics 365 CE (CRM) kullanıcı listesinde ne görmek istiyorsanız girebilirsiniz. Elbette bu bilgi SystemUser lookup alanlarında da (CreatedBy , ModifiedBy , Owner) görüneceği için anlamlı bir isim girmenizi öneririm.

Bilgileri girip Save (Kaydet) yaptığımızda ise Application ID URI ve Azure AD Object ID bilgileri otomatik olarak dolacaktır.

Dynamics 365 CE — Kullanıcı Tanımlama Ekranı
Dynamics 365 CE — Kullanıcı Tanımlama Ekranı

Bu aşamadan sonra oluşturduğumuz kullanıcı için güvenlik rolü tanımlaması yapmamız gerekmekte. Yazının başında belirttiğim gibi Microsoft tarafından yayınlanan resmi dokümantasyona göre bu kullanıcı için Dynamics 365 CE (CRM) ‘in standart (OOB) güvenlik rolleri kullanılmamalı, bunun yerine custom güvenlik rolleri oluşturulmalı ve kullanıcıya bu roller tanımlanmalı.

OOB Güvenlik Rolü uyarısı
OOB Güvenlik Rolü uyarısı

Dynamics 365 CE (CRM) ‘de Application User tanımlama işlemi tamamlandı. Bu aşamadan sonra ilgili kullanıcıyı uygulamalarımızda kullanabiliriz.

Umarım faydalı bir yazı olmuştur.

You may also like...

Bir cevap yazın

E-posta hesabınız yayımlanmayacak.

This site uses Akismet to reduce spam. Learn how your comment data is processed.