Android 9'da kurumsal uygulamalar için neler var?

Bu sayfada, Android 9'da bulunan kurumsal API'ler, özellikler ve davranış değişikliklerine genel bir bakış sunulmaktadır.

İş profili kullanıcı arayüzü

Android 9 (API düzeyi 28), kullanıcıların kişisel ve iş uygulamalarını ayırmalarına yardımcı olmak için varsayılan başlatıcıda kullanıcı arayüzü değişiklikleri içerir. Bunu destekleyen cihaz üreticileri, kullanıcıların uygulamalarını ayrı iş sekmelerinde ve kişisel sekmelerde sunabilir. Ayrıca, başlatıcının iş sekmesine bir anahtar ekleyerek cihaz kullanıcılarının iş profilini açıp kapatmalarını kolaylaştırdık.

Şekil 1. Varsayılan başlatıcının kişisel sekmesi ve iş profili anahtarıyla iş sekmesi

Android 9, iş profilleri ve yönetilen cihazların temel hazırlığını yaparken cihaz kullanıcılarının bu özellikleri anlamasına yardımcı olacak animasyonlu resimler içerir.

Profiller arasında uygulamalar arasında geçiş yapma

Android 9, kullanıcıların hesaplar arasında geçiş yapmasına yardımcı olmak için farklı bir profilde bir uygulamanın başka bir örneğini başlatan API'ler içerir. Örneğin, bir e-posta uygulaması, kullanıcının iki e-posta hesabına erişmek için kişisel profil ile iş profili arasında geçiş yapmasını sağlayan bir kullanıcı arayüzü sağlayabilir. Aynı uygulamanın ana etkinliğini başlatmak için (diğer profilde zaten yüklüyse) tüm uygulamalar bu API'leri çağırabilir. Uygulamanıza profiller arası hesap geçişi eklemek için aşağıdaki CrossProfileApps sınıfının çağrı yöntemleriyle ilgili adımları uygulayın:

  1. Uygulamanın başka bir örneğini başlatabileceğiniz profillerin listesini almak için getTargetUserProfiles() numaralı telefonu arayın. Bu yöntem, uygulamanın profillerde yüklü olup olmadığını kontrol eder.
  2. Başka bir profili temsil etmek üzere kullanabileceğiniz bir simge almak için getProfileSwitchingIconDrawable() numaralı telefonu arayın.
  3. Kullanıcının profil değiştirmesini isteyen yerelleştirilmiş bir metin almak için getProfileSwitchingLabel() numaralı telefonu arayın.
  4. Uygulamanızın başka bir profilde bir örneğini başlatmak için startMainActivity() numaralı telefonu arayın.

Başlatmak istediğiniz ana etkinliğin, uygulamanızın manifest dosyasında ACTION_MAIN intent işlemiyle tanımlandığından ve CATEGORY_LAUNCHER amaç kategorisi içerdiğinden emin olun.

İş profillerini programlı olarak açma veya kapatma

Varsayılan başlatıcı (veya MANAGE_USERS ya da MODIFY_QUIET_MODE iznine sahip uygulamalar), UserManager.requestQuietModeEnabled() çağrısı yaparak iş profilini açıp kapatabilir. Durum değişmeden önce kullanıcının kimlik bilgilerini onaylaması gerekip gerekmediğini öğrenmek için döndürülen değeri inceleyebilirsiniz. Değişiklik anında gerçekleşmeyebileceğinden, kullanıcı arayüzünün ne zaman güncelleneceğini öğrenmek için ACTION_MANAGED_PROFILE_AVAILABLE veya ACTION_MANAGED_PROFILE_UNAVAILABLE yayınını dinleyin.

Uygulamanız, UserManager.isQuietModeEnabled() numaralı telefonu arayarak iş profilinin durumunu kontrol edebilir.

Herhangi bir uygulamayı bir cihazda kilitleme

Android 9'dan itibaren, cihaz sahipleri ve profil sahipleri (ikincil kullanıcıların) herhangi bir uygulamayı kilit görevi moduna alarak cihazın ekranına kilitleyebilir. Daha önce uygulama geliştiricilerin, uygulamalarında kilit görevi modu için destek eklemesi gerekiyordu. Android 9, kilitleme görevi API'lerini, ilişkili olmayan ikincil kullanıcıların profil sahiplerini de kapsayacak şekilde genişletir. Bir uygulamayı ekrana kilitlemek için aşağıdaki adımları uygulayın:

  1. Kilit görevi modundaki uygulamaları izin verilenler listesine eklemek için DevicePolicyManager.setLockTaskPackages() numaralı telefonu arayın.
  2. İzin verilenler listesine eklenmiş bir uygulamayı kilit görevi modunda başlatmak için ActivityOptions.setLockTaskEnabled() numaralı telefonu arayın.

Bir uygulamayı kilit görev modunda durdurmak için DevicePolicyManager.setLockTaskPackages() aracını kullanarak uygulamayı kilit görevi modundaki izin verilenler listesinden kaldırın.

Sistem kullanıcı arayüzü özelliklerini etkinleştir

Görev kilitleme modu etkinleştirildiğinde, cihaz sahipleri ve profil sahipleri DevicePolicyManager.setLockTaskFeatures() çağrısı yaparak ve aşağıdaki özellik bayraklarının bit alanını ileterek cihazda belirli sistem kullanıcı arayüzü özelliklerini etkinleştirebilirler:

Görev kilitleme modu etkinleştirildiğinde, cihazda kullanılabilen özelliklerin listesini almak için DevicePolicyManager.getLockTaskFeatures() numaralı telefonu arayabilirsiniz. Bir cihaz kilit görevi modundan çıktığında diğer cihaz politikalarının zorunlu kıldığı duruma geri döner.

Hata iletişim kutularını gizle

Perakende tanıtımları veya genel bilgi ekranları gibi bazı ortamlarda kullanıcılara hata iletişim kutuları göstermek istemeyebilirsiniz. Cihaz politikası denetleyici (DPC), DISALLOW_SYSTEM_ERROR_DIALOGS kullanıcı kısıtlamasını ekleyerek, çöken veya yanıt vermeyen uygulamalarla ilgili sistem hatası iletişim kutularını gizleyebilir. Bu kısıtlama, bir cihaz sahibi tarafından uygulandığında tüm iletişim kutularını etkiler. Ancak kısıtlama, profil sahipleri tarafından uygulandığında yalnızca birincil veya ikincil kullanıcıda gösterilen hata iletişim kutuları gizlenir. Bu kısıtlama, iş profillerini etkilemez.

Android 9'da, etkileyici tam ekran modunda çalışan uygulamalar kilit görevi modundayken hatırlatıcı balonunu göstermez. Hatırlatıcı balonu, kullanıcılara gösterilen (ilk lansmanda) yoğun içerik modundan nasıl çıkılacağını açıklayan bir paneldir.

Özel cihazlarda birden fazla kullanıcıyı destekleme

Android 9, özel cihazlar (eski adıyla COSU cihazlar) için geçici kullanıcı kavramını kullanıma sunuyor. Geçici kullanıcılar, birden fazla kullanıcının tek bir özel cihazı paylaştığı durumlar için tasarlanmış kısa süreli kullanıcılardır. Buna, kütüphane veya konaklama check-in kioskları gibi cihazlardaki herkese açık kullanıcı oturumları ve belirli cihazlarda (ör. vardiya çalışanları) sabit bir kullanıcı grubu arasındaki kalıcı oturumlar dahildir.

Geçici kullanıcılar arka planda oluşturulmalıdır. Bir cihazda ikincil kullanıcı olarak oluşturulurlar ve durdurulduğunda, geçiş yapıldığında veya cihaz yeniden başlatıldığında kaldırılır (ilişkili uygulamalar ve verilerle birlikte). Geçici kullanıcı oluşturmak için cihaz sahipleri şunları yapabilir:

  1. DevicePolicyManager.createAndManageUser() çağrısı yapılırken MAKE_USER_EPHEMERAL işaretini ayarlayın.
  2. Geçici kullanıcıyı arka planda başlatmak için DevicePolicyManager.startUserInBackground() numaralı telefonu arayın.

Android 9'u hedefleyen uygulamaların createAndManageUser() çağrısı yapılırken UserManager.UserOperationException yakalaması gerektiğini unutmayın. Kullanıcının neden oluşturulmadığını öğrenmek için istisnanın getUserOperationResult() yöntemini çağırın.

Etkinlik bildirimlerini alma

DeviceAdminReceiver aşağıdaki etkinlikler için bildirim alır:

Kullanıcılara etkinlik mesajları gösterin

Cihaz sahipleri, oturumlarını başlattıklarında ve sonlandırdıklarında kullanıcılara gösterilecek mesajları yapılandırabilir:

Çıkış yap ve kullanıcıları durdur

Cihaz sahipleri, ikincil kullanıcılar için çıkış yapma özelliğinin etkinleştirilip etkinleştirilmeyeceğini belirtmek üzere DevicePolicyManager.setLogoutEnabled() özelliğini kullanabilir. Çıkış yapma özelliğinin etkinleştirilip etkinleştirilmediğini kontrol etmek için DevicePolicyManager.isLogoutEnabled() numaralı telefonu arayın.

İkincil kullanıcıların profil sahipleri, ikincil kullanıcıyı durdurmak ve birincil kullanıcıya geri dönmek için DevicePolicyManager.logoutUser() numarasını arayabilir.

Cihaz sahipleri, belirli bir ikincil kullanıcıyı durdurmak için DevicePolicyManager.stopUser() aracını kullanabilir.

Paket önbelleğe alma

Sabit bir kullanıcı grubuna sahip paylaşılan cihazlarda kullanıcı temel hazırlığını kolaylaştırmak için (ör. vardiyalı çalışanlara yönelik cihazlar) çok kullanıcılı oturumlar için gereken paketleri önbelleğe almak mümkündür:

  1. APK olarak saklanacak paketlerin listesini belirtmek için DevicePolicyManager.setKeepUninstalledPackages() çağrısı yapın. Bu paketlerin listesini almak için DevicePolicyManager.getKeepUninstalledPackages() numaralı telefonu arayın.

  2. setKeepUninstalledPackages() aracılığıyla kaldırıldıktan sonra saklanan bir paketi yüklemek için DevicePolicyManager.installExistingPackage() numaralı telefonu arayın.

Ek yöntemler ve sabit değerler

Android 9, paylaşılan cihazlardaki kullanıcı oturumlarını daha fazla desteklemek için aşağıdaki yöntemleri ve sabit değerleri de içerir:

Paket verilerini temizle ve hesapları kaldır

Cihaz sahipleri ve profil sahipleri, belirli bir paketteki kullanıcı verilerini temizlemek için clearApplicationUserData() numarasını arayabilir. Bir hesabı AccountManager'ten kaldırmak için cihaz ve profil sahipleri removeAccount() numaralı telefonu arayabilir.

Kullanıcı kısıtlamaları ve ayarlar üzerinde daha fazla kontrol

Android 9, cihazda APN'ler, saat, saat dilimi ve sistem ayarlarını yapılandırabilme özelliğinin yanı sıra DPC'ler için bir dizi kullanıcı kısıtlaması sunar.

APN'leri yapılandırın

Cihaz sahipleri, bir cihazda APN'leri yapılandırmak için DevicePolicyManager sınıfında aşağıdaki yöntemleri kullanabilir:

Saati ve saat dilimini yapılandır

Cihaz sahipleri, bir cihazda saati ve saat dilimini ayarlamak için DevicePolicyManager sınıfında aşağıdaki yöntemleri kullanabilir:

Önemli ayarlarda kullanıcı kısıtlamalarını zorunlu kılma

Android 9, sistem özelliklerini ve ayarlarını devre dışı bırakmak için kullanıcı kısıtlamaları ekler. Kısıtlama eklemek için DevicePolicyManager.addUserRestriction() değerini aşağıdaki UserManager sabit değerlerinden biriyle çağırın:

Bir cihazda DISALLOW_CONFIG_BRIGHTNESS ve DISALLOW_CONFIG_SCREEN_TIMEOUT zorunlu kılınırsa cihaz sahipleri, API'yi kullanarak cihazda ekran parlaklığı, ekran parlaklığı ve ekran zaman aşımı ayarlarını yine de belirleyebilir DevicePolicyManager.setSystemSetting().

Ölçülen veriler

Cihaz sahipleri ve profil sahipleri, uygulamaların bir cihazın sayaçlı veri ağlarını kullanmasını engelleyebilir. Kullanıcı; maliyet, veri sınırları veya pil ve performans sorunları nedeniyle yoğun veri kullanımına karşı duyarlı olduğunda ağ sınırlı olarak kabul edilir. Uygulamaların sayaçlı ağları kullanmasını önlemek için paket adları listesini ileterek DevicePolicyManager.setMeteredDataDisabledPackages() çağrısı yapın. Şu anda kısıtlanmış olan uygulamaları almak için DevicePolicyManager.getMeteredDataDisabledPackages() numaralı telefonu arayın.

Android'de ölçülen veriler hakkında daha fazla bilgi edinmek için Ağ Veri Kullanımını Optimize Etme bölümünü okuyun.

DPC'leri taşıma

Cihaz politikası denetleyiciler (DPC'ler), bir cihaz veya iş profili sahipliğini başka bir DPC'ye aktarabilir. Bazı özellikleri Android Management API'ye taşımak, cihazları eski DPC'nizden taşımak veya BT yöneticilerinin EMM'nize geçmesine yardımcı olmak için sahipliği aktarabilirsiniz. Yalnızca DPC sahipliğini değiştirdiğiniz için bu özelliği, yönetim türünü (örneğin, yönetilen bir cihazdan iş profiline geçiş) değiştirmek için kullanamazsınız.

DPC'nizin bu sürümünün taşımayı desteklediğini belirtmek için cihaz yöneticisi politikaları XML kaynağını kullanabilirsiniz. Hedef DPC, <support-transfer-ownership> adlı bir öğe ekleyerek sahiplik alabileceğini belirtir. Aşağıdaki örnekte, bunu DPC'nizin cihaz yöneticisi XML dosyasında nasıl yapabileceğiniz gösterilmektedir:

<device-admin xmlns:android="http://schemas.android.com/apk/res/android">
    <support-transfer-ownership />
    <uses-policies>
        <limit-password />
        <watch-login />
        <reset-password />
    </uses-policies>
</device-admin>

Sahipliği yeni DPC uygulamasına taşımak isteyen DPC'ler, DeviceAdminInfo yöntemini supportsTransferOwnership() çağırarak hedef DPC'nin sürümünün taşımayı destekleyip desteklemediğini kontrol edebilir. Sahipliği aktarmadan önce, uygulama imzalarını karşılaştırarak hedef DPC'yi doğrulamak kaynak DPC'nin sorumluluğundadır. PackageManager sınıfı, kod imzalama imzalarıyla çalışma yöntemleri içerir.

Android, kaynak DPC'nin sistem ve kullanıcı politikalarını bir sahiplik aktarımı yoluyla korur. DPC'lerin bunları taşıması gerekmez. Kaynak DPC, PersistableBundle içindeki anahtar/değer çiftlerini kullanarak hedef DPC'ye özel veriler aktarabilir. Aktarım başarılı olduktan sonra hedef DPC, DevicePolicyManager.getTransferOwnershipBundle() çağrısı yaparak bu verileri alabilir.

Yönetilen bir cihazın veya iş profilinin sahipliğini aktarma adımları aynıdır:

  1. Kaynak DPC, hedef DPC sürümünün taşımayı destekleyip desteklemediğini kontrol eder ve hedef DPC'nin uygulama imzasının beklenen bir değerle eşleştiğini onaylar.
  2. Kaynak DPC, aktarımı başlatmak için transferOwnership() numarasını arar.
  3. Sistem, hedef DPC'yi etkin yönetici yapar ve yönetilen cihazın veya iş profilinin sahibi olarak ayarlar.
  4. Hedef DPC, onTransferOwnershipComplete() geri çağırmasını alır ve bundle bağımsız değişkenindeki değerleri kullanarak kendini yapılandırabilir.
  5. Aktarım sırasında bir sorun oluşursa sistem sahipliği kaynak DPC'ye geri verir. Kaynak DPC'nizin sahiplik aktarımının başarılı olduğunu onaylaması gerekiyorsa kaynak DPC'nin artık etkin yönetici olmadığından emin olmak için isAdminActive() numaralı telefonu arayın.

Profil sahibi değiştiğinde, iş profilinde çalışan tüm uygulamalar ACTION_PROFILE_OWNER_CHANGED yayınını alır. Yönetilen bir cihazda çalışan uygulamalar, cihaz sahibi değiştiğinde ACTION_DEVICE_OWNER_CHANGED yayınını alır.

Tamamen yönetilen cihazlarda iş profilleri

Cihaz sahibi ve profil sahibi olarak çalışan bir DPC'nin iki örneğinin aktarılması iki aşamada gerçekleşir. Kişisel profil ve iş profili ilişkilendirildiğinde aktarımı aşağıdaki sırayla tamamlayın:

  1. Öncelikle iş profilinin sahipliğini aktarın.
  2. İş profilinin hedef DPC'ye aktarıldığını onaylamak için DeviceAdminReceiver geri aramasını onTransferAffiliatedProfileOwnershipComplete() bekleyin.
  3. Son olarak, yönetilen cihazın sahipliğini hedef DPC'ye aktarın.

İnternet üzerinden (OTA) güncellemeleri erteleme

Cihaz sahipleri, kritik dönemlerde (ör. tatil dönemlerinde) cihazlarda çalışan OS sürümünü dondurmak için OTA sistem güncellemelerini 90 güne kadar erteleyebilir. Sistem, cihazın süresiz olarak donmasını önlemek için tanımlı herhangi bir dondurma süresinden sonra 60 günlük zorunlu bir arabellek uygular.

Dondurulma döneminde:

  • Cihazlar, bekleyen OTA güncellemeleriyle ilgili bildirim almaz.
  • Cihazlar, işletim sistemine OTA güncellemelerini yüklemez.
  • Cihaz kullanıcıları, Ayarlar'da OTA güncellemelerini manuel olarak kontrol edemez.

Dondurma süresi ayarlamak için SystemUpdatePolicy.setFreezePeriods() numaralı telefonu arayın. Dondurma dönemi yıllık olarak tekrarlandığından, dönemin başlangıç ve bitiş tarihleri, yılın başlangıcından itibaren geçen gün sayısını sayan tam sayılarla temsil edilir. Başlangıç günü, önceki dondurma dönemlerinin bitişinden en az 60 gün sonra başlamalıdır. Cihaz sahipleri, daha önce sistem güncelleme politikası nesnesinde ayarlanan dondurma dönemlerinin listesini almak için SystemUpdatePolicy.getFreezePeriods()'i çağırabilir. DevicePolicyManager.getSystemUpdatePolicy(), cihaz sahibi tarafından ayarlanan dondurma dönemlerini döndürecek şekilde güncellendi.

İş profilinde paylaşımı kısıtlama

Profil sahipleri, kullanıcı kısıtlamasını DISALLOW_SHARE_INTO_MANAGED_PROFILE ekleyerek kullanıcıların kişisel verileri cihazdaki bir iş profilinde paylaşmasını engelleyebilir. Bu kısıtlama, aşağıdaki intent'lerin işlenmesini ve paylaşılmasını engeller:

  • İş profili uygulamalarıyla veri ve dosya paylaşan kişisel profil uygulamaları.
  • Kişisel profilden öğe (örneğin, resimler veya dosyalar) seçen iş profili uygulamaları.

Bu kısıtlamayı ayarladıktan sonra DPC'niz addCrossProfileIntentFilter() yöntemini çağırarak profiller arası etkinlik amaçlarına izin vermeye devam edebilir.

Donanımla korunan anahtarlar ve makine sertifikaları

Android 9, cihazları güvenli bir şekilde tanımlamak için birleştirebileceğiniz anahtar ve sertifikalarla çalışmanıza yardımcı olacak API'ler ekler. Profil sahibi veya cihaz sahibi modlarında çalışan bir DPC ya da yetki verilmiş bir sertifika yükleyici aşağıdaki görevleri tamamlayabilir:

  • Android cihazın güvenli donanımında (ör. güvenilir yürütme ortamı (TEE) veya Secure Element (SE) gibi) anahtarlar ve sertifikalar oluşturun. Oluşturulan anahtarlar hiçbir zaman güvenli donanımdan dışarı çıkmaz ve Android KeyChain'den kullanılabilir. Algoritmayı (bkz. KeyPairGenerator) ve onaylanmasını istediğiniz donanım kimliklerini (ör. seri numarası veya IMEI) sağlayarak DevicePolicyManager.generateKeyPair() numaralı telefonu arayın. Güvenli donanım değişiklikleri hakkında daha fazla bilgi edinmek için Android 9 güvenlik iyileştirmeleri sayfasına göz atın.
  • Sertifikayı cihaz tarafından oluşturulmuş mevcut bir anahtarla ilişkilendirme Mevcut anahtarın ve sertifika zincirinin takma adını (yaprak sertifikasından başlayarak ve sırayla güven zincirini dahil ederek) sağlayan DevicePolicyManager.setKeyPairCertificate()'i çağırın.
  • Kullanmadan önce güvenli donanımın anahtarı koruduğundan emin olun. Anahtarı hangi mekanizmaların koruduğunu kontrol etmek için Anahtar Onayı bölümündeki adımları uygulayın.
  • Cihaz sahipleri ve yetki verilmiş sertifika yükleyiciler, Android sistem sürümlerine sahip cihazların donanım kimliklerinin imzalı bir bildirimini alabilir. idAttestationFlags bağımsız değişkeninde ID_TYPE_BASE_INFO, ID_TYPE_SERIAL, ID_TYPE_IMEI ya da ID_TYPE_MEID ifadelerinden birini veya daha fazlasını geçiren DevicePolicyManager.generateKeyPair() çağrısı yapın. Döndürülen sertifika, onay kaydındaki donanım kimliklerini içerir. Donanım kimliklerinin dahil edilmesini istemiyorsanız 0 parametresini iletin. Profil sahipleri yalnızca üretici bilgilerini alabilir (ID_TYPE_BASE_INFO ileterek). Cihazın kimlikleri onaylayabildiğini kontrol etmek için isDeviceIdAttestationSupported() numaralı telefonu arayın.
  • Anahtar sertifikalarının seçilemez hale gelmesini sağlayarak cihaz kullanıcılarının kurumsal anahtarları kötüye kullanmasını (kurumsal olmayan görevlerde) önleyin. Sistem, seçici panelinde seçilemeyen sertifikalara yer vermez. DeviceAdminReceiver.onChoosePrivateKeyAlias() geri çağırma yönteminizde takma adı kurumsal anahtarınıza döndürün. Böylece sistem, sertifikayı kullanıcı adına otomatik olarak seçer. Bir anahtarı seçilemez hâle getirmek için aşağıdaki DevicePolicyManager yöntemlerini çağırın:

Kuruluşlar, bu API'leri birleştirerek erişim sağlamadan önce cihazları güvenli bir şekilde tanımlayabilir ve bütünlüklerini onaylayabilir:

  1. Android cihaz, güvenli donanımda yeni bir özel anahtar oluşturur. Özel anahtar hiçbir zaman güvenli donanımdan çıkmadığı için gizli kalır.
  2. Cihaz, sertifika imzalama isteği (CSR) oluşturmak ve sunucuya göndermek için bu anahtarı kullanır. CSR, cihaz kimliklerini içeren onay kaydını içerir.
  3. Sunucu, sertifika zincirini (Google sertifikasına rootlanmış) doğrular ve onay kaydından cihaz meta verilerini çıkarır.
  4. Sunucu, güvenli donanımın özel anahtarı koruduğunu ve cihaz kimliklerinin kuruluşun kayıtlarıyla eşleştiğini onaylar. Sunucu ayrıca Android sistem ve yama sürümlerinin herhangi bir gereksinimi karşılayıp karşılamadığını kontrol edebilir.
  5. Sunucu, CSR'den bir sertifika oluşturur ve sertifikayı cihaza gönderir.
  6. Cihaz, sertifikayı özel anahtarla eşleyerek (güvenli donanımda kalan) uygulamaların kurumsal hizmetlere bağlanmasını sağlar.

Daha fazla güvenlik API'si, özellik ve değişiklik

Güvenlik günlükleri ve ağ günlükleri için kimlikler

Android 9, güvenlik ve ağ etkinliği günlüklerine kimlikler ekler. Her etkinlik için sayısal kimlik monoton bir şekilde artarak BT yöneticilerinin günlüklerindeki boşlukları tespit etmesini kolaylaştırır. Güvenlik günlükleri ve ağ günlükleri ayrı koleksiyonlar olduğundan sistem ayrı kimlik değerleri tutar.

Kimlik değerini almak için SecurityEvent.getId(), DnsEvent.getId() veya ConnectEvent.getId() numaralı telefonu arayın. DPC günlük kaydını etkinleştirdiğinde veya cihaz yeniden başlatıldığında, sistem kimliği sıfırlar. DevicePolicyManager.retrievePreRebootSecurityLogs() çağrısıyla getirilen güvenlik günlükleri bu kimlikleri içermez.

Güvenlik günlük kaydı

Güvenlik günlük kaydı, her SecurityEvent öğesine bir günlük düzeyi atar. Günlük düzeyini öğrenmek için getLogLevel() numaralı telefonu arayın. Bu yöntem, şunlardan biri olabilecek bir günlük düzeyi değeri döndürür: LEVEL_INFO, LEVEL_WARNING veya LEVEL_ERROR.

Android 9, aşağıdaki tabloda listelenen etkinlikleri güvenlik günlüklerine kaydeder. Bir etkinliğin etiketini kontrol etmek için getTag() çağrısı yapın. Etkinlik verilerini almak için getData() numaralı telefonu arayın.

Etiketle Etkinlik açıklaması
TAG_CERT_AUTHORITY_INSTALLED Sistemin kimlik bilgileri deposuna yeni bir kök sertifika yükleme girişimi.
TAG_CERT_AUTHORITY_REMOVED Bir kök sertifikayı sistemin kimlik bilgileri deposundan kaldırma girişimi.
TAG_CERT_VALIDATION_FAILURE Kablosuz sertifikası, bağlantı sırasında yapılan doğrulama kontrolünde başarısız oldu.
TAG_CRYPTO_SELF_TEST_COMPLETED Sistem, kendi kriptografik testini tamamladı.
TAG_KEYGUARD_DISABLED_FEATURES_SET Bir yönetici uygulaması, bir cihazın veya iş profili kilit ekranının özelliklerini devre dışı bıraktı.
TAG_KEY_DESTRUCTION Şifreleme anahtarı silme girişimi.
TAG_KEY_GENERATED Yeni bir şifreleme anahtarı oluşturma girişimi.
TAG_KEY_IMPORT Yeni bir şifreleme anahtarını içe aktarma girişimi.
TAG_KEY_INTEGRITY_VIOLATION Android, hasarlı bir şifreleme veya kimlik doğrulama anahtarı algıladı.
TAG_LOGGING_STARTED Güvenlik günlük kaydı kaydedilmeye başladı.
TAG_LOGGING_STOPPED Güvenlik günlük kaydı, kaydı durdurdu.
TAG_LOG_BUFFER_SIZE_CRITICAL Güvenlik günlüğü arabelleği, kapasitesinin% 90'ına ulaştı.
TAG_MAX_PASSWORD_ATTEMPTS_SET Bir yönetici uygulaması, izin verilen yanlış şifre denemesi sayısını belirliyor.
TAG_MAX_SCREEN_LOCK_TIMEOUT_SET Bir yönetici uygulaması, maksimum ekran kilidi zaman aşımı süresi ayarlamış olabilir.
TAG_MEDIA_MOUNT Çıkarılabilir depolama medyası cihaza takıldı.
TAG_MEDIA_UNMOUNT Cihaz, çıkarılabilir depolama medyasını çıkardı.
TAG_OS_SHUTDOWN Android sistemi kapandı.
TAG_OS_STARTUP Android sistemi başlatıldı.
TAG_PASSWORD_COMPLEXITY_SET Bir yönetici uygulaması, şifre karmaşıklığıyla ilgili gereksinimleri belirliyor.
TAG_PASSWORD_EXPIRATION_SET Bir yönetici uygulaması, şifrenin geçerlilik süresi için bir süre sonu belirledi.
TAG_PASSWORD_HISTORY_LENGTH_SET Bir yönetici uygulaması, kullanıcıların eski şifreleri yeniden kullanmasını önleyerek şifre geçmişi uzunluğu belirledi.
TAG_REMOTE_LOCK Bir yönetici uygulaması cihazı veya iş profilini kilitledi.
TAG_USER_RESTRICTION_ADDED Bir yönetici uygulaması, kullanıcı kısıtlaması ayarladı.
TAG_USER_RESTRICTION_REMOVED Bir yönetici uygulaması, kullanıcı kısıtlamasını kaldırdı.
TAG_WIPE_FAILURE Bir cihazı veya iş profilini silme girişimi başarısız oldu.

İş profili kilit ekranı sorgulaması

Android 9'dan itibaren profil sahipleri, DISALLOW_UNIFIED_PASSWORD kullanıcı kısıtlamasını kullanarak kullanıcıların iş profilleri için ayrı bir kilit ekranı sorgulaması ayarlamasını zorunlu kılabilir. Bir kullanıcının cihazı ve iş profili için aynı kilit ekranı sorgulamasının ayarlanıp ayarlanmadığını kontrol etmek için DevicePolicyManager.isUsingUnifiedPassword() numaralı telefonu arayın.

Bir cihazın ayrı bir iş profili kilit ekranı varsa DevicePolicyManager.setMaximumTimeToLock(), cihazın tamamı yerine yalnızca iş profili için kilit ekranı zaman aşımı ayarlar.

Geliştirici araçlarına erişim

Android Debug Bridge (adb) aracı, iş verilerinin iş profilinde kalmasını sağlamak amacıyla iş profilindeki dizinlere ve dosyalara erişemez.

Daha fazla biyometrik seçenek için destek

Android 9, iş profilinin kilit ekranında biyometrik donanım kimlik doğrulaması üzerinde ayrıntılı denetim sağlar. KEYGUARD_DISABLE_FACE ve KEYGUARD_DISABLE_IRIS ile mevcut DevicePolicyManager.setKeyguardDisabledFeatures() yöntemini çağırın. Cihaz tarafından sağlanan tüm biyometrik kimlik doğrulama yöntemlerini devre dışı bırakmak için KEYGUARD_DISABLE_BIOMETRICS ekleyin.

Cihaz yöneticisi politikalarının kullanımdan kaldırılması

Android 9, cihaz yöneticisi kullanan DPC'ler için aşağıda listelenen politikaları kullanımdan kaldırılmış olarak işaretler. Politikalar, Android 9'da daha önce olduğu gibi çalışmaya devam edecek. Android 10 sürümünden itibaren, bir cihaz yöneticisi tarafından çağrıldığında aynı politikalar bir SecurityException döndürür.

Bazı uygulamalar, tüketici cihaz yönetimi için cihaz yöneticisini kullanır. Örneğin, kayıp bir cihazı kilitleme ve silme. Bunu mümkün kılmak için aşağıdaki politikalar kullanılmaya devam edecektir:

Bu değişiklikler hakkında daha fazla bilgi için Cihaz yöneticisi desteğinin sonlandırılması konusunu okuyun.

Basitleştirilmiş QR kodu kaydı

Yerleşik QR kitaplığı

Android 9, QR kodu cihaz temel hazırlığını kolaylaştırmak için QR kitaplığıyla birlikte gelir. BT yöneticilerinin artık cihaz kurulumu için kablosuz ağ bilgilerini manuel olarak girmesi gerekmez. Bunun yerine, Android 9'da bu kablosuz ağ bilgileri bir QR koduna eklenebilir. BT yöneticisi şirkete ait bir cihazla QR kodunu taradığında, cihaz otomatik olarak kablosuz ağa bağlanır ve herhangi bir ek manuel giriş olmadan temel hazırlık işlemine girer.

QR kodu temel hazırlık yöntemi, kablosuz ağ ayrıntılarını belirtmek için aşağıdaki temel hazırlık eklerini destekler:

Temel hazırlık ek özelliklerini kullanarak tarih ve saat dilimi ayarlama

QR kodu temel hazırlık yöntemi, bir cihazda saat ve saat dilimini ayarlamak için ek özelliklerin temel hazırlığını destekler:

Veri silme seçenekleri

Cihaz yöneticileri, bir iş profilini veya ikincil kullanıcıyı kaldırırken kullanıcılara kişiselleştirilmiş bir mesaj gösterebilir. Bu mesaj, cihaz kullanıcılarının BT yöneticilerinin iş profilini veya ikincil kullanıcıyı kaldırdığını anlamalarına yardımcı olur. wipeData(int, CharSequence) numaralı telefonu arayın ve kısa bir açıklayıcı mesaj sağlayın. Birincil kullanıcı veya cihaz sahibi tarafından çağrıldığında sistem bir mesaj göstermez ve cihazı fabrika ayarlarına sıfırlamaya başlar.

Abonelik verilerini yerleştirilmiş bir eUICC SIM kartından kaldırmak için wipeData() numaralı telefonu arayın ve flags bağımsız değişkenine WIPE_EUICC ifadesini ekleyin.

Satış ortağı profil sahipleri için yöntemler

Aşağıdaki yöntemler ilişkili profil sahipleri tarafından kullanılabilir: