Bu sayfada, Android 8.0'da (API düzeyi 26) kullanıma sunulan ve Android in the enterprise'ı etkileyen yeni API'lere, özelliklere ve davranış değişikliklerine genel bir bakış sunulmaktadır.
Yeni API'ler ve özellikler
Profil sahibi ve cihaz sahibi yönetim modlarını her zamankinden daha güçlü, verimli ve temel hazırlığı her zamankinden daha kolay hale getirdik. Ayrıca, tümüyle yönetilen cihazlardaki iş profillerini kapsayan tamamen yeni bir dağıtım senaryosunu etkinleştirdik. Bunlar ve diğer özellikler aşağıdaki bölümlerde açıklanmıştır.
Tamamen yönetilen cihazlarda iş profilleri
Android 8.0'da, tümüyle yönetilen cihazların da iş profilleri olabilir. Bu sayede kuruluşlar, her iki profilde de kontrolü ve görünürlüğü korurken uygulamaları ve politikaları birbirinden ayırabilir. Yönetilen profili mevcut cihaz sahibi veya farklı bir cihaz politikası denetleyicisi (DPC) oluşturabilir.
Tümüyle yönetilen cihazlardaki iş profilleriyle cihaz sahipleri şunları yapabilir:
EXTRA_PROVISIONING_SKIP_USER_CONSENT
yöntemini çağırarak kullanıcı etkileşimi olmadan yönetilen bir profil oluşturun.- İkincil kullanıcılar veya yönetilen profiller oluşturulduğunda ya da kaldırıldığında bildirim alın. Geri çağırmalar
onUserAdded()
veonUserRemoved()
şeklindedir. - Diğer DPC'lerin
DISALLOW_ADD_MANAGED_PROFILE
kullanarak yönetilen profiller oluşturmasını engelleyin. Bu ayar, yeni temel hazırlığı yeni yapılmış veya Android 8.0'a yükseltilmiş cihazlardaki cihaz sahipleri için Android 8.0'da varsayılan ayardır. - Cihaz sahipleri, kullanıcıların
DISALLOW_REMOVE_MANAGED_PROFILE
kullanarak mevcut yönetilen profilleri kaldırmasını da engelleyebilir.
Cihaz sahipleri ve profil sahipleri, aynı APK'dan olmaları ve sahiplerin ilişkili olması durumunda birbirleriyle iletişim kurabilir (aşağıdaki Kullanıcı bağlantısı bölümüne bakın).
Bu yeni dağıtım senaryosunu destekleme hakkında daha ayrıntılı bilgi edinmek için tümüyle yönetilen cihazlardaki iş profillerine özel sayfayı inceleyin.
Kullanıcı ilişkilendirme
Bir cihaz sahibi ve bir profil sahibi aynı kuruluşu temsil ettiğinde:
Cihaz ve profil sahipleri aynı APK içinde birbirleriyle iletişim kurabilirler. Politikaları veya durumları paylaşmak isteyebilirler (yukarıdaki Tamamen yönetilen cihazlardaki iş profilleri bölümüne bakın).
Günlük kaydı veya kilitleme görevi modu gibi cihaz genelindeki özellikler ilişkili kullanıcılar için geçerli olabilir.
Bir profile veya kullanıcıya eklenen satış ortağı kimlikleri, kuruluşları tanımlar. Satış ortağı kimlikleri eşleştiğinde kullanıcılar ilişkilendirilebilir. Cihaz sahipleri ve profil sahipleri, satış ortaklığı kimliklerini ayarlamak için setAffiliationIds() yöntemini kullanır. Tahmin edilmesi zor, uzun dize kimlikleri kullanan kuruluşları temsil eder.
Satış ortağı kullanıcılar için yeni erişim
Bir cihazdaki tüm ikincil kullanıcılar ve profiller cihaz sahibiyle ilişkiliyse aşağıdaki özellikler kullanılabilir:
setSecurityLoggingEnabled()
ile güvenlik günlük kaydı.setNetworkLoggingEnabled()
kullanarak ağ etkinliği günlük kaydı.requestBugreport()
kullanarak hata raporlama.
Güvenlik günlük kaydı ve hata raporlama, önceden yalnızca tek kullanıcılı veya tek bir profili ve bir kullanıcısı olan cihazlarda kullanılabiliyordu.
Görev kilitleme modu, setLockTaskPackages()
üzerinden cihaz sahibiyle ilişkilendirildiğinde ikincil kullanıcılar ve yönetilen profiller tarafından kullanılabilir.
Kullanıcı ilişkileri hakkında daha ayrıntılı bilgi için İlişkili kullanıcılar bölümünü inceleyin.
Özelleştirilmiş temel hazırlık sorumluluk reddi beyanları
DPC'ler artık temel hazırlık sırasında kullanıcılara kendi sorumluluk reddi beyanlarını gösterebilir. Stil verilmiş metin sorumluluk reddi beyanları sağlamak için
EXTRA_PROVISIONING_DISCLAIMERS
,
EXTRA_PROVISIONING_DISCLAIMER_HEADER
ve
EXTRA_PROVISIONING_DISCLAIMER_CONTENT
kullanın. DPC'nin özel sorumluluk reddi beyanları, daraltılabilir Şartlar listesinde gösterilir.
Güvenlik
Profil sahipleri ve cihaz sahipleri, bir cihazın veya parmak izi ya da güven aracıları gibi ikincil kimlik doğrulama yöntemi içeren bir profilin kilidini açarken zaman aşımı süresini yapılandırmak için setRequiredStrongAuthTimeout()
özelliğini kullanabilir. Zaman aşımı süresi sona erdiğinde kullanıcı şifre, PIN veya desen gibi güçlü bir kimlik doğrulama yöntemi kullanarak cihazın veya profilin kilidini açmalıdır.
Cihaz sahipleri ve profil sahipleri, cihaz ve iş profili şifrelerini resetPasswordWithToken()
kullanarak güvenli bir şekilde sıfırlayabilir.
Dosya tabanlı şifrelemeyi destekleyen cihazlarda bu API, DPC şifrelemeye duyarlı olması koşuluyla kullanıcı cihazının veya profilinin kilidini açmadan önce kullanılabilir.
Dosya tabanlı şifrelemeyi destekleyen bir cihazda iş profili kilitlenirken lockNow(int)
, isteğe bağlı olarak FLAG_EVICT_CREDENTIAL_ENCRYPTION_KEY
kullanarak iş profilinin birincil şifreleme anahtarlarını çıkarabilir.
Kullanıcı iş profilini devre dışı bıraktığında da şifreleme anahtarları atılır.
Cihaz sahipleri, şirkete ait cihazlardan başlatılan DNS sorgularının ve TCP bağlantılarının ağ günlük kaydını etkinleştirmek için setNetworkLoggingEnabled()
özelliğini de kullanabilir. Daha fazla bilgi için Ağ Etkinliği Günlüğü sayfasını inceleyin.
Profil sahipleri, birincil kullanıcı paketlerinden hangilerinin iş profili bildirimlerini görüntüleyebileceğini kısıtlayabilir. NotificationListenerService
üzerinden etkinlik alan, izin verilenler listesindeki paketleri ayarlamak için setPermittedCrossProfileNotificationListeners()
numaralı telefonu arayın. İzin verilen işleyicileri null
(varsayılan) değerine ayarlamak, izin verilenler listesini devre dışı bırakır ve tüm paketler bildirimleri dinleyebilir. Etkinlikleri sistem paketleriyle sınırlamak için boş bir Set iletin. İş profili bildirimlerine erişemeyen uygulamaları görüntülemek için kullanıcılar Ayarlar > Uygulamalar ve bildirimler > Özel uygulama erişimi > Bildirim erişimi'ne dokunabilir.
Son olarak, profil sahipleri ve cihaz sahipleri getPendingSystemUpdate()
kullanarak bir cihazda bulunan beklemedeki sistem güncellemeleri hakkında bilgi alabilirler.
App Management API yetkisi
API yetkisi, cihaz sahiplerinin ve profil sahiplerinin uygulama yönetimini diğer uygulamalara tamamen aktarmasına olanak tanır. DevicePolicyManager
sınıfı, cihaz ve profil sahiplerinin bir pakete verebileceği yetki kapsamlarını yönetmeyi sağlayan yöntemler sunar:
setDelegatedScopes()
yöntemi, cihaz sahiplerinin ve profil sahiplerinin diğer uygulamalara ayrıcalıklı API'lere erişim izni vermesine olanak tanır.getDelegatedScopes()
yöntemi, bir pakete verilen kapsamları döndürür.getDelegatePackages()
, kapsamı olan paketleri döndürür.
Aşağıdaki tabloda DevicePolicyManager
içindeki çeşitli yöntemlerin farklı kapsamlar halinde nasıl düzenlendiği gösterilmektedir:
Uzun süredir çalışan arka plan hizmetleri
Cihaz ve profil sahipleri, arka plan hizmetleri oluşturmak için DeviceAdminService
alt sınıfı oluşturabilir. Android sistemi, kullanıcı çalışırken hizmetin çalışmaya devam etmesini sağlamaya çalışır.
Periyodik görevler çalıştırmak istiyorsanız arka plan hizmeti oluşturmadan önce JobScheduler
hizmetini kullanabilirsiniz.
Yedekleme hizmetini kontrol etme
Cihaz sahipleri, DevicePolicyManager
uygulamasındaki yeni yöntemleri kullanarak Android Yedekleme Hizmeti'ni açıp kapatabilir. setBackupServiceEnabled()
kullanarak yedekleme hizmetini etkinleştirin ve devre dışı bırakın.
isBackupServiceEnabled()
kullanarak yedekleme hizmet durumunu kontrol edin.
Kablosuz proxy yapılandırması
Cihaz sahipleri ve profil sahipleri, kablosuz ağlar için HTTP proxy sunucuları yapılandırabilir. Her kablosuz ağ için bir proxy sunucu yapılandırmak üzere PAC dosyası veya manuel ayarlar kullanın. Bir WifiConfiguration
için proxy'yi ayarlamak veya kaldırmak üzere ilgili
setHttpProxy()
yöntemini çağırın. Proxy ayarlarını almak için
getHttpProxy()
.
Yönetici tarafından devre dışı bırakılan özellikler için açıklama iletişim kutuları
Uygulamanız, yönetici tarafından devre dışı bırakılan bir özelliği kullanmaya çalışan kullanıcılara faydalı bir açıklama göstermelidir. Artık tüm uygulamalar startActivity(Intent)
uygulamasına iletildiğinde açıklama iletişim kutusu görüntüleyen bir amaç oluşturmak için createAdminSupportIntent()
kullanabilir.
Bu amaçlar arasında, devre dışı bırakılan kameralar için özelleştirilmiş, yerelleştirilmiş açıklamalar, devre dışı bırakılan ekran görüntüleri ve tüm UserManager
kısıtlamaları bulunur.
Bluetooth kısıtlanıyor
Cihaz sahipleri Bluetooth'u devre dışı bırakabilir ve bu işlem, cihazdaki tüm kullanıcıları ve profilleri etkiler. Bluetooth'u kapatmak için kullanıcı kısıtlamasını ekleyin
DISALLOW_BLUETOOTH
.
Cihaz sahipleri ve profil sahipleri, kullanıcıların DISALLOW_BLUETOOTH_SHARING
kullanarak Bluetooth üzerinden dosya göndermesini engelleyebilir. Dosya alma işlemi
etkilenmiyor. DISALLOW_BLUETOOTH_SHARING
, bir cihaz sahibi tarafından ayarlandığında cihazdaki tüm kullanıcılar için geçerli olur. Bu ayar, Android 8.0 sürümüne yükseltilen cihazlardaki yeni profiller ve mevcut profiller için Android 8.0'da varsayılan ayardır.
Davranış değişiklikleri
DPC'ler de dahil olmak üzere işletmeler için uygulama oluşturuyorsanız Android 8.0'da aşağıdaki davranış değişikliklerini incelemeniz ve uygulamanızda gerekli değişiklikleri yapmanız gerekir.
Kullanıcıları kaldırma
DISALLOW_REMOVE_USER
etkinleştirilmiş olsa bile, cihaz sahipleri removeUser()
kullanarak ikincil kullanıcıları ve yönetilen profilleri kaldırabilir.
Güvenlik
Kimlik doğrulama
Aşağıdaki değişiklikler DevicePolicyManager
sınıfında geçerlilik kazandı:
lockNow()
yöntemi, iş profilini yalnızca ayrı bir iş sorgulaması etkinse kilitler.resetPassword()
yöntemi artık cihaz sahibi ya da profil sahibi olarak görev yapan ve Android 8.0'ı hedefleyen DPC'ler tarafından kullanılamaz. Çağrıldığında bir güvenlik istisnası atılır. Bunun yerine, DPC'lerresetPasswordWithToken()
kullanmalıdır.Not: Android 7.1.1 (API düzeyi 25) veya önceki sürümleri hedefleyen VPC'ler ve yalnızca cihaz yöneticisi ayrıcalıklarına sahip DPC'ler bu değişiklikten etkilenmeyecektir.
- Dosya tabanlı şifrelemeyi destekleyen cihazlarda, yeniden başlatma sonrasında kullanıcı cihazın kilidini ilk kez açmadan
isActivePasswordSufficient()
kullanılamaz. Kullanıcı cihazın kilidini açmadan önce çağrılırsa bir istisna atılır.
Kilitli iş profillerinden veriler
Android 8.0, kilitli bir iş profilinden verileri ayırmak için kullanıcı arayüzü değişiklikleri içerir.
- İş profilindeki uygulamaların bildirimleri artık bu uygulamaların içeriklerini gizleyebilir. Önceden bildirim çekmecesinde, kilitli bir iş profilindeki iş uygulamaları içeriği gösteriliyordu.
- Son Kullanılanlar ekranı artık kilitli bir iş profilinden uygulamaların çalıştırılması için düz bir panel göstermektedir. Sade, renk içeren panelde bir uygulamanın simgesi ve adı yer alır. Önceden kilitli bir iş profilindeki etkinlikler veya görevler Son Kullanılanlar ekranında bir önizleme gösteriyordu.
Cihaz bütünlüğü
ENSURE_VERIFY_APPS
işareti artık genel bir kullanıcı kısıtlamasıdır. Cihazdaki herhangi bir kullanıcı bu kısıtlamaya sahipse uygulama doğrulama işlemi cihazdaki tüm kullanıcılar için zorunlu kılınır. Örneğin, bir profil sahibi iş profilindeki kısıtlamayı ayarlarsa uygulama doğrulaması kullanıcının kişisel profilinde zorunlu kılınır.onSystemUpdatePending()
yöntemi artık cihaz sahiplerinin yanı sıra profil sahipleri için de çağrılıyor.SystemUpdatePolicy
sınıfı kullanılırken erteleme politikası artık güvenlik yamalarına uygulanmaz, bu nedenle güvenlik yamaları artık ertelenemez. Ancak otomatik ve aralıklı gibi diğer politika türlerinin davranışı etkilenmez.- Cihaz sahipleri,
DISALLOW_FACTORY_RESET
etkin olsa bilewipeData()
kullanarak fabrika ayarlarına sıfırlama işlemini tetikleyebilir.
Her zaman açık VPN
Android 8.0, kullanıcıların her zaman açık VPN bağlantılarının durumunu anlamalarına yardımcı olmak için kullanıcı arayüzü değişiklikleri içerir:
- Her zaman açık VPN bağlantıları kesildiğinde veya bağlanamadığında kullanıcılar kapatılamayan bir bildirim görür. Bildirime dokunduğunuzda VPN yapılandırma ayarları gösterilir. VPN'e yeniden bağlanıldığında veya kullanıcı her zaman açık VPN seçeneğini kapattığında bildirim kaybolur.
- Her zaman açık VPN, cihazı kullanan kişinin VPN'i kullanmayan ağ bağlantılarını engellemesine olanak tanır. Bu seçenek açıldığında Ayarlar uygulaması, kullanıcıyı VPN bağlantısı olana kadar internet bağlantısı olmayacağı konusunda uyarır. Ayarlar, kullanıcıdan devam etmesini veya iptal etmesini ister.
VPN uygulamalarının VpnService
kadarı, lansmandan sonra artık startForeground()
yöntemini çağırmalıdır. Android sistemi bir VPN uygulamasının hizmetini doğrudan başlattığından, ön plana geçiş yapmak uygulamanın sorumluluğundadır. Android 8.0, VPN hizmetini ön plana geçirmeyen VPN uygulamalarını kapatır.
Şifre geri aramaları
DeviceAdminReceiver
alanının şifre değişikliği geri çağırmaları artık şifrenin ait olduğu kullanıcıyı veya profili tanımlamak için bir user
parametresi içeriyor. Yeni yöntem imzaları şunlardır:
onPasswordChanged(Context, Intent, UserHandle)
onPasswordExpiring(Context, Intent, UserHandle)
onPasswordFailed(Context, Intent, UserHandle)
onPasswordSucceeded(Context, Intent, UserHandle)
Her yeni yöntemin varsayılan uygulaması, kullanıcı bağımsız değişkenini çıkararak önceki sürümü çağırır. Android 8.0 önceki yöntemleri kullanımdan kaldırır.
App Management API yetkisi
DevicePolicyManager
sınıfında yer alan aşağıdaki yöntemler artık kullanımdan kaldırılmıştır:
setCertInstallerPackage()
getCertInstallerPackage()
setApplicationRestrictionsManagingPackage()
getApplicationRestrictionsManagingPackage()
Ayrıca artık tek bir kapsamı birden fazla pakete yetkilendirmek mümkündür. Başka bir deyişle, cihaz sahipleri ve profil sahipleri aynı API grubuna aynı anda iki farklı pakete erişim izni verebilir.