
Photo by Daiji Umemoto on Unsplash
Apple’ın sadece son kullanıcı tarafında değil, kurumsal dünyada da son yıllarda popülerleştiği hepinizin malumu. Apple web sitesi, IBM, SAP gibi büyük şirketlerin kitleler halinde diğer platformlardan Mac’e geçiş hikayeleri ile dolu.
Farklı platformlardan Apple’a geçiş hikayelerinde, sürecin herhangi bir ucunda olan firmalar konuyu “bizim sayemizde oldu” diye sahiplenseler de işin aslı pek öyle değıil.
MDM / EMM ürünleri mesela Microsoft Office veya Adobe Creative Cloud gibi kutudan çıktığı haliyle kullanılabilecek yazılım çözümleri değildir. Bu ürünleri sunucunuza kurarsınız veya bulut tabanlı servislerine abone olursunuz. İlk yüklendiği haliyle MDM çözümü birçok giriş seviye konuda size yardımcı olsa da kullanım alanınız genişledikçe bazı eklentilere ihtiyaç duyar. Bu eklentiler bazen bir satırlık bir script olabilir, bazen de bir uygulama…
SAP Privileges, SAP firmasının kendi -binlerce cihazlık- Mac geçişi sırasında kendi iç kullanımı için geliştirdiği, sonrasında ise Apple ekosistemi ile paylaşmaya karar verdiği bir uygulama.
SAP Privileges Standart yetkili kullanıcılara geçici Admin yetkisi tanımlamak için kullanılır. Kullanıcı bilgisayarına yüklenmiş olan SAP Privileges uygulamasını açar, Admin yetkisi talep eder ve bu hak kendisine otomatik olarak belirli bir süre için verilmiş olur. Bu süre zarfında kullanıcı bilgisayarını kapatıp açsa dahi Admin yetkisi için atanan süre dolmamış ise Admin yetkisi ile kullanıma devam edebilir. Bu işi yapabilen tek çözüm de Privileges uygulaması değil. Farklı geliştiricilerin bu konuda farklı yöntemler ile geliştirdiği çözümler de bulunuyor.
SAP Privileges bir tür EPM (Endpoint Privileges Manager) ürünü değildir. Örneğin bir kullanıcıya bilgisayarını Standart kullanıcı yetkileri ile kullandırırken sadece xCode uygulaması özelinde bir Admin yetkisi vermez. SAP Privileges’in sunduğu geçici Admin yetkisi zaman bazlı bir sınırlama getirir sadece.
Nasıl kullanabilirim?
SAP Privileges’i SAP’nin GitHub sayfasından indirebilirsiniz. Veya bir MDM kullanıyorsanız birçok MDM ürününün uygulama kütüphanesinde bulunuyor. Kandji için Auto Apps üzerinden, Jamf Pro için Jamf App Catalog‘dan da edinebilirsiniz.
Privileges uygulamasını MDM üzerinden kullanıcılarınıza gönderdiğinizde, kullanıcılarınız eğer Standart yetkili kullanıcılar ise Privileges uygulamasını çalıştırarak kendi kendilerine geçici olarak Admin yetkisi alabilirler. Default ayar 20 dakikaya ayarlı durumdadır ve Dock üzerindeki simgesinden de aktif olup olmadığını ve kaç dk yetkiniz kaldığını öğrenebilirsiniz.


Burada sorun şu ki, Standart yetkili bir kullanıcı istediği kadar kullanabilir ve sonsuz bir Admin yetkisi ile bilgisayarını kullanabilir. Eğer Admin yetkisini bazı istisnai durumların haricinde şirketinizde sadece belirli bir kullanıcı grubuna vermek ve geri kalan herkesi Standart olarak tutmak istiyorsanız Privileges uygulamasının amacı dışında kullanımının önüne geçmelisiniz. Bunun için SAP Privileges uygulamasına ilişkin tercihler dosyasını düzenleyebilir ve bu dosyayı da MDM üzerinden kullanıcılarınıza gönderebilirsiniz. Böylece uygulama sizin belirlediğiniz ayarlar çerçevesinde çalışmaya başlar ve kullanıcı bu ayarları değiştiremez.
.plist Dosyaları ile Tanışalım
macOS işletim sisteminde uygulamaların tercihleri ayrı bir dosyada tutulur ve geliştirici bu yönde özel bir tercih yapmadıysa dosya uzantısı .plist‘tir. Property List dosyaları uygulamanın müdahale edilebilir bütün anahtarlarını içerir ve siz bunları isteğinize göre şekillendirebilirsiniz.
Aşağıda örnek olarak Dock tercihlerini barındıran .plist dosyasının bir kısmını görüyorsunuz. Kod üzerinde yeşil ile işaretlediğim alanlar, Dock’un büyütme özelliğinin açık olduğunu gösteriyor. Turuncu renkli alanlar ise Dock’un ekrandaki konumunu belirlemek için kullanılıyor.
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>largesize</key>
<real>104</real>
<key>last-analytics-stamp</key>
<array>
<real>774854401.09632897</real>
</array>
<key>loc</key>
<string>en_US:TR</string>
<key>magnification</key>
<true/>
<key>mod-count</key>
<integer>167</integer>
<key>orientation</key>
<string>bottom</string>
<key>persistent-apps</key>
<array>
Benzer bir dosya, SAP Privileges için de hemen hemen tüm uygulamalar için de bulunur. SAP Privileges uygulamasının da .plist dosyası corp.sap.privileges.plist ismiyle Home Library klasörünüzün içinde Preferences klasörünün içinde bulunur. Bu .plist dosyasının içeriğine bakacak olursanız yönetilebilecek farklı anahtarlar olduğunu görebilirsiniz. Burada kırmızı ile işaretlenmiş olan satır, bir kullanıcının Privileges uygulamasını kaç kere kullanabileceğini gösteriyor. Yeşil olan satır da her bir Admin yetkisi alındığında kaç dakikalık bir yetki verileceğini gösteriyor.
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>ExpirationInterval</key>
<integer>5</integer>
<key>ExpirationIntervalMax</key>
<integer>3</integer>
<key>PayloadUUID</key>
<string>5F5ADB81-A85F-4AD9-8416-A6727F40C222</string>
<key>ReasonMaxLength</key>
<integer>50</integer>
<key>ReasonMinLength</key>
<integer>2</integer>
<key>ReasonRequired</key>
<true/>
</dict>
</plist>
Peki bu .plist dosyasını nasıl düzenleyeceğiz?
Herhangi bir text editörü ile plain text formatında hazırlayabilir, önce .txt olarak kaydedebilir, sonra da dosya uzantısını .plist olarak değiştirebilirsiniz. Ama bununla uğraşmak yerine 3. parti MDM konfigürasyon profilleri hazırlayabilen yazılımlardan yardım alabilirsiniz. iMazing Profile Editor gibi… Eğer Apple’ın MDM Protokolü kapsamında kullanılabilecek bir profil dosyası hazırlamak istiyorsanız bunu basitçe Apple Configurator for Mac ile de yapabilirsiniz. Ama iMazing Profile Creator gibi araçlar sadece Apple’ın MDM şemasındaki payload’ları konfigüre etmek ile kalmazlar, aynı zamanda birçok 3. parti yazılımın da ayarlarını değiştirerek, birer konfigürasyon profili olarak kaydetmenizi sağlarlar. iMazing Profile Editor uygulamasını bu adresten indirebilirsiniz.
iMazing Profile Editor uygulamasını ilk defa açtığınızda karşınıza gelen General bölümünden oluşturacağınız Profil dosyasına bir isim vererek başlayabilirsiniz. Örneğin “SAP Privileges” gibi.
Identifer bölümünde gördüğünüz isim kendi bilgisayarınızın Local Hostname’i ile başlıyor ise burayı değiştirmenizi öneririm. iMazing Profile Editor ile ileride oluşturacağınız başka konfigürasyon profilleri ile oluşabilecek karışıklığı engellemiş olursunuz. Burada ters DNS yapısında bir isim verebilirsiniz. “com.mdmhow.kandji.sapprivilegessettings” gibi… Kurumunuzun adı, kullandığınız MDM çözümünün adı ve profilin kullanım amacını belirtmiş olursunuz.

Bu iki alanı doldurduktan sonra ekranın sağ üst kısmındaki arama kutucuğuna tıklayarak SAP yazarak SAP Privileges‘ı kontrol edebileceğiniz payload’a ulaşabilirsiniz. + Add Payload butonuna tıklayarak, SAP Privileges ayarlarını oluşturmakta olduğunuz profilinizin ayarlarına ekleyebilirsiniz.
SAP Privileges ayarlarına geçmeden önce şu basit bilgiyi de paylaşayım. Aslında teknik olarak bir adet konfigürasyon profili hazırlayıp, kullanıcı cihazlarında yönetmek istediğiniz her detayı tek profil ile de ulaştırabilirsiniz. Böylece MDM sunucudan kullanıcı bilgisayarına tek bir tane profil dosyası gider ve yapması gereken tüm işi de yapar. Ama gerçek hayat senaryolarında bu sürdürülebilir bir yaklaşım değildir. Çünkü örneğin bir Restriction (Kısıtlama) ile örneğin SAP Privileges uygulamasının ayarlarını birlikte tek konfigürasyon profili olarak kaydedecek olursanız, bu iki payload’u birlikte göndermek zorunda kalırsınız. Pazarlama bölümünde çalışanlar Restriction payload’unu alsın, İnsan Kaynakları da Restriction‘u almasın, sadece SAP Privileges‘ın ayarlarını alsın diyemezsiniz.
Bu nedenle best practice her bir profil dosyasını birbirinden ayrı ayrı kaydedip ayrı ayrı göndermektir.

SAP Privileges‘ın ayarlarına girdiğinizde kontrol edilebilir tüm anahtarları görebilirsiniz. Burada önemli bulduğum birkaç noktayı açıklamak istiyorum.
Expiration Interval: Kullanıcının Admin yetkisini kaç dakika kullanabileceğini gösterir. Sıfırdan büyük bir değer girebilirsiniz. Burada kullanıcıların Admin yetkisi ile yapmak isteyebilecekleri işlemleri gözönünde bulundurarak bir süre belirlemeniz yerinde olur. 2-3 dakika gibi süper kısa süreler belirleyecek olursanız muhtemelen kullanıcılarınız herhangi bir işlem yapamadan süreyi tüketmiş olacaklardır.
Expiration Interval Max: Bir kullanıcının Admin yetkisini gün içinde kaç kere alabileceğini belirlemek için kullanılır. Buraya örneğin 3 gibi bir değer yazabilirsiniz.
Allow CLI Biometric Authentication: Kullanıcıların Admin yetkisi istemesinin en kolay yolu Privileges uygulamasını kullanmasıdır. Ancak bununla birlikte CLI (Command Line Interface) üzerinden de Admin yetkisi alabilirler. Bunun için Terminal’i kullanarak PrivilegesCLI –add komutunu girmeleri yeterlidir. Allow CLI Biometric Authentication komutu, CLI üzerinden Admin yetkisi isteyen bir kullanıcının bu yetki verilmeden önce Touch ID veya FaceID benzeri bir biyometrik doğrulama yapmasını gerektirir.

Require User Authentication: Aynı Allow CLI Biometric Authentication komutu gibi bir kullanıcı doğrulaması ister. Ama bu sefer CLI üzerinden değil, grafik arayüz üzerinden gelen talepler için.
Reason Required: Kullanıcının Admin yetkisi talep etmeden önce bu yetkiyi neden kullanacağını belirtmesini zorunlu kılar. Hemen altındaki Reason Maximum Length bölümünden de yazacağı kısa açıklamanın ne uzunlukta olacağını belirleyebilirsiniz. 100 karakter gibi bir sınır ekleyebilirsiniz. Eğer kullanıcı bir neden belirtirken önceden hazırlanmış seçeneklerden birini kullanmasını istiyorsanız Reason Preset List bölümünden bu seçenekleri belirleyebilirsiniz.

Bunlar ve benim burada yazmadığım diğer ayarları da yaptıktan sonra iMazing Profile Editor’dan File > Save komutunu vererek kaydetmelisiniz. Elde ettiğiniz .mobileconfig belgesini kullandığınız MDM çözümüne yükleyerek SAP Privileges uygulaması ile birlikte kullanıcılarınıza gönderebilirsiniz.
Ayarlar, bir MDM konfigürasyon profili üzerinden yüklendiğinde son kullanıcının elinden Privileges uygulamasının ayarlarında değişiklik yapma haklarını almış olursunuz. Böylece istedikleri gibi süre ekleyememiş olurlar.

Durumum yoktu okuyamadım (TL;DR)
Hemen kısa bir özet geçeyim
• Bilgisayarlarını Standart kullanıcı yetkileri ile kullanan bazı kullanıcıların bazen Admin yetkisine ihtiyaçları olabilir
• Bu yetkiyi kendi kendilerine alabilmeleri için SAP’nin geliştirdiği Privileges isimli bir uygulama kullanılır
• Bu uygulama ile kullanıcılar kendilerine istedikleri kadar Admin yetkisi vermesinler diye, uygulamanın ayarları da merkezi olarak hazırlanıp kullanıcılara gönderilebilir.
• Bunları yapabilmek için 3. parti bir araç olan iMazing Profile Editor’dan yararlanılabilir.
Yorum bırakın