Androidのセキュリティを考える上でパーミッションは重要な要素です。
アプリのデータにアクセスするパーミッションや、アプリを実行するパーミッションなど、
開発者は様々なパーミッションを作成することができます。
同時にパーミッションはアプリがもつ権限の強さを示す指標でもあります。
リスクのあるパーミッションをアプリが使用するにはユーザの許可を得る必要があります。
(インストール確認画面で要求するパーミッションが表示されます)
# 様々なパーミッションを要求するアプリを不審に思うユーザもいるようです。
パーミッションには、Android標準で用意されているインターネットへのアクセスや電話帳
データのリード/ライトなど様々ですが、例えば「自アプリのデータにアクセスするパー
ミッション」「自アプリを起動するためのパーミッション」等を独自に作成することも可能です。
独自に作成したパーミッションには保護レベルを設定することができます。
保護レベルはパーミッションの定義側ではなく、使用側を制御する仕組みです。
●保護レベルの種類
・normal
低リスクのパーミッションであることを表します。
インストール確認画面でも[すべて表示]を選択しないと表示されません。
・dangerous
リスクあるパーミッションであることを表します。
インストール確認画面でユーザに許可を求める場合に指定します。
・signature
同じ署名を持つアプリにのみ、パーミッションの使用を許可します。
インストール確認画面には表示されません。
・signatureOrSystem
サードパティアプリでは使用できない権限です。
主にシステムアプリ間で使用される保護レベルです。
データベースにアクセスできるアプリを制限したい場合は保護レベルsignatureを指定します。
パーミッションの保護レベルはpermission要素のandroid:protectionLevel属性に指定します。
参考:http://developer.android.com/guide/topics/manifest/permission-element.html
参考:http://developer.android.com/guide/topics/manifest/permission-element.html#plevel
以上です。