Google 致力于为黑人社区推动种族平等。查看具体举措
此页面由 Cloud Translation API 翻译。
Switch to English

Android İzinleri

Android izinleri, kullanıcı farkındalığını artıran ve bir uygulamanın hassas verilere erişimini sınırlayan kontroller sağlar. Android 8.0 ve önceki sürümlerde izinlerin yapılandırılması, ayrıcalıklı uygulamaların, özel priv-app yolunda olsalar bile devre dışı bırakılmadan beyaz listeye almayı içerir. Android 9 ve sonraki sürümlerde, düzgün şekilde beyaz listeye alınmayan uygulamaları kullanmaya çalışan bir cihaz önyükleme yapmaz.

Potansiyel Olarak Zararlı Uygulamalara (PHA) karşı artan korumalar iyileştirilir

  • Olası zararlı uygulama davranışına karşı şeffaflık.
  • Uygulama davranışı üzerinde kullanıcı kontrolü.
  • İzinlerle korunan özel verileri kullanırken uygulama geliştiricilerin takdir yetkisi.

Paket yükleme ve izin

Android 9 ve önceki sürümlerde, paket yükleme ve izin kontrol işlevleri PackageInstaller paketinde ( //packages/apps/PackageInstaller ) bulunuyordu. Android 10 ve sonraki sürümlerde, izin kontrol işlevi ayrı bir pakette bulunur: PermissionController ( //packages/apps/PermissionController ). Şekil 1 , iki paketin Android 10'da nerede bulunduğunu göstermektedir.

Sistem uygulamaları için ve kullanıcı tarafından yüklenen uygulamalar tarafından kullanılan paket yükleme ve izin kontrol işlevlerinin ayrılması
Şekil 1. Android 10'da paket yükleme ve izin denetimi işlevleri

Beyaz listeler ve erişim

Android 6.0 ve sonraki sürümlerde, uygulamalar çalışma zamanında tehlikeli izinlere erişim ister. Android 10, kullanıcıdan tehlikeli izinleri değiştirmesini veya bunlara izin vermesini isteyen etkinlik tanıma (AR) çalışma zamanı izinleri ekler.

Android 8.0, ayrıcalıklı uygulamaları /etc/permissions dizinindeki sistem yapılandırması XML dosyalarında açıkça beyaz listeye eklemenizi gerektiriyordu. Android 9 ve sonraki sürümlerde, ayrıcalıklı izinler beyaz listeye alınmalıdır, aksi takdirde cihaz önyükleme yapamaz.

Dahili API görünürlüğünü sınırlamak ve uygulamaların yanlışlıkla platform kitaplıklarına erişmesini önlemek için Android 7.0 , Yerel Kitaplıklar için Ad Alanları'nı kullanıma sundu. Bu, sistem kitaplıklarını uygulama kitaplıklarından ayırır ve cihaz üreticileri kendi yerel kitaplıklarını ekleyebilir.

Android 10'dan başlayarak uygulamaların, bir cihazın ekran içeriğine erişmek için hem imza izinlerine hem de kullanıcı onayına sahip olması gerekir. Ekran görüntüsü alma gibi sessiz yakalama işlevine dayanan ayrıcalıklı uygulamalar bunun yerine MediaProjection sınıfını kullanmalıdır.

Şeffaflık ve gizlilik

Android 6.0 ve sonraki sürümlerde, bir cihaz fabrikası MAC adresi, Wi-Fi servis sağlayıcıları ve paket analizörleri tarafından erişime karşı korunur. Android 10'dan itibaren ek kısıtlamalar, uygulamaların, ayrıcalıklı izinler için beyaz listeye alınmadıkları sürece değişmez cihaz tanımlayıcılarına (kimlikler) erişmesini sınırlar. ( Bağlantı bölümü, taşıyıcıları etkilediği için Cihaz Tanımlayıcıları hakkında ilgili bir tartışma sağlar.)

Android 9 ve önceki sürümlerde, kullanıcılar uygulamalara konum erişimi verirken kalıcı seçimler yapar. Android 10'dan başlayarak, üç durumlu konum izinleri özelliği, kullanıcıların bir cihazın konumuna uygulamaya erişmesine izin vermek için üç seçenek sunar. Bu izin gereksinimleri, hedef SDK'dan bağımsız olarak Android 10'daki uygulamalara uygulanır.

Android 10'dan başlayarak diğer şeffaflık ve gizlilik özellikleri için izinleri yapılandırın

Basitleştirilmiş konfigürasyonlar

İzin yapılandırmaları, Android 6.0 ve sonraki sürümler için kolaylaştırılmıştır.

  • Ortam yetenekleri başlattığı hizmetler için init tek hizmet yapılandırması tüm yönleriyle tutan .rc dosyası. Tarafından başlatılan değil hizmetler için yeteneklerini ayarlarken init , yapılandırmak dosya sistemi yetenekleri kullanarak fs_config.c yerine.
  • Android 7.x ve önceki sürümler, dosya sistemi yeteneklerini ve / veya özel cihaz üreticisi AID'lerini belirtmek için cihaza özel bir android_filesystem_config.h dosyası kullanarak Android Kimlikleri (AID'ler) mekanizmasını genişletir. Android 8.0 ve üzeri, dosya sistemi yeteneklerini genişletmek için yeni bir yöntemi destekler.
  • Android 8.0'da, USB komutlarının işlenmesi cihaza özgü init komut dosyalarından (HAL katmanlarının yerine geçer) ve yerel bir USB arka plan programına taşındı. USB HAL arayüzü, Android 8.0 ve sonraki sürümlerde başlatılan her cihazda uygulanmalıdır.