見出し画像

【Androidアプリ開発】パーミッション(権限)とは

パーミッション(権限)とは

 Androidアプリ開発における、パーミッション(権限)とは、アプリを利用するユーザーを保護するために、特定の機能に対してアクセス保護を行うためのものです。例えば、ユーザーの連絡先情報やカメラやBluetoothなど該当します。これらをユーザーの許可なしに勝手にアプリが利用してはプライバシーに影響が出ると同時に、犯罪に繋がる恐れがあります。以下パーミッションを権限と呼びます。
 Android 6.0まではGoogle Playのインストール時に、取得したい権限を表示すればよかったのですが、Android 6.0以降は特定の権限に関しては、アプリ内で同意を取る必要があります。皆さんも下記画面は見たことがあるのではないでしょうか。こちらが同意されると、アプリに対して権限が付与されるという仕組みになります。

画像1

 また、権限は好き放題つけていいわけではなく、使うものだけにしましょう。例えば位置情報を利用しないアプリなのに、位置情報の権限をしてはいけません。セキュリティの面やユーザーを守るためにも必要な権限のみをつけましょう。

パーミッション(権限)の使い方

 続いて、権限を実際にどうやって使っていくのかを説明します。まず記載する場所ですが、AndroidManifest.xmlに記載していきます。下記がAndroidManifest.xmlの画面ですが、
<uses-permission>というタグが見えるかと思います。こちらを利用して権限の宣言をしていきます。また、その他にも設定できるオプションがありますので、合わせて説明します。

画像2

<uses-permission>
 

 まず先ほども紹介した、<uses-permission>タグについてです。こちらは利用したい権限を宣言することで、アプリに該当の権限を付与できるタグです。例えばインターネットを利用する場合は、以下のように宣言します。

<uses-permission android:name="android.permission.INTERNET" />

  また、外部ストレージに書き込み権限を付与するためには以下のように記載します。

 <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>

 見てみるとおわかりになると思いますが、INTERNETというキーワードと、WRITE_EXTERNAL_STORAGEの名前が違うだけですよね。これが該当の権限のキーワードということになります。

<uses-feature>

 続いて、<uses-feature>タグについてです。こちらはハードウェアやソフトウェアの機能要件を満たさない端末からアプリをフィルタします。例えば、Bluetoothを利用するアプリが、Bluetoothが搭載されていない端末(最近はあまりありませんが)に対してダウンロードされても利用することが出来ませんので、このような場合、Google Playの配信端末から排除することが出来ます。

 具体的に利用する場合は、下記のようにAndroidManifest.xmlに記述します。

<uses-feature android:name="android.hardware.bluetooth" />

保護レベル

  権限には保護レベルという考え方が存在します。保護レベルとは各権限に対してGoogleが危険性を判断し、定義づけているものです。具体的には各権限は“normal” , “dangerous”, “signature”, に振り分けられています。それぞれについて説明します。

続きは長くなってしまいましたので、下記記事を見てください!




この記事が気に入ったらサポートをしてみませんか?