Halaman ini menyediakan ringkasan tentang Enterprise API, fitur, dan perilaku perubahan yang tersedia di Android 9.
Antarmuka pengguna profil kerja
Android 9 (level API 28) menyertakan perubahan antarmuka pengguna secara default peluncur untuk membantu pengguna memisahkan aplikasi pribadi dan kerja. Produsen perangkat mendukung hal ini, dapat memberikan aplikasi di tab kerja dan pribadi yang terpisah. Kami juga mempermudah pengguna perangkat untuk mengaktifkan dan menonaktifkan profil kerja dengan termasuk sebuah {i>switch<i} di tab kerja peluncur.
![](https://developer.android.google.cn/static/images/about/versions/pie/p-work-profile.jpg?authuser=9&hl=id)
Saat menyediakan profil kerja dan perangkat terkelola, Android 9 menyertakan ilustrasi animasi untuk membantu pengguna perangkat memahami fitur-fitur ini.
Beralih aplikasi di beberapa profil
Android 9 menyertakan API untuk meluncurkan instance lain aplikasi dalam
untuk membantu pengguna beralih antar-akun. Misalnya, aplikasi email dapat
menyediakan UI yang memungkinkan pengguna beralih antara profil pribadi dan pekerjaan
untuk mengakses dua akun email. Semua aplikasi dapat memanggil API ini untuk meluncurkan
aktivitas utama aplikasi yang sama jika sudah diinstal di profil lain. Kepada
menambahkan peralihan akun antar-profil ke aplikasi Anda, ikuti langkah-langkah di bawah ini untuk memanggil
metode-metode tersebut
Class CrossProfileApps
:
- Panggil
getTargetUserProfiles()
untuk mendapatkan daftar profil tempat Anda dapat meluncurkan instance lain aplikasi. Metode ini memeriksa apakah aplikasi diinstal di profil. - Panggil
getProfileSwitchingIconDrawable()
untuk mendapatkan ikon yang dapat Anda gunakan untuk mewakili profil lain. - Panggil
getProfileSwitchingLabel()
untuk mendapatkan teks yang dilokalkan yang meminta pengguna untuk beralih profil. - Panggil
startMainActivity()
untuk meluncurkan instance aplikasi Anda di profil lain.
Pastikan aktivitas utama yang ingin Anda luncurkan telah dinyatakan dalam atribut
file manifes, dengan tindakan intent ACTION_MAIN
, dan menyertakan
kategori intent CATEGORY_LAUNCHER
.
Mengaktifkan atau menonaktifkan profil kerja secara terprogram
Peluncur default (atau aplikasi yang memiliki izin MANAGE_USERS
atau
MODIFY_QUIET_MODE
) dapat mengaktifkan atau menonaktifkan profil kerja dengan menelepon
UserManager.requestQuietModeEnabled()
Anda dapat
memeriksa nilai yang ditampilkan untuk mengetahui
apakah pengguna perlu mengonfirmasi
kredensial sebelum statusnya berubah. Perubahan mungkin saja tidak terjadi
langsung, dengarkan
ACTION_MANAGED_PROFILE_AVAILABLE
atau
ACTION_MANAGED_PROFILE_UNAVAILABLE
{i>broadcast<i} untuk mengetahui kapan harus
memperbarui antarmuka pengguna.
Aplikasi Anda dapat memeriksa status profil kerja dengan memanggil
UserManager.isQuietModeEnabled()
Mengunci aplikasi apa pun ke perangkat
Mulai Android 9, pemilik perangkat dan pemilik profil (dari pengguna sekunder) dapat mengunci apa pun aplikasi ke layar perangkat dengan mengalihkan aplikasi ke mode mengunci tugas. Sebelumnya, developer aplikasi harus menambahkan dukungan untuk mengunci tugas mode di aplikasi mereka. Android 9 juga memperluas tugas penguncian API untuk pemilik profil pengguna sekunder yang tidak terafiliasi. Ikuti langkah-langkah di bawah ini untuk mengunci aplikasi ke layar:
- Panggil
DevicePolicyManager.setLockTaskPackages()
ke mengizinkan aplikasi untuk mode mengunci tugas. - Panggil
ActivityOptions.setLockTaskEnabled()
untuk meluncurkan aplikasi yang diizinkan masuk ke mode mengunci tugas.
Untuk menghentikan aplikasi dalam mode mengunci tugas, hapus aplikasi dari mode mengunci tugas
daftar yang diizinkan menggunakan
DevicePolicyManager.setLockTaskPackages()
Mengaktifkan fitur UI sistem
Saat mode mengunci tugas diaktifkan, pemilik perangkat dan pemilik profil dapat mengaktifkan
fitur UI sistem tertentu pada
perangkat dengan memanggil
DevicePolicyManager.setLockTaskFeatures()
dan meneruskan
bit dari flag fitur berikut:
LOCK_TASK_FEATURE_NONE
LOCK_TASK_FEATURE_SYSTEM_INFO
LOCK_TASK_FEATURE_HOME
LOCK_TASK_FEATURE_NOTIFICATIONS
hanya dapat digunakan bersamaLOCK_TASK_FEATURE_HOME
.LOCK_TASK_FEATURE_KEYGUARD
LOCK_TASK_FEATURE_OVERVIEW
hanya dapat digunakan bersamaLOCK_TASK_FEATURE_HOME
.LOCK_TASK_FEATURE_GLOBAL_ACTIONS
Anda dapat memanggil DevicePolicyManager.getLockTaskFeatures()
untuk mendapatkan daftar fitur yang tersedia
di perangkat saat mode mengunci tugas
mengaktifkan pembuatan versi. Saat perangkat keluar dari mode mengunci tugas, perangkat kembali ke status yang dimandatkan oleh
kebijakan perangkat lainnya.
Menyembunyikan dialog error
Di beberapa lingkungan, seperti demonstrasi retail atau informasi publik
Anda mungkin tidak ingin menampilkan
dialog {i>error<i} kepada pengguna. Kebijakan perangkat
pengontrol (DPC) dapat menyembunyikan dialog error sistem untuk error atau tidak responsif
aplikasi dengan menambahkan
Pengguna DISALLOW_SYSTEM_ERROR_DIALOGS
resource. Pembatasan ini memengaruhi semua dialog saat diterapkan oleh pemilik perangkat
tetapi hanya dialog error yang ditampilkan di pengguna utama atau sekunder yang disembunyikan
saat pembatasan diterapkan oleh pemilik profil. Pembatasan ini tidak
mempengaruhi profil kerja.
Di Android 9, aplikasi yang berjalan dalam layar penuh imersif mode tidak menampilkan balon pengingat saat berada mode mengunci tugas. Balon pengingat adalah panel yang ditampilkan kepada pengguna (saat peluncuran pertama) yang menjelaskan cara keluar dari mode imersif.
Mendukung banyak pengguna pada perangkat khusus
Android 9 memperkenalkan konsep pengguna sementara untuk perangkat (sebelumnya disebut perangkat COSU). Pengguna {i>ephemeral<i} adalah pengguna jangka pendek yang dimaksudkan untuk kasus di mana beberapa pengguna berbagi satu perangkat khusus. Hal ini termasuk sesi pengguna publik pada perangkat seperti koleksi atau kios {i>check-in <i}perhotelan, serta sesi tetap antara sekumpulan pengguna di berbagai perangkat, misalnya, pekerja shift.
Pengguna efemeral harus dibuat di latar belakang. Mereka dibuat sebagai pengguna sekunder di perangkat dan dihapus (beserta aplikasi terkait dan data) saat dihentikan, dialihkan, atau perangkat dimulai ulang. Untuk membuat pengguna sementara, pemilik perangkat dapat:
- Tetapkan flag
MAKE_USER_EPHEMERAL
saat memanggilDevicePolicyManager.createAndManageUser()
. - Panggil
DevicePolicyManager.startUserInBackground()
untuk memulai pengguna {i>ephemeral<i} di latar belakang.
Perhatikan bahwa aplikasi yang menargetkan Android 9 harus menangkap
UserManager.UserOperationException
saat menelepon
createAndManageUser()
. Panggil atribut
getUserOperationResult()
untuk mengetahui alasan
pengguna tidak dibuat.
Menerima notifikasi acara
DeviceAdminReceiver
menerima notifikasi untuk
peristiwa berikut:
onUserStarted()
: Dipanggil saat pengguna mulai.onUserSwitched()
: Dipanggil saat pengguna beralih selesai.onUserStopped()
: Dipanggil bersamaonUserRemoved()
saat pengguna berhenti atau mencatat .
Menampilkan pesan peristiwa kepada pengguna
Pemilik perangkat bisa mengonfigurasi pesan yang ditampilkan ke pengguna memulai dan mengakhiri sesi mereka:
- Gunakan
DevicePolicyManager.setStartUserSessionMessage()
untuk menyetel pesan yang ditampilkan ke pengguna saat sesi pengguna dimulai. Kepada mengambil pesan, memanggilDevicePolicyManager.getStartUserSessionMessage()
- Gunakan
DevicePolicyManager.setEndUserSessionMessage()
untuk menyetel pesan yang ditampilkan kepada pengguna saat sesi pengguna berakhir. Kepada mengambil pesan, memanggilDevicePolicyManager.getEndUserSessionMessage()
Logout dan hentikan pengguna
Pemilik perangkat
dapat menggunakan
DevicePolicyManager.setLogoutEnabled()
untuk menentukan apakah
logout diaktifkan untuk pengguna sekunder. Untuk memeriksa apakah {i>logout<i} diaktifkan, panggil
DevicePolicyManager.isLogoutEnabled()
Pemilik profil dari pengguna sekunder dapat memanggil
DevicePolicyManager.logoutUser()
untuk menghentikan pengguna sekunder dan
beralih kembali ke pengguna utama.
Pemilik perangkat dapat menggunakan DevicePolicyManager.stopUser()
untuk menghentikan
pengguna sekunder tertentu.
Penyimpanan dalam cache paket
Untuk menyederhanakan penyediaan pengguna di perangkat bersama dengan sejumlah pengguna yang tetap, seperti perangkat untuk pekerja shift, kita bisa melakukan {i>cache<i} paket yang yang diperlukan untuk sesi multi-pengguna:
Telepon
DevicePolicyManager.setKeepUninstalledPackages()
untuk menentukan daftar paket yang akan disimpan sebagai APK. Untuk mendapatkan daftar data ini paket, panggilDevicePolicyManager.getKeepUninstalledPackages()
Panggil
DevicePolicyManager.installExistingPackage()
untuk menginstal paket yang telah disimpan setelah penghapusan melaluisetKeepUninstalledPackages()
.
Metode dan konstanta tambahan
Android 9 juga menyertakan metode dan konstanta berikut untuk mendukung lebih lanjut sesi pengguna di perangkat bersama:
DevicePolicyManager.getSecondaryUsers()
mendapatkan daftar semua pengguna sekunder di perangkat.DISALLOW_USER_SWITCH
adalah batasan pengguna yang dapat Anda aktifkan dengan memanggilDevicePolicyManager.addUserRestriction()
untuk memblokir peralihan pengguna.LEAVE_ALL_SYSTEM_APPS_ENABLED
adalah flag tersedia untukDevicePolicyManager.createAndManageUser()
. Bila telah ditetapkan, aplikasi sistem tidak dinonaktifkan selama penyediaan pengguna.UserManager.UserOperationException
ditampilkan olehDevicePolicyManager.createAndManageUser()
saat pengguna tidak dapat dibuat— berisi alasan kegagalan.
Hapus data paket dan hapus akun
Pemilik perangkat dan pemilik profil dapat memanggil
clearApplicationUserData()
untuk menghapus data pengguna
untuk paket tertentu. Untuk menghapus akun dari
AccountManager
, pemilik perangkat dan profil dapat memanggil
removeAccount()
.
Pembatasan pengguna dan peningkatan kontrol atas setelan
Android 9 memperkenalkan serangkaian pembatasan pengguna untuk DPC, serta kemampuan untuk mengonfigurasi APN, waktu dan zona waktu, serta setelan sistem di perangkat.
Mengonfigurasi APN
Pemilik perangkat dapat menggunakan metode berikut di
DevicePolicyManager
untuk mengonfigurasi APN pada
perangkat:
addOverrideApn()
updateOverrideApn()
removeOverrideApn()
getOverrideApns()
setOverrideApnEnabled()
isOverrideApnEnabled()
Mengonfigurasi waktu dan zona waktu
Pemilik perangkat dapat menggunakan metode berikut di
Class DevicePolicyManager
untuk menyetel waktu dan zona waktu
di perangkat:
Terapkan batasan pengguna pada setelan penting
Android 9 menambahkan batasan pengguna untuk menonaktifkan fitur dan setelan sistem. Kepada
tambahkan batasan, panggil
DevicePolicyManager.addUserRestriction()
dengan salah satu
konstanta UserManager
berikut:
DISALLOW_AIRPLANE_MODE
DISALLOW_AMBIENT_DISPLAY
DISALLOW_CONFIG_BRIGHTNESS
DISALLOW_CONFIG_DATE_TIME
DISALLOW_CONFIG_LOCATION
DISALLOW_CONFIG_SCREEN_TIMEOUT
DISALLOW_PRINTING
Jika DISALLOW_CONFIG_BRIGHTNESS
dan
DISALLOW_CONFIG_SCREEN_TIMEOUT
diterapkan
di perangkat, pemilik perangkat masih dapat menyetel layar
kecerahan, kecerahan layar
mode, dan setelan waktu tunggu layar
di perangkat menggunakan API
DevicePolicyManager.setSystemSetting()
.
Data terukur
Pemilik perangkat dan pemilik profil dapat mencegah aplikasi menggunakan
berkuota. Jaringan dianggap berkuota ketika pengguna
sensitif terhadap penggunaan data yang berat karena
biaya, batas data, atau baterai, dan
masalah performa. Untuk mencegah aplikasi menggunakan jaringan berkuota, panggil
DevicePolicyManager.setMeteredDataDisabledPackages()
meneruskan daftar
nama paket. Untuk mengambil aplikasi yang saat ini dibatasi, panggil
DevicePolicyManager.getMeteredDataDisabledPackages()
Untuk mempelajari lebih lanjut data berkuota di Android, baca Mengoptimalkan Data Jaringan Penggunaan.
Memigrasikan DPC
{i>Device policy controller <i}(DPC) dapat mentransfer kepemilikan mereka atas perangkat atau profil kerja Anda ke DPC lain. Anda dapat mentransfer kepemilikan untuk memindahkan beberapa fitur ke Android Management API, untuk memigrasikan perangkat dari DPC lama Anda, atau untuk membantu admin IT bermigrasi ke EMM. Karena Anda hanya mengubah kepemilikan DPC, Anda tidak dapat menggunakan fitur ini untuk mengubah jenis pengelolaan data, misalnya, bermigrasi dari perangkat terkelola ke profil kerja atau sebaliknya.
Anda dapat menggunakan resource XML kebijakan admin perangkat untuk
menunjukkan bahwa versi DPC Anda mendukung migrasi. DPC target
menunjukkan bahwa perangkat tersebut dapat menerima kepemilikan dengan menyertakan elemen bernama
<support-transfer-ownership>
. Contoh di bawah menunjukkan bagaimana Anda dapat melakukannya dalam
file XML admin perangkat DPC:
<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>
DPC yang ingin memigrasikan kepemilikan ke aplikasi DPC baru dapat memeriksa apakah DPC target memiliki
yang mendukung migrasi dengan memanggil metode DeviceAdminInfo
supportsTransferOwnership()
. Sebelum mentransfer
DPC sumber bertanggung jawab untuk memverifikasi DPC target dengan
membandingkan ciri khas aplikasi. Class PackageManager
menyertakan
metode untuk bekerja dengan
tanda tangan tanda kode.
Android mengelola sistem DPC sumber dan kebijakan pengguna melalui kepemilikan
DPC tidak perlu memigrasikannya. DPC sumber dapat meneruskan data khusus ke
DPC target yang menggunakan key-value pair di PersistableBundle
. Setelah
berhasil, DPC target dapat mengambil data ini dengan memanggil
DevicePolicyManager.getTransferOwnershipBundle()
Langkah-langkah untuk mentransfer kepemilikan perangkat terkelola atau profil kerja adalah sama:
- DPC sumber memeriksa apakah versi DPC target mendukung migrasi dan mengonfirmasi bahwa tanda tangan aplikasi DPC target cocok dengan nilai yang diharapkan.
- DPC sumber memanggil
transferOwnership()
untuk memulai transfer data. - Sistem membuat DPC target menjadi admin aktif dan menetapkan sebagai pemilik perangkat terkelola atau profil kerja.
- DPC target menerima callback
onTransferOwnershipComplete()
dan dapat mengonfigurasi itu sendiri menggunakan nilai dari argumenbundle
. - Jika terjadi kesalahan pada transfer, sistem akan mengembalikan kepemilikan kepada
DPC sumber. Jika DPC sumber Anda perlu mengonfirmasi bahwa transfer kepemilikan
berhasil, panggil
isAdminActive()
untuk memeriksa apakah DPC sumber bukan lagi admin aktif.
Semua aplikasi yang berjalan di profil kerja akan menerima
ACTION_PROFILE_OWNER_CHANGED
siarkan saat
pemilik profil berubah. Aplikasi yang berjalan di perangkat terkelola akan menerima
ACTION_DEVICE_OWNER_CHANGED
melakukan siaran saat
perubahan pemilik perangkat.
Profil kerja di perangkat yang terkelola sepenuhnya
Mentransfer dua instance DPC yang berjalan sebagai pemilik perangkat dan pemilik profil berlangsung dalam dua tahap. Kapan profil pribadi dan profil kerja terafiliasi, selesaikan transfer dengan urutan berikut:
- Pertama, transfer kepemilikan profil kerja.
- Tunggu callback
DeviceAdminReceiver
onTransferAffiliatedProfileOwnershipComplete()
untuk mengonfirmasi bahwa profil kerja telah ditransfer ke DPC target. - Terakhir, transfer kepemilikan perangkat terkelola ke DPC target.
Menunda update Over-the-air (OTA)
Pemilik perangkat dapat menunda update sistem OTA ke perangkat hingga 90 hari untuk membekukan versi OS yang berjalan di perangkat tersebut selama periode penting (seperti hari libur). Sistem memberlakukan buffering 60-hari wajib setelah periode pembekuan untuk mencegah pembekuan perangkat tanpa batas waktu.
Selama masa pembekuan:
- Perangkat tidak menerima notifikasi apa pun tentang update OTA yang tertunda.
- Perangkat tidak menginstal update OTA apa pun ke OS.
- Pengguna perangkat tidak dapat memeriksa update OTA secara manual di Setelan.
Untuk menyetel periode pembekuan, panggil
SystemUpdatePolicy.setFreezePeriods()
Karena pembekuan
periode berulang setiap tahun, tanggal mulai dan akhir periode ditampilkan
dengan bilangan bulat yang menghitung jumlah hari sejak awal tahun. Hari mulai harus
dimulai setidaknya 60 hari setelah akhir periode pembekuan sebelumnya. Perangkat
pemilik dapat memanggil SystemUpdatePolicy.getFreezePeriods()
untuk
mendapatkan daftar periode pembekuan yang sebelumnya
ditetapkan pada objek kebijakan update sistem.
DevicePolicyManager.getSystemUpdatePolicy()
telah
diperbarui untuk menampilkan periode pembekuan yang ditetapkan oleh pemilik perangkat.
Membatasi berbagi di profil kerja
Pemilik profil dapat mencegah pengguna membagikan data pribadi ke profil kerja
pada perangkat dengan menambahkan batasan pengguna
DISALLOW_SHARE_INTO_MANAGED_PROFILE
Pembatasan ini mencegah berbagi dan penanganan intent berikut:
- Aplikasi profil pribadi yang berbagi data dan file dengan aplikasi profil kerja.
- Aplikasi profil kerja memilih item dari profil pribadi—misalnya, gambar atau file.
Setelah menetapkan pembatasan ini, DPC Anda masih dapat mengizinkan Aktivitas antar-profil
intent dengan memanggil
addCrossProfileIntentFilter()
Sertifikat mesin dan kunci dengan pengamanan hardware
Android 9 menambahkan API untuk membantu Anda menggunakan kunci dan sertifikat yang dapat digabungkan untuk mengidentifikasi perangkat dengan aman. DPC yang berjalan di pemilik atau perangkat profil mode pemilik, atau installer sertifikat yang didelegasikan, dapat menyelesaikan tugas berikut:
- Membuat kunci dan sertifikat di hardware aman (seperti project
execution environment (TEE) atau Secure Element (SE)) perangkat Android. Tujuan
kunci yang dibuat tidak pernah meninggalkan hardware aman dan dapat digunakan dari perangkat
Rantai Kunci. Telepon
DevicePolicyManager.generateKeyPair()
yang menyediakan algoritme (lihatKeyPairGenerator
) dan ID hardware apa pun yang yang ingin disahkan, seperti nomor seri atau IMEI. Untuk mempelajari lebih lanjut tentang perubahan perangkat keras, lihat dokumentasi Keamanan Android 9 penyempurnaan. - Mengaitkan sertifikat dengan kunci buatan perangkat yang sudah ada. Telepon
Menyediakan
DevicePolicyManager.setKeyPairCertificate()
alias dari kunci yang ada dan rantai sertifikat—dimulai dengan daun sertifikat dan termasuk rantai kepercayaan secara berurutan. - Pastikan hardware aman melindungi kunci sebelum menggunakannya. Untuk memeriksa mekanisme mana yang melindungi kunci, ikuti langkah-langkah di Pengesahan.
- Pemilik perangkat dan penginstal sertifikat yang didelegasikan dapat menerima
pernyataan perangkat ID hardware dengan versi sistem Android. Telepon
DevicePolicyManager.generateKeyPair()
meneruskan satu atau beberapa dariID_TYPE_BASE_INFO
,ID_TYPE_SERIAL
,ID_TYPE_IMEI
, atauID_TYPE_MEID
diidAttestationFlags
. Sertifikat yang dikembalikan mencakup hardware ID dalam data pengesahan. Jika Anda tidak ingin ID perangkat keras disertakan, teruskan0
. Pemilik profil hanya dapat menerima informasi produsen (dengan meneruskanID_TYPE_BASE_INFO
). Untuk memeriksa apakah perangkat dapat mengesahkan ID, panggilisDeviceIdAttestationSupported()
. - Mencegah pengguna perangkat menyalahgunakan kunci perusahaan (dalam tugas non-perusahaan)
dengan membuat sertifikat kunci
tidak dapat dipilih. Sistem ini tidak
menyertakan
sertifikat yang tidak dapat dipilih
di panel pemilih. Di
DeviceAdminReceiver.onChoosePrivateKeyAlias()
, tampilkan alias ke kunci perusahaan Anda sehingga sistem memilih sertifikat secara otomatis atas nama pengguna. Untuk membuat kunci tidak dapat dipilih, panggil metodeDevicePolicyManager
berikut:setKeyPairCertificate()
dan teruskanfalse
untuk argumenisUserSelectable
.installKeyPair (ComponentName, PrivateKey, Certificate[], String, int)
dan hapusINSTALLKEY_SET_USER_SELECTABLE
dari argumenflags
.
Dengan menggabungkan API ini, perusahaan bisa mengidentifikasi perangkat dengan aman dan mengonfirmasi integritasnya sebelum memberikan akses:
- Perangkat Android menghasilkan kunci pribadi baru di hardware aman. Karena kunci privat tidak pernah meninggalkan hardware aman, maka akan tetap rahasia.
- Perangkat menggunakan kunci tersebut untuk membuat dan mengirim permintaan penandatanganan sertifikat (CSR) ke server. CSR menyertakan catatan pengesahan yang berisi ID perangkat.
- Server memvalidasi rantai sertifikat (di-root ke sertifikat Google) dan mengekstrak metadata perangkat dari kumpulan data pengesahan.
- Server mengonfirmasi bahwa perangkat keras yang aman melindungi kunci pribadi dan bahwa ID perangkat cocok dengan catatan perusahaan. Server juga dapat memeriksa bahwa sistem Android dan versi patch memenuhi persyaratan.
- Server membuat sertifikat dari CSR dan mengirim sertifikat tersebut ke perangkat.
- Perangkat menyambungkan sertifikat dengan kunci pribadi (yang tetap berada di hardware aman) yang memungkinkan aplikasi untuk terhubung ke layanan perusahaan.
API, fitur, dan perubahan keamanan lainnya
ID untuk log keamanan dan log jaringan
Android 9 menyertakan ID dalam log aktivitas jaringan dan keamanan. ID numerik meningkat secara monoton untuk setiap acara, sehingga admin IT lebih mudah untuk mengenali kesenjangan data dalam log mereka. Karena log keamanan dan log jaringan terpisah koleksi, sistem akan mempertahankan nilai ID yang terpisah.
Panggil SecurityEvent.getId()
,
DnsEvent.getId()
, atau
ConnectEvent.getId()
untuk mendapatkan nilai ID. Sistem
menyetel ulang ID setiap kali DPC mengaktifkan logging atau saat perangkat dimulai ulang.
Log keamanan diambil dengan memanggil
DevicePolicyManager.retrievePreRebootSecurityLogs()
jangan sertakan ID ini.
Logging keamanan
Logging keamanan menetapkan level log untuk setiap SecurityEvent
. Untuk mendapatkan
level log,
panggil getLogLevel()
. Metode ini mengembalikan
nilai level log yang
dapat berupa salah satu dari: LEVEL_INFO
, LEVEL_WARNING
, atau
LEVEL_ERROR
.
Android 9 mencatat peristiwa yang tercantum dalam tabel di bawah ke dalam log keamanan
log. Untuk memeriksa tag peristiwa, panggil getTag()
. Kepada
mengambil data peristiwa, panggil getData()
.
Tag | Deskripsi acara |
---|---|
TAG_CERT_AUTHORITY_INSTALLED |
Upaya menginstal root certificate baru ke dalam penyimpanan kredensial sistem. |
TAG_CERT_AUTHORITY_REMOVED |
Upaya menghapus root certificate dari penyimpanan kredensial sistem. |
TAG_CERT_VALIDATION_FAILURE |
Sertifikat Wi-Fi gagal dalam pemeriksaan validasi selama koneksi. |
TAG_CRYPTO_SELF_TEST_COMPLETED |
Sistem menyelesaikan pengujian mandiri kriptografi. |
TAG_KEYGUARD_DISABLED_FEATURES_SET |
Aplikasi admin menonaktifkan fitur layar kunci perangkat atau profil kerja. |
TAG_KEY_DESTRUCTION |
Upaya untuk menghapus kunci kriptografis. |
TAG_KEY_GENERATED |
Upaya untuk membuat kunci kriptografis baru. |
TAG_KEY_IMPORT |
Upaya untuk mengimpor kunci kriptografis baru. |
TAG_KEY_INTEGRITY_VIOLATION |
Android mendeteksi enkripsi atau kunci autentikasi yang rusak. |
TAG_LOGGING_STARTED |
Logging keamanan memulai perekaman. |
TAG_LOGGING_STOPPED |
Logging keamanan menghentikan perekaman. |
TAG_LOG_BUFFER_SIZE_CRITICAL |
Buffering log keamanan mencapai 90% kapasitasnya. |
TAG_MAX_PASSWORD_ATTEMPTS_SET |
Aplikasi admin menetapkan jumlah upaya sandi salah yang diizinkan. |
TAG_MAX_SCREEN_LOCK_TIMEOUT_SET |
Aplikasi admin menyetel waktu tunggu kunci layar maksimum. |
TAG_MEDIA_MOUNT |
Perangkat memasang media penyimpanan yang dapat dilepas. |
TAG_MEDIA_UNMOUNT |
Perangkat melepaskan media penyimpanan yang dapat dilepas. |
TAG_OS_SHUTDOWN |
Sistem Android dimatikan. |
TAG_OS_STARTUP |
Sistem Android dimulai. |
TAG_PASSWORD_COMPLEXITY_SET |
Aplikasi admin menetapkan persyaratan kompleksitas sandi. |
TAG_PASSWORD_EXPIRATION_SET |
Aplikasi admin menyetel durasi masa berlaku sandi. |
TAG_PASSWORD_HISTORY_LENGTH_SET |
Aplikasi admin menyetel panjang histori sandi untuk mencegah pengguna menggunakan kembali sandi lama. |
TAG_REMOTE_LOCK |
Aplikasi admin mengunci perangkat atau profil kerja. |
TAG_USER_RESTRICTION_ADDED |
Aplikasi admin menetapkan batasan pengguna. |
TAG_USER_RESTRICTION_REMOVED |
Aplikasi admin menghapus batasan pengguna. |
TAG_WIPE_FAILURE |
Upaya menghapus total perangkat atau profil kerja gagal. |
Tantangan layar kunci profil kerja
Mulai Android 9, pemilik profil dapat mewajibkan pengguna menyetel kunci terpisah
tantangan layar untuk profil kerja mereka menggunakan
Batasan pengguna DISALLOW_UNIFIED_PASSWORD
. Kepada
memeriksa apakah pengguna telah menyetel tantangan
layar kunci yang sama untuk perangkat mereka dan
profil kerja, panggilan
DevicePolicyManager.isUsingUnifiedPassword()
Jika perangkat memiliki layar kunci profil
kerja yang terpisah,
DevicePolicyManager.setMaximumTimeToLock()
hanya menetapkan
waktu tunggu layar kunci untuk profil kerja, bukan untuk seluruh perangkat.
Akses alat developer
Untuk membantu menyimpan data kerja di profil kerja, alat Android Debug Bridge (adb) tidak dapat mengakses direktori dan file di profil kerja.
Dukungan untuk opsi biometrik lainnya
Android 9 menambahkan kontrol terperinci atas autentikasi hardware biometrik
layar kunci profil kerja Anda. Telepon yang ada
DevicePolicyManager.setKeyguardDisabledFeatures()
dengan KEYGUARD_DISABLE_FACE
dan
KEYGUARD_DISABLE_IRIS
.
Untuk menonaktifkan semua metode autentikasi biometrik yang disediakan oleh perangkat, tambahkan KEYGUARD_DISABLE_BIOMETRICS
.
Penghentian kebijakan admin perangkat
Android 9 menandai kebijakan yang tercantum di bawah sebagai tidak digunakan lagi untuk DPC yang menggunakan perangkat admin. Kebijakan tersebut terus berfungsi di Android 9 seperti yang telah mereka lakukan sebelumnya. Dimulai dengan rilis Android 10, kebijakan yang sama akan memunculkan {i>SecurityException<i} ketika dipanggil oleh admin perangkat.
USES_POLICY_DISABLE_CAMERA
USES_POLICY_DISABLE_KEYGUARD_FEATURES
USES_POLICY_EXPIRE_PASSWORD
USES_POLICY_LIMIT_PASSWORD
Beberapa aplikasi menggunakan admin perangkat untuk administrasi perangkat konsumen. Sebagai misalnya, mengunci dan menghapus total perangkat yang hilang. Kebijakan berikut akan berlanjut tersedia untuk memungkinkan tindakan ini:
Untuk informasi selengkapnya tentang perubahan ini, baca Admin perangkat penghentian layanan.
Pendaftaran kode QR yang disederhanakan
Koleksi QR bawaan
Android 9 dilengkapi dengan library QR untuk menyederhanakan perangkat kode QR penyediaan resource. Admin IT tidak perlu lagi memasukkan detail Wi-Fi secara manual untuk menyiapkan perangkat. Sebagai gantinya, dengan Android 9, Anda dapat menyertakan detail Wi-Fi ini dalam kode QR. Saat admin IT memindai kode QR dengan file milik perusahaan perangkat, perangkat akan otomatis terhubung ke Wi-Fi dan memasuki status proses tanpa input manual tambahan.
Metode penyediaan kode QR mendukung ekstra penyediaan berikut untuk menentukan detail Wi-Fi:
EXTRA_PROVISIONING_WIFI_HIDDEN
EXTRA_PROVISIONING_WIFI_PAC_URL
EXTRA_PROVISIONING_WIFI_PASSWORD
EXTRA_PROVISIONING_WIFI_PROXY_BYPASS
EXTRA_PROVISIONING_WIFI_PROXY_HOST
EXTRA_PROVISIONING_WIFI_PROXY_PORT
EXTRA_PROVISIONING_WIFI_SECURITY_TYPE
EXTRA_PROVISIONING_WIFI_SSID
Menetapkan tanggal dan zona waktu menggunakan tambahan penyediaan
Metode penyediaan kode QR mendukung ekstra penyediaan untuk menyetel waktu dan zona waktu pada perangkat:
Opsi penghapusan total data
Admin perangkat dapat menampilkan pesan yang dipersonalisasi kepada pengguna saat menghapus tugas
atau pengguna sekunder. Pesan ini membantu pengguna perangkat memahami bahwa
Admin IT menghapus profil kerja atau pengguna sekunder. Telepon
wipeData(int, CharSequence)
dan menyediakan video Shorts
pesan penjelasan. Saat dipanggil oleh pengguna utama atau pemilik perangkat, sistem
tidak menampilkan pesan dan akan memulai {i>
factory reset<i} dari perangkat tersebut.
Untuk menghapus data langganan dari SIM eUICC tersemat, panggil
wipeData()
dan menyertakan WIPE_EUICC
dalam flags
argumen.
Metode untuk pemilik profil terafiliasi
Metode berikut tersedia untuk profil terafiliasi pemilik:
DevicePolicyManager.setKeyguardDisabled()
DevicePolicyManager.setStatusBarDisabled()
PackageInstaller.createSession()