Android Enterprise'dan Device Trust - Kullanılabilir sinyaller

Android Enterprise'ın Device Trust özelliği, Device üzerinde bir dizi cihaz durumu sinyali sunar. İzin verilenler listesindeki uygulamalar ve COMPANION_APP rolü atanmış uygulamalar (Uygulama rollerini yönetme ve Politika yapılandırması bölümlerine bakın) dahil olmak üzere yetkili uygulamalar, cihazın güven puanını hesaplamak için bu sinyallere erişebilir.

Device ve iç içe yerleştirilmiş model sınıflarındaki her sinyal alanı, Metadata döndüren karşılık gelen bir get*Metadata() yöntemini içerir. Bu yöntem, sinyal alınırken karşılaşılan tüm Metadata.DataIssue hatalarını (ör. eksik manifest izinleri) bildirir.

Android Management API SDK'sını uygulamanıza nasıl entegre edeceğiniz hakkında bilgi için Device Trust from Android Enterprise - Entegrasyon kılavuzu başlıklı makaleyi inceleyin.

Sinyaller
OS Sürümü
Device#getSoftwareInfo(), işletim sistemi sürümü ayrıntılarını içeren bir SoftwareInfo nesnesi döndürür (eski işletim sistemi sürümlerinde genellikle daha fazla güvenlik açığı bulunur):
Android Device Policy sürümü
SoftwareInfo#getAndroidDevicePolicyVersionCode() ve SoftwareInfo#getAndroidDevicePolicyVersionName(), cihazdaki Android Device Policy uygulamasının sürüm kodunu ve kullanıcı tarafından görülebilen sürüm adını döndürür.
Cihazda bekleyen OTA var mı?
SoftwareInfo#getSystemUpdateInfo(), cihaz için bekleyen bir işletim sistemi güncellemesi olup olmadığını (cihazın güvenlik açıklarına karşı savunmasız olup olmadığını gösteren bir proxy) belirten bir SoftwareInfo.SystemUpdateInfo döndürür:
Cihaz Güvenlik Yaması Seviyesi
SoftwareInfo#getDeviceSecurityPatchInfos(), güncellenebilir SecurityPatchComponent türleri genelinde cihazın mevcut güvenlik yaması seviyesi için SoftwareInfo.SecurityPatchInfo nesnelerinin ( getComponent() ve getSecurityPatchLevel(), SecurityPatchLevel nesnelerinin listesini döndürür) bir listesini döndürür:
Yayınlanan Güvenlik Yaması Seviyesi
SoftwareInfo#getPublishedSecurityPatchInfos(), güncellenebilir SecurityPatchComponent türleri genelinde mevcut yayınlanan güvenlik yaması seviyesi için SoftwareInfo.SecurityPatchInfo nesnelerinin ( getComponent() ve getSecurityPatchLevel(), SecurityPatchLevel nesnelerinin listesini döndürür) bir listesini döndürür:
Kritik Uygulama Ayrıntıları
Device#getApplicationReports(), AMAPI tarafından yönetilen bir cihazda COMPANION_APP rolüne sahip genişletilebilirlik uygulamalarına ve çağrı uygulamalarına, yüklü tüm uygulamalarla ilgili ayrıntıları döndürür (Uygulama rollerini yönetme ve Politika Yapılandırması bölümlerine bakın. İş profilinden çağrıldığında raporlar, iş profilinde yüklü uygulamalarla sınırlıdır). Diğer tüm arayanlar için (ör. izin verilenler listesindeki uygulamalar), Device#getApplicationReports() yalnızca aşağıdaki kritik uygulamalarla ilgili ayrıntıları döndürür:
  • com.android.chrome
  • com.google.android.gms
  • com.google.android.apps.work.clouddpc
  • com.android.vending
  • Cihazın mevcut WebView paketi (ör. com.google.android.webview)
Ayrıntılar, aşağıdakileri gösteren bir ApplicationReport nesneleri listesi olarak döndürülür:
Cihaz Donanım Bilgileri
Device#getHardwareInfo(), aşağıdakileri gösteren bir HardwareInfo nesnesi döndürür:
Ekran kilidi karmaşıklığı
Device#getDeviceSettings(), DeviceSettings#getScreenLockComplexity() sağlar ve mevcut kullanıcının veya profilin ekran kilidinin ne kadar karmaşık olduğunu gösteren bir DeviceSettings.ScreenLockComplexity değeri döndürür.
Yönetim Durumu (ve yöneten uygulama)
Döndürülen bilgiler, uygulamanın çalıştığı profile bağlıdır. Ayrıntılar için Yönetim durumu tablosu'na bakın.
Disk şifreleme
DeviceSettings#getEncryptionStatus(), cihazın depolama alanının şifrelenip şifrelenmediğini gösteren bir DeviceSettings.EncryptionStatus değeri döndürür.
Ağ durumuna erişim (Ağ durumu ve kablosuz ağ durumu)
Device#getNetworkInfo() bir NetworkInfo nesnesi döndürür ve NetworkInfo#getNetworkParams(), cihazdaki tüm etkin ağlar hakkında ayrıntılı bilgi içeren bir NetworkInfo.NetworkParams nesnesi listesi döndürür:
Google Play Protect VerifyApps
DNS-over-TLS etkin mi?
NetworkParams#getPrivateDnsState(), ağda gizli DNS kullanılıp kullanılmadığını belirten bir PrivateDnsState değeri döndürür.
WebView paketi
SoftwareInfo#getWebviewPackage(), mevcut WebView paketinin adını döndürür.
Yönetim sağlayıcının okunabilir işletme adı
AMAPI tarafından yönetilen cihazlarda, Device#getManagementProviderInfo(), getBusinessName() yöntemi yönetim sağlayıcının okunabilir işletme adını sağlayan bir ManagementProviderInfo nesnesi döndürür. Bu alan, yönetilmeyen cihazlarda veya özel bir DPC tarafından yönetilen cihazlarda ayarlanmaz.

Yönetim durumu

Yönetim sinyalleri için döndürülen değerler, uygulamanızın çalıştığı profile bağlıdır. Kişisel profilden, yönetilmeyen bir cihazdan veya özel bir DPC tarafından yönetilen bir cihazdan sinyallere erişmek için uygulamanızın izin verilenler listesinde olması gerekir. AMAPI tarafından yönetilen, tümüyle yönetilen bir cihazda veya bir iş profilinde COMPANION_APP rolü atanmış uygulamalar da izin verilenler listesinde olmadan bu sinyallere erişebilir (bir iş profilinde çağrıldığında iş profilinden gelen sinyallerle sınırlıdır).

Yönetim durumu Kişisel profilden çağrıldığında sinyal gönderir. İş profilinden çağrıldığında sinyal gönderir.
Yönetilmeyen cihaz ownership: PERSONALLY_OWNED
managementMode: UNMANAGED
managementAppPackageName: N/A
workProfileState:
N/A
Kişiye ait cihazda (KCG) iş profili ownership: PERSONALLY_OWNED
managementMode: UNMANAGED
managementAppPackageName: N/A
workProfileState:
ownership: PERSONALLY_OWNED
managementMode: PROFILE_OWNER
managementAppPackageName: Package name of the Profile Owner application
workProfileState:
Şirkete ait cihazda iş profili ownership: COMPANY_OWNED
managementMode: UNMANAGED
managementAppPackageName:N/A
workProfileState:
ownership: COMPANY_OWNED
managementMode: PROFILE_OWNER
managementAppPackageName: Package name of the Profile Owner application
workProfileState:
Tümüyle yönetilen cihaz N/A ownership: COMPANY_OWNED
managementMode: DEVICE_OWNER
managementAppPackageName: Package name of the Device Owner application
workProfileState: