Propriété de Albiri Sigue
customer 27921 at Fri Mar 11 19:19:45 +0100 2011
Chapitre 29
Demander et exiger des permissions 299
Halte ! Qui va là ?
L’autre côté de la médaille est, bien sûr, la sécurisation de votre propre application. Si
celle-ci est uniquement constituée d’activités et de récepteurs d’intention, la sécurité peut
être simplement tournée "vers l’extérieur", lorsque vous demandez le droit d’utiliser les
ressources d’autres applications. Si, en revanche, votre application comprend des fournisseurs de contenu ou des services, vous voudrez mettre en place une sécurité "vers l’intérieur", pour contrôler les applications qui peuvent accéder à vos données et le type de ces
accès.
Le problème, ici, est moins les "perturbations" que peuvent causer les autres applications à
vos données que la confidentialité des informations ou l’utilisation de services qui pourraient vous coûter cher. Les permissions de base d’Android sont conçues pour cela –
pouvez-vous lire ou modifier des contacts, envoyer des SMS, etc. Si votre application
stocke des informations susceptibles d’être privées, la sécurité est moins un problème.
Mais, si elle stocke des données privées comme des informations médicales, la sécurité
devient bien plus importante.
La première étape pour sécuriser votre propre application à l’aide de permissions consiste
à les déclarer dans le fichier AndroidManifest.xml. Au lieu d’utiliser uses-permission,
vous ajoutez alors des éléments permission. Là encore, il peut y avoir zéro ou plusieurs
de ces éléments, qui seront tous des fils directs de manifest.
Déclarer une permission est un peu plus compliqué qu’utiliser une permission car vous
devez donner trois informations :
1. Le nom symbolique de la permission. Pour éviter les collisions de vos permissions
avec celles des autres applications, utilisez l’espace de noms Java de votre application
comme préfixe.
2. Un label pour la permission : un texte court et compréhensible par les utilisateurs.
3. Une description de la permission : un texte un peu plus long et compréhensible par les
utilisateurs.
android:name="vnd.tlagency.sekrits.SEE_SEKRITS"
android:label="@string/see_sekrits_label"
android:description="@string/see_sekrits_description" />
Cet élément n’impose pas la permission. Il indique seulement qu’il s’agit d’une permission possible ; votre application doit quand même savoir détecter les violations de sécurité
lorsqu’elles ont lieu.
Livre Android.book Page 299 Dimanche, 8. novembre 2009 12:23 12
customer 27921 at Fri Mar 11 19:19:45 +0100 2011
Chapitre 29
Demander et exiger des permissions 299
Halte ! Qui va là ?
L’autre côté de la médaille est, bien sûr, la sécurisation de votre propre application. Si
celle-ci est uniquement constituée d’activités et de récepteurs d’intention, la sécurité peut
être simplement tournée "vers l’extérieur", lorsque vous demandez le droit d’utiliser les
ressources d’autres applications. Si, en revanche, votre application comprend des fournisseurs de contenu ou des services, vous voudrez mettre en place une sécurité "vers l’intérieur", pour contrôler les applications qui peuvent accéder à vos données et le type de ces
accès.
Le problème, ici, est moins les "perturbations" que peuvent causer les autres applications à
vos données que la confidentialité des informations ou l’utilisation de services qui pourraient vous coûter cher. Les permissions de base d’Android sont conçues pour cela –
pouvez-vous lire ou modifier des contacts, envoyer des SMS, etc. Si votre application
stocke des informations susceptibles d’être privées, la sécurité est moins un problème.
Mais, si elle stocke des données privées comme des informations médicales, la sécurité
devient bien plus importante.
La première étape pour sécuriser votre propre application à l’aide de permissions consiste
à les déclarer dans le fichier AndroidManifest.xml. Au lieu d’utiliser uses-permission,
vous ajoutez alors des éléments permission. Là encore, il peut y avoir zéro ou plusieurs
de ces éléments, qui seront tous des fils directs de manifest.
Déclarer une permission est un peu plus compliqué qu’utiliser une permission car vous
devez donner trois informations :
1. Le nom symbolique de la permission. Pour éviter les collisions de vos permissions
avec celles des autres applications, utilisez l’espace de noms Java de votre application
comme préfixe.
2. Un label pour la permission : un texte court et compréhensible par les utilisateurs.
3. Une description de la permission : un texte un peu plus long et compréhensible par les
utilisateurs.
android:label="@string/see_sekrits_label"
android:description="@string/see_sekrits_description" />
Cet élément n’impose pas la permission. Il indique seulement qu’il s’agit d’une permission possible ; votre application doit quand même savoir détecter les violations de sécurité
lorsqu’elles ont lieu.
Livre Android.book Page 299 Dimanche, 8. novembre 2009 12:23 12
