Copertina articolo "Come funzionano le autorizzazioni su Android"

Come funzionano le autorizzazioni su Android?

Come funzionano le autorizzazioni di Android, e cosa cambia da Marshmallow in poi? In questo approfondimento ti spiego la differenza fra autorizzazioni normali e pericolose e la divisione in gruppi.

In Android il file Manifest contiene la lista di autorizzazioni richieste per far funzionare correttamente l’applicazione, questo sia se l’app è sviluppata in nativo sia con un framework come Ionic.
Ad esempio se abbiamo bisogno di utilizzare la fotocamera perché la nostra app legge i codici QR, dobbiamo richiedere l’autorizzazione per l’accesso alla fotocamera.

Sul Play Store troviamo la scheda relativa alle autorizzazioni richieste da un’app prima di essere installate, così da farci un’idea di quali siano le componenti utilizzate dall’applicazione.

Ma come funzionano le autorizzazioni?

Al 6 Luglio, Android Developers ha pubblicato i dati relativi alla diffusione delle varie versioni di Android.
Concentriamoci sulle tre versioni più recenti:

5.0 Lollipop 21

7.8%

5.1 22 22.3%
6.0 Marshmallow 23 31.8%
7.0 Nougat 24 10.6%
7.1 25 0.9%

Per quanto riguarda Android 5 Lollipop e inferiori le autorizzazioni venivano concesse in blocco al momento dell’installazione. Non si aveva la possibilità di gestire i permessi separatamente né si poteva negare una particolare autorizzazione.
L’unica alternativa era disinstallare l’app.

A partire da Android 6 Marshmallow le cose sono leggermente cambiate e il sistema ci permette di poter gestire in maniera personalizzata le autorizzazioni concedendo quindi l’autorizzazione per l’accesso alla memoria ma non alla fotocamera.
Tuttavia questo non garantisce il corretto funzionamento dell’applicazione.
L’installazione però procede senza richieste, perché?

Autorizzazioni normali e pericolose

Il sistema divide le autorizzazioni in due tipi: Quelle “normali” e quelle “pericolose”.
Le autorizzazioni normali vengono concesse automaticamente al momento dell’installazione, non verrà effettuata nessuna richiesta all’utente.
Le autorizzazione considerate pericolose sono quelle che richiedono un accesso ad aree che contengono dati considerati confidenziali, che riguardano la tua privacy, non venendo concesse automaticamente ma richieste all’occorrenza.
In questo caso, il sistema nega l’autorizzazione e nel momento in cui l’utente accede a una determinata funzione dell’app richiede a runtime (cioè durante l’esecuzione) questo tipo di autorizzazioni.

I gruppi

Oltre ai permessi considerati normali e pericolosi, le autorizzazioni richieste sono divise per gruppi.
Quando troviamo l’autorizzazione ai Contatti in realtà parliamo di operazioni e autorizzazioni distinte come leggere i contatti e scrivere/modificare i contatti. Nel momento in cui l’app vorrà accedere ai contatti richiederà l’autorizzazione per farlo. Concedendo l’autorizzazione per leggere i contatti, nel momento in cui l’app vorrà aggiungerne o modificarne uno non ci verrà richiesta l’autorizzazione perché l’abbiamo già concessa al gruppo.

Quindi questo significa che l’app richiederà una sola volta l’autorizzazione e che la scelta si ripercuoterà su tutte le autorizzazioni che fanno parte di quel gruppo.

Commenta!

Parlare di autorizzazioni è un argomento sempre molto importante perché è strettamente collegato alla sicurezza.
E’ essenziale conoscere il loro funzionamento e come poter gestire un’app sia come utenti ma soprattutto come sviluppatori: richiedere autorizzazioni non necessarie potrebbe essere visto con sospetto dall’utente, il quale per alcune richieste ritenute ingiustificate potrebbe non scaricare l’applicazione.
Ti è piaciuta questo approfondimento? Torneremo a parlare di Android, della programmazione relativa al mobile e alla sicurezza nei prossimi articoli.
Nel mentre se hai qualcosa da chiedere o qualche suggerimento, lascia pure un commento.

 

Seguimi sui social! Come? Puoi seguire la pagina su Facebook, Google Plus, Twitter e su Linkedin.