Bu sayfa, yeni kurumsal API'ler, özellikler ve davranış değişiklikleri.
Şirkete ait cihazlar için iş profilleri
Android 10, şu hizmetler için yeni temel hazırlık ve onay özellikleri sunuyor: Şirkete ait olan ve yalnızca iş profili gerektiren cihazlar.
İş profilleri için gelişmiş temel hazırlık araçları
Android 10 ve sonraki sürümlerin yüklü olduğu cihazlarda iş profillerinin temel hazırlığını yapabilirsiniz. QR kodu veya El değmeden. Şirkete ait bir cihazın temel hazırlığı sırasında, ekstra bir amaç iş profilini başlatmak veya tümüyle yönetilen cihaz politikası denetleyici uygulamaları (DPC'ler) kurulumu. Bir iş profili oluşturulduktan veya tam yönetim belirlendikten sonra DPC'ler ilk politikaları uygulamak için politikalara uygunluk ekranları başlatmalıdır.
DPC'nizin manifest dosyasında, şunun için yeni bir intent filtresi tanımlayın:
GET_PROVISIONING_MODE
BIND_DEVICE_ADMIN
ekleyin ve
ve isteğe bağlı uygulamaların etkinliği başlatmasını engellemek için izin isteme. Örnek:
<activity
android:name=".GetProvisioningModeActivity"
android:label="@string/app_name"
android:permission="android.permission.BIND_DEVICE_ADMIN">
<intent-filter>
<action
android:name="android.app.action.GET_PROVISIONING_MODE" />
<category android:name="android.intent.category.DEFAULT"/>
</intent-filter>
</activity>
Temel hazırlık sırasında sistem intent filtresine dokunun. Bu etkinliğin amacı bir yönetim modu belirtmektir (iş profili veya tümüyle yönetilen).
yönetim modunu kullanabilirsiniz. Etkinlik telefon edebilir
Almak için getIntent()
şu:
DPC'ler ayrıca yeni bir sonuç niyeti oluşturabilir ve buna aşağıdaki ekstraları ekleyebilir:
EXTRA_PROVISIONING_ADMIN_EXTRAS_BUNDLE
: Mevcut gruba ekleyin veya yeni bir paket oluşturun. Bu paket DPC'niz politika uyumluluk ekranlarını açtığında ekstra bir niyeti olmalıdır.EXTRA_PROVISIONING_ACCOUNT_TO_MIGRATE
: Taşınacak hesabı yalnızca iş kapsamında bir iş hesabı ekliyorsanız belirtin profil temel hazırlığı.EXTRA_PROVISIONING_SKIP_EDUCATION_SCREENS
Cihazda yönetim modunu ayarlamak için şu numarayı arayın:
putExtra(DevicePolicyManager.EXTRA_PROVISIONING_MODE,desiredProvisioningMode)
,
Burada desiredProvisioningMode
şöyle olur:
- İş profili:
PROVISIONING_MODE_MANAGED_PROFILE
- Tümüyle yönetilen:
PROVISIONING_MODE_FULLY_MANAGED_DEVICE
Temel hazırlık işlemini göndererek iş profilini veya tümüyle yönetilen temel hazırlığı tamamlayın
setResult(RESULT_OK,
Intent)
aracılığıyla kuruluma geri dönün
ve tüm etkin ekranları
finish()
.
Temel hazırlık tamamlandıktan sonra, DPC'lerin kullanıma sunulacağı yeni bir Intent kullanıma sunulur ve ilk politika ayarlarının uygulanması gerekir. İş profilinde cihazlarında, iş profilinde uyumluluk ekranları gösterilir. DPC'niz Kullanıcı çıkış yapsa bile uygunluk ekranlarının kullanıcılara gösterilmesini sağlar. adımlarına göz atın.
DPC'nizin manifest dosyasında, şunun için yeni bir intent filtresi tanımlayın:
ADMIN_POLICY_COMPLIANCE
BIND_DEVICE_ADMIN
ekleyin ve
ve isteğe bağlı uygulamaların etkinliği başlatmasını engellemek için izin isteme. Örnek:
<activity
android:name=".PolicyComplianceActivity"
android:label="@string/app_name"
android:permission="android.permission.BIND_DEVICE_ADMIN">
<intent-filter>
<action android:name="android.app.action.ADMIN_POLICY_COMPLIANCE" />
<category android:name="android.intent.category.DEFAULT"/>
</intent-filter>
</activity>
DPC'niz aşağıdaki adımları dinlemek yerine bu yeni Intent'i kullanmalıdır:
ACTION_PROFILE_PROVISIONING_COMPLETE
yayınla.
Amaç filtresiyle ilişkilendirilen etkinlik
Almak için getIntent()
"the"
EXTRA_PROVISIONING_ADMIN_EXTRAS_BUNDLE
.
Politikaya uygun hareket ettikten sonra ADMIN_POLICY_COMPLIANCE
, setResult(RESULT_OK,
Intent)
değerini döndürmeli ve
finish()
.
Tümüyle yönetilen cihazlar kullanıcıları ana ekrana döndürür. İş profili cihazları eve geri göndermeden önce kullanıcılardan kişisel hesaplarını eklemelerini isteyin tıklayın.
İş profili cihaz kimliği onayı
El değmeden kayıt kullanılarak temel hazırlığı yapılan bir iş profilinin yöneticisi olarak ayarlanan DPC'ler IMEI veya üreticinin güvenlik numarası gibi güvenli donanım tarafından onaylanmış cihaz kimlikleri alabilirler. seri numarası. Cihazda güvenli donanım (güvenilir bir donanım veya güvenlik unsuru (SE) veya cihaz kimliği desteği (cihaz kimliği desteği) onay ve el değmeden kayıt.
Bir iş profilinin yönetici bileşeni, idAttestationFlags
bağımsız değişkeni için ID_TYPE_SERIAL
, ID_TYPE_IMEI
veya ID_TYPE_MEID
özelliklerinden bir veya daha fazlasını ileterek DevicePolicyManager.generateKeyPair()
yöntemini çağırabilir.
Cihaz kimliklerini ayıklama ve doğrulama hakkında daha fazla bilgi için Anahtar Onayı ile donanım destekli anahtar çiftlerini doğrulama başlıklı makaleyi inceleyin.
İş profili iyileştirmeleri
Profiller arası takvim görünürlüğünü desteklemek için yeni API'ler kullanıma sunuldu. Bilinmeyen kaynaklardan uygulama yüklemelerini cihaz genelinde engelleme.
İş profili, cihaz genelinde bilinmeyen kaynaklar
Google Play (veya başka bir güvenilir uygulama) dışındaki kaynaklardan indirilen uygulamalar
bilinmeyen kaynaklardan gelen uygulamalar olarak adlandırılır. Android 10'da, iş yerlerinin yöneticileri
profiller, herhangi bir kullanıcının veya profilin bilinmeyen uygulamalardan uygulama yüklemesini engelleyebilir
yeni kullanıcı kısıtlaması ekleyerek cihazın herhangi bir yerindeki
DISALLOW_INSTALL_UNKNOWN_SOURCES_GLOBALLY
.
Ancak bu kısıtlamayı ekledikten sonra cihazı kullanan bir kişi yine de
adb kullanarak uygulama yükleme.
Kullanıcıların bilinmeyen kaynaklardan gelen uygulamaları yanlışlıkla yüklemesini önlemek için Google Play gerekli olmadığı için bu kullanıcı kısıtlamasını eklemenizi öneririz yüklenmesidir. Eski Android sürümlerini desteklemek isterseniz Google Play için yönetilen bir yapılandırma değeri belirleyin.
İzin verilen giriş cihazlarını iş profilleriyle sınırla
İş profili yöneticileri DevicePolicyManager.setPermittedInputMethods()
hizmetini aradığında kullanıcılar yalnızca kendi çalışmalarında izin verilen giriş yöntemleriyle kısıtlanır.
profili sayesinde giriş üzerinde tam kontrol sahibi olmanızı sağlar.
tarafından kullanılan bir yöntem de yoktur.
İş profillerini sessizce silme
WIPE_SILENTLY
eklendi
DevicePolicyManager.wipeData()
olarak işaretleyin.
İşaret ayarlanırsa kullanıcılara iş profilleri temizlendikten sonra bildirim gönderilmez
wipeData()
kullanılıyor.
Tümüyle yönetilen cihazlar için yeni özellikler
Android 10, tümüyle yönetilen cihazlar için yeni özellikler ve API'ler sunuyor. QR kodu ve NFC temel hazırlığının kapsamını genişletme, manuel sistem güncellemeleri ve EAP kablosuz ağına ilişkin kimlik bilgilerini ve TLS üzerinden DNS desteğini içermelidir.
Manuel sistem güncellemesini yükleme
Android 10'da tümüyle yönetilen cihazların yöneticileri, sistem güncellemelerini bir sistem güncelleme dosyası. Manuel sistem güncellemeleri, BT yöneticilerinin aşağıdakileri yapmasına olanak tanır:
- Güncellemeyi geniş çapta yüklemeden önce az sayıda cihazda test edin.
- Bant genişliği sınırlı ağlarda yinelenen indirmelerden kaçının.
- Yüklemeleri birbirinden ayırın veya cihazları yalnızca kullanılmadıkları sırada güncelleyin.
Öncelikle bir BT yöneticisi ertelenmiş bir sistem güncelleme politikası belirler.
otomatik yüklemeyi geciktirir (gerekirse). Ardından, cihazın DPC işlemi installSystemUpdate()
cihaz üreticisinin sistem güncelleme dosyasının yolunu ekler. InstallSystemUpdateCallback
geçin
sistemin, cihazdan önce gerçekleşen hataları bildirmek için kullanabileceği nesne
yeniden başlatılır. Bir sorun olursa sistem onInstallUpdateError()
numarasını arar.
hata kodu içerir.
Cihaz yeniden başlatıldıktan sonra DPC'nizin yükleme işleminin başarılı olduğunu onaylaması gerekir
örneğin bir sürüm API'sı kullanarak
Build.FINGERPRINT
. Güncelleme
bir BT yöneticisine bildirin.
EAP kablosuz ağ temel hazırlığı
Android 10'da cihaz temel hazırlığı için kullanılan QR kodları ve NFC verileri şunları içerebilir: EAP yapılandırması ve kimlik bilgileri (sertifikalar dahil). Bir kullanıcı bir QR kodunu taradığında bir NFC etiketine dokunduğunda veya cihaz bir yerel kablosuz ağın kimliğini otomatik olarak doğrular. herhangi bir ek gerek kalmadan, temel hazırlık işlemini başlatır. manuel giriş.
Kablosuz ağda EAP kullanarak kimlik doğrulaması yapmak için
EXTRA_PROVISIONING_WIFI_SECURITY_TYPE
fazladan "EAP"
değerini kullanın. EAP kimlik doğrulamasını belirtmek için
aşağıdaki temel hazırlık ekstralarını kullanabilirsiniz:
EXTRA_PROVISIONING_WIFI_EAP_METHOD
EXTRA_PROVISIONING_WIFI_IDENTITY
EXTRA_PROVISIONING_WIFI_ANONYMOUS_IDENTITY
EXTRA_PROVISIONING_WIFI_DOMAIN
EXTRA_PROVISIONING_WIFI_PHASE2_AUTH
EXTRA_PROVISIONING_WIFI_USER_CERTIFICATE
EXTRA_PROVISIONING_WIFI_CA_CERTIFICATE
Gizli DNS desteği
Kuruluşlar TLS üzerinden DNS kullanabilir (Android cihazlarda Gizli DNS olarak adlandırılır) DNS sorgularının sızdırılmasını önlemek için dahili ana makine adları da dahil. Tümüyle yönetilen cihazların yönetici bileşenleri cihazın Gizli DNS ayarlarını denetleyebilir. Gizli DNS modunu ayarlamak için: arayın:
setGlobalPrivateDnsModeOpportunistic()
Sistem, destekleyici bir alan adı sunucusu keşfettiğinde cihazın gizli DNS kullanmasını veyasetGlobalPrivateDnsModeSpecifiedHost()
RFC7858'i destekleyen bir alan adı sunucusunun ana makine adını belirtinprivateDnsHost
bağımsız değişkeninde.
DPC'niz bu yöntemlerden birini çağırdığında sistem aşağıdaki durumlarda PRIVATE_DNS_SET_NO_ERROR
değerini döndürür.
arama başarılı oldu. Aksi takdirde hata döndürür.
Bir cihazda ayarlanan gizli DNS modunu ve barındırıcıyı almak için getGlobalPrivateDnsMode()
numaralı telefonu arayın
ve getGlobalPrivateDnsHost()
.
Kullanıcıların gizli DNS ayarlarını değiştirmesini önlemek için
DISALLOW_CONFIG_PRIVATE_DNS
kullanıcı kısıtlaması.
VPN tam gizlilik modu muafiyeti
VPN kilitleme modu, DPC'nin tüm ağları engellemesine olanak tanır kullanmayan VPN'e dokunun. Tamamının yöneticileri yönetilen cihazlar ve iş profilleri, uygulamaları tam kilitleme modundan muaf tutabilir. Muaf tutulan uygulamalar varsayılan olarak VPN kullanır, ancak diğer uygulamalara otomatik olarak ağlara yönlendirir. Muaf tutulan ve açıkça da erişimi reddetti VPN yalnızca diğer ağları kullanır.
Bir uygulamayı tam kilitleme modundan muaf tutmak için yeni
DevicePolicyManager
yöntem
setAlwaysOnVpnPackage()
uygulama paketlerinin listesini kabul eden bir e-posta alırsınız. DPC'nin eklediği tüm uygulama paketleri
yöntem çağrıldığında cihaza yüklenmiş olmalıdır. Uygulama
kaldırılıp yeniden yüklendiğinde, uygulamanın tekrar muaf tutulması gerekir. Uygulamaları edinmek için
tam kilitleme modundan muaf olun,
getAlwaysOnVpnLockdownWhitelist()
.
Tümüyle yönetilen cihazların ve iş profillerinin yöneticilerinin tam kilitleme modunu kullanmasına yardımcı olmak için
Android 10,
isAlwaysOnVpnLockdownEnabled()
yöntemidir.
Yeni yetki kapsamları
Android 10, DPC'nin başka DPC'lere yetki verebileceği işlevlerin listesini genişletiyor.
özel uygulamalar. Android, bir görev için gereken API yöntemlerini şu şekilde gruplandırır:
kapsamlarını inceleyin. Kapsam yetkisi vermek için
setDelegatedScopes()
ve aşağıdaki kapsamlardan birini veya daha fazlasını iletebilirsiniz:
DELEGATION_NETWORK_LOGGING
ağ etkinliği günlük kaydı yetkisi vermek içinDELEGATION_CERT_SELECTION
sertifika seçimi yetkisi verin
Android 10 ile yeni sınıf
DelegatedAdminReceiver
yetki verilmiş uygulamalar. Sistem, DPC benzeri bir yayın göndermek için bu yayın alıcısını kullanır
yetki vermektir. Ağ etkinliği yetkisi verilmiş uygulamalar
günlük kaydı ve sertifika seçimi bu sınıfı uygulamalıdır. Bunu eklemek için
bileşenini yetki verilmiş bir uygulamaya eklemek için aşağıdaki adımları uygulayın:
DelegatedAdminReceiver
alt sınıfı ekleyin yetki verilmiş uygulamaya gönderilir.<receiver>
özelliğini beyan edin: her geri çağırma için bir intent filtresi işlemi ekleyerek Örneğin,ACTION_NETWORK_LOGS_AVAILABLE
veyaACTION_CHOOSE_PRIVATE_KEY_ALIAS
.- Yayın alıcısını
BIND_DEVICE_ADMIN
ile koruyun izni gerekir.
Aşağıdaki snippet'te, yetki verilmiş tek bir uygulamanın uygulama manifesti gösterilmektedir. hem ağ günlük kaydını hem de sertifika seçimini işler:
<receiver android:name=".app.DelegatedAdminReceiver"
android:permission="android.permission.BIND_DELEGATED_ADMIN">
<intent-filter>
<action android:name="android.app.admin.action.NETWORK_LOGS_AVAILABLE">
<action android:name="android.app.action.CHOOSE_PRIVATE_KEY_ALIAS">
</intent-filter>
</receiver>
Ağ etkinliği günlük kaydı
Kuruluşların kötü amaçlı yazılımları tespit edip izlemesine yardımcı olmak için DPC'ler TCP bağlantılarını günlüğe kaydedebilir arama ve DNS araması yapmanıza olanak tanır. Android 10'da tümüyle yönetilen yöneticileri cihazlar, özel bir uygulamaya ağ günlük kaydı yetkisi verebilir.
Sistemden sonra ağ günlüklerini almak için
bir grubu kullanıma sunuyorsa yetki verilmiş uygulamalar birinci sınıf olmalıdır
DelegatedAdminReceiver
(daha önce açıklandığı gibi). Alt sınıfınızda
onNetworkLogsAvailable()
geri çağırma işlemini Günlükleri alma başlıklı makalede bulabilirsiniz.
Uygulamalara yetki verme aşağıdakileri çağırabilir:
DevicePolicyManager
yöntem
(admin
bağımsız değişkeni için null
iletiliyor):
Günlükleri kaybetmemek için DPC'lerde ağ günlük kaydı etkinleştirilmemelidir
yetkiyi başka bir uygulamaya
vermeyi planlıyorsanız. Yetki verilmiş uygulama,
ağ günlüklerini toplar. Bir DPC ağ günlük kaydı için yetki verdikten sonra
başka onNetworkLogsAvailable()
daha fazla bilgi edindiniz.
Yetki verilmiş bir uygulamadan ağ etkinliği günlük kaydının nasıl raporlanacağını öğrenmek için Ağ etkinliği günlük kaydı adlı geliştirici kılavuzu.
Sertifika seçimi
Android 10'da yöneticileri tam olarak yönetilen cihazlar, iş profilleri ve ikincil kullanıcılar sertifika seçimini özel bir uygulamaya dönüştürün.
Sertifika takma adı seçmek için yetki verilen uygulamaların birinci alt sınıf olması gerekir
DelegatedAdminReceiver
(daha önce açıklandığı gibi). Alt sınıfınızda
onChoosePrivateKeyAlias()
ile geri arama ve tercih edilen kullanıcı için takma ad döndürme
sertifika seçmesini istemek için null
değerini döndürün.
Cihaz yöneticisi politikalarının kullanımdan kaldırılması
Android 10, uygulamaların ve DPC'lerin eski cihazları uygulamasını engeller
yönetici politikaları hakkında daha fazla bilgi edinin. Müşterilere,
ve iş ortaklarınız tümüyle yönetilen cihazlara veya iş profillerine geçiş yapar. Aşağıdakiler
politikalar bir SecurityException
Android 10'u hedefleyen bir cihaz yöneticisi tarafından çağrıldığında:
USES_POLICY_DISABLE_CAMERA
USES_POLICY_DISABLE_KEYGUARD_FEATURES
USES_POLICY_EXPIRE_PASSWORD
USES_POLICY_LIMIT_PASSWORD
Bazı uygulamalar, tüketici cihaz yönetimi için cihaz yöneticisini kullanır. Örneğin, Örneğin, kayıp bir cihazı kilitleme ve silme. Bunu mümkün kılmak için kullanmaya devam edebilirsiniz:
Bu değişiklikler hakkında daha fazla bilgi edinmek için Cihaz yöneticisi desteğinin sonlandırılması.
Uygulamalar için yeni özellikler
Android 10'u hedefleyen uygulamalar, bir cihazda ayarlanan ekran kilidi karmaşıklığını sorgulayabilir
. Arama yapan uygulamalar
KeyChain
API avantajı,
davranış iyileştirmelerinin yanı sıra VPN uygulamaları için de yeni özellikler mevcut.
Ekran kilidi kalite kontrolü
Kritik özelliklere sahip olan ve ekran kilidi gerektiren uygulamalar Android 10'dan itibaren bir cihazın veya iş profilinin ekran kilidi karmaşıklığını sorgulayabilir. Aşağıdakilere ihtiyacı olan uygulamalar: güçlü bir ekran kilidi, kullanıcıyı sistem ekran kilidi ayarlarına yönlendirebilir güvenlik ayarlarını güncellemelerine olanak tanır.
Ekran kilidi kalitesini kontrol etmek için:
- Yeni
REQUEST_PASSWORD_COMPLEXITY
iznini şuna ekleyin: manifest dosyası olarak kaydedebilirsiniz. DevicePolicyManager.getPasswordComplexity()
numaralı telefonu arayın. Karmaşıklık dört kategoriye ayrılır:
Sistem ekran kilidi ayarlarını başlatmak için şunu kullanın:
ACTION_SET_NEW_PASSWORD
ekstra EXTRA_PASSWORD_COMPLEXITY
(var olmayan seçenekler)
amaçta belirtilen karmaşıklık düzeyine sahip görseller devre dışı olarak görünür. Kullanıcılar şunları yapabilir:
mevcut ekran kilidi seçeneklerinden birini belirleyin veya ekrandan çıkın.
En iyi uygulama: Sistemi başlatmadan önce uygulamanızda bir mesaj görüntüleyin
ekran kilidi sayfasını ziyaret edin. Uygulamanız devam ettirildiğinde
DevicePolicyManager.getPasswordComplexity()
tekrar. Daha güçlü bir ekran kilidi kullanmanız gerekiyorsa
Kullanıcılardan güvenlik ayarlarını güncellemelerini isteme.
VPN uygulamalarında HTTP proxy desteği
Android 10'da VPN uygulamaları bir HTTP proxy ayarlayabilir
VPN bağlantısı için. HTTP proxy'si eklemek için VPN uygulamasının bir
Bir ana makine ve bağlantı noktası içeren ProxyInfo
örneği,
aramadan önce
VpnService.Builder.setHttpProxy()
.
Sistem ve birçok ağ iletişimi kitaplığı bu proxy ayarını kullanır, ancak
, uygulamaları HTTP isteklerine proxy yapmaya zorlamaz.
HTTP proxy'sinin nasıl ayarlanacağını gösteren örnek kod için ToyVPN örnek uygulama.
VPN hizmet modları
VPN uygulamaları, her zaman açık olduğu için hizmetin VPN ve tam kilitleme varsa modu etkin olduğundan emin olun. Yeni yöntemler kullanıcı arayüzünüzü düzenlemenize yardımcı olabilir. Örneğin, Her zaman açık VPN, kullanım yaşam döngüsünü kontrol ettiğinde bağlantıyı kesme düğmenizi devre dışı bırakabilir. olabilir.
VPN uygulamaları aşağıdaki VpnService
numarasını arayabilir.
hizmete bağlandıktan sonra yeni yöntemler
ve yerel arayüzün kurulmasıyla ilgili:
isAlwaysOn()
- sistemin hizmeti her zaman açık VPN nedeniyle başlatıp başlatmadığını öğreninisLockdownEnabled()
VPN kullanmayan bağlantıları sistemde engelleyip engellemediğini öğrenmek
Her zaman açık durumu hizmetiniz çalışırken aynı kalır ancak tam gizlilik modu durumu değişebilir.
Anahtar zinciri iyileştirmeleri
Android 10,
KeyChain
API.
KeyChain.choosePrivateKeyAlias()
, Android 10 ve sonraki sürümleri çağıran bir uygulama olduğunda
kullanılan sertifika listesine bağlı olarak kullanıcının aralarından seçim yapabileceği
ve anahtar algoritmaları dahildir.
Örneğin, bir TLS sunucusu Sertifika İsteği gönderdiğinde
bir TLS el sıkışması ve tarayıcı çağrılarının parçası olarak mesajı
KeyChain.choosePrivateKeyAlias()
, yalnızca sertifika seçimi istemi
kartı veren kuruluşun parametresiyle eşleşen seçenekleri içerir. Eşleşen seçenek yoksa
sertifika yoksa veya cihazda yüklü sertifika yoksa
kullanıcıya gösterilmez.
Ayrıca, KeyChain
artık geçerli değil
Anahtarların veya CA sertifikalarının
içe aktarıldı.