Izin Android

Izin Android memberikan kontrol yang meningkatkan kesadaran pengguna dan membatasi akses aplikasi ke data sensitif. Mengonfigurasi izin di Android 8.0 dan yang lebih rendah mencakup daftar yang diizinkan, yang tanpanya aplikasi istimewa akan dinonaktifkan, meskipun mereka berada di jalur priv-app pribadi. Di Android 9 dan yang lebih tinggi, perangkat yang mencoba menggunakan aplikasi yang tidak diizinkan dengan benar tidak akan bisa boot.

Android 10 memperkenalkan konsep peran , nama unik dalam sistem yang terkait dengan persyaratan dan hak istimewa tertentu. Tetapkan peran ke aplikasi untuk memberi mereka izin untuk tujuan tertentu, dan konfigurasikan peran default menggunakan sumber daya konfigurasi platform.

Peningkatan perlindungan terhadap Aplikasi yang Berpotensi Berbahaya (PHA) meningkat

  • Transparansi ke dalam perilaku aplikasi yang berpotensi berbahaya.
  • Kontrol pengguna atas perilaku aplikasi.
  • Kebijaksanaan pengembang aplikasi saat menggunakan data pribadi, dilindungi oleh izin.

Pemasangan dan izin paket

Di Android 9 dan yang lebih rendah, fungsi instal paket dan kontrol izin terdapat dalam paket PackageInstaller ( //packages/apps/PackageInstaller ). Di Android 10 dan yang lebih tinggi, fungsi kontrol izin berada dalam paket terpisah, PermissionController ( //packages/apps/PermissionController ). Gambar 1 mengilustrasikan di mana kedua paket berada di Android 10.

Pemisahan fungsi pemasangan paket dan kontrol izin untuk aplikasi sistem dan seperti yang digunakan oleh aplikasi yang dipasang pengguna
Gambar 1. Instalasi paket dan fungsionalitas kontrol izin di Android 10

Daftar yang diizinkan dan akses

Di Android 6.0 dan yang lebih tinggi, aplikasi meminta akses ke izin berbahaya saat waktu proses . Android 10 menambahkan izin waktu proses pengenalan aktivitas (AR), yang meminta pengguna untuk mengubah atau mengizinkan izin berbahaya.

Android 8.0 mengharuskan Anda untuk secara eksplisit mengizinkan aplikasi dengan hak istimewa dalam file XML konfigurasi sistem di direktori /etc/permissions . Di Android 9 dan yang lebih tinggi, izin istimewa harus diizinkan atau perangkat tidak dapat melakukan booting.

Untuk membatasi visibilitas API internal dan mencegah aplikasi mengakses pustaka platform secara tidak sengaja, Android 7.0 memperkenalkan Namespaces untuk Native Libraries . Ini memisahkan pustaka sistem dari pustaka aplikasi, dan produsen perangkat dapat menambahkan pustaka asli mereka sendiri.

Mulai dari aplikasi Android 10 harus memiliki izin tanda tangan dan izin pengguna untuk mengakses konten layar perangkat . Aplikasi istimewa yang mengandalkan fungsi pengambilan senyap, seperti mengambil tangkapan layar, sebaiknya menggunakan kelas MediaProjection sebagai gantinya.

Transparansi dan privasi

Di Android 6.0 dan lebih tinggi, alamat MAC pabrik perangkat dilindungi dari akses oleh penyedia layanan Wi-Fi dan penganalisis paket. Pembatasan tambahan pada Android 10 membatasi aplikasi untuk mengakses pengenal perangkat (ID) yang tidak dapat diubah kecuali jika diizinkan untuk izin istimewa . (Bagian Konektivitas menyediakan diskusi terkait tentang Pengidentifikasi Perangkat , karena ini memengaruhi operator.)

Di Android 9 dan yang lebih rendah, pengguna membuat pilihan terus-menerus saat memberikan akses lokasi ke aplikasi. Mulai Android 10, fitur izin lokasi tiga status memberi pengguna tiga opsi untuk mengizinkan akses aplikasi ke lokasi perangkat. Persyaratan izin ini diterapkan ke aplikasi di Android 10 terlepas dari SDK target.

Konfigurasikan izin untuk fitur transparansi dan privasi lainnya mulai dari Android 10

Konfigurasi yang disederhanakan

Konfigurasi izin telah disederhanakan untuk Android 6.0 dan lebih tinggi.

  • Kemampuan ambient untuk layanan yang diluncurkan oleh init menyimpan semua aspek konfigurasi layanan dalam satu file .rc . Saat mengatur kemampuan untuk layanan yang tidak diluncurkan oleh init , konfigurasikan kemampuan sistem file menggunakan fs_config.c sebagai gantinya.
  • Android 7.x dan yang lebih rendah memperluas mekanisme Android ID (AID), menggunakan file android_filesystem_config.h khusus perangkat untuk menentukan kemampuan sistem file dan/atau AID produsen perangkat khusus. Android 8.0 dan yang lebih tinggi mendukung metode baru untuk memperluas kemampuan sistem file .
  • Di Android 8.0, penanganan perintah USB dipindahkan dari skrip init khusus perangkat (pengganti untuk lapisan HAL) dan ke daemon USB asli. Antarmuka USB HAL harus diterapkan pada setiap peluncuran perangkat di Android 8.0 dan lebih tinggi.