ソフトウェアのセキュリティは、セキュリティ ソフトウェアではありません。ここでは、認証、アクセス制御、機密性、暗号化、権限管理などのトピックについて説明します。
<uses-permission .../>
要素では、ACTIVITY_RECOGNITION
権限の使用を宣言しています。この権限により、アプリケーションがユーザーの身体活動を認識できるようになります。<uses-permission android:name="android.permission.ACTIVITY_RECOGNITION"/>
<uses-permission .../>
要素では、READ_CALENDAR
権限の使用を宣言しています。この権限により、アプリケーションはユーザーのカレンダー データを読み取ることができます。<uses-permission android:name="android.permission.READ_CALENDAR"/>例 2: AndroidManifest.xml の
<uses-permission .../>
要素では、WRITE_CALENDAR
権限の使用を宣言しており、これにより、アプリケーションがユーザーのカレンダー データに書き込むことが可能になります。<uses-permission android:name="android.permission.WRITE_CALENDAR"/>
<uses-permission .../>
要素では、READ_CALL_LOG
権限の使用を宣言しています。この権限により、アプリケーションはユーザーの通話ログを読み取ることができます。<uses-permission android:name="android.permission.READ_CALL_LOG"/>例 2: AndroidManifest.xml の
<uses-permission .../>
要素では、WRITE_CALL_LOG
権限の使用を宣言しています。この権限により、アプリケーションがユーザーの通話ログに書き込むことができるようになります。<uses-permission android:name="android.permission.WRITE_CALL_LOG"/>
<uses-permission .../>
要素では、アプリケーションがデバイスのカメラにアクセスすることを可能にする CAMERA
権限の使用を宣言しています。<uses-permission android:name="android.permission.CAMERA"/>
<uses-permission .../>
要素では、READ_CONTACTS
権限の使用を宣言しています。この権限により、アプリケーションはユーザーの連絡先データを読み取ることができます。<uses-permission android:name="android.permission.READ_CONTACTS"/>例 2: AndroidManifest.xml の
<uses-permission .../>
要素では、WRITE_CONTACTS
権限の使用を宣言しています。この権限により、アプリケーションはユーザーの連絡先データへの書き込みが可能になります。<uses-permission android:name="android.permission.WRITE_CONTACTS"/>例 3: AndroidManifest.xml の
<uses-permission .../>
要素では、GET_ACCOUNTS
権限の使用を宣言しています。この権限により、アプリケーションは、Account Manager に保存されているユーザーのメール アカウントやオンライン アカウントにアクセスできるようになります。この権限により、アカウント ID、電子メールアドレス、電話番号などの機密データにアクセスすることができます。<uses-permission android:name="android.permission.GET_ACCOUNTS"/>
<uses-permission .../>
要素では、WRITE_EXTERNAL_STORAGE
権限の使用を宣言しています。この権限により、アプリケーションが外部ストレージに書き込むことができるようになります。<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>例 2: AndroidManifest.xml の
<uses-permission .../>
要素では、READ_EXTERNAL_STORAGE
権限の使用を宣言しています。この権限により、アプリケーションが外部ストレージから読み取ることができるようになります。<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.BRICK"/>
lm.requestLocationUpdates(LocationManager.GPS_PROVIDER, 1000, 0, locationListener);
sms.sendTextMessage(recipient, null, message, PendingIntent.getBroadcast(SmsMessaging.this, 0, new Intent(ACTION_SMS_SENT), 0), null);
<uses-permission .../>
要素では、RECORD_AUDIO
権限の使用を宣言しています。この権限により、アプリケーションはデバイスのマイクを使用してオーディオを録音できるようになります。<uses-permission android:name="android.permission.RECORD_AUDIO"/>
<uses-permission .../>
要素は、アプリケーションが近くの Bluetooth デバイスにアドバタイズできるようにする BLUETOOTH_ADVERTISE
権限の使用を宣言します。<uses-permission android:name="android.permission.BLUETOOTH_ADVERTISE"/>
<uses-permission .../>
要素は、アプリケーションがデバイス ユーザーに通知を送信できるようにする POST_NOTIFICATIONS
権限の使用を宣言します。<uses-permission android:name="android.permission.POST_NOTIFICATIONS"/>
<uses-permission .../>
要素は、アプリケーションがデバイス上の音楽およびオーディオ ファイルを読み取ることができるようにする READ_MEDIA_AUDIO
権限の使用を宣言します。<uses-permission android:name="android.permission.READ_MEDIA_AUDIO"/>
<uses-permission .../>
要素は、アプリケーションがデバイス上のビデオ ファイルを読み取ることができるようにする READ_MEDIA_VIDEO
権限の使用を宣言します。<uses-permission android:name="android.permission.READ_MEDIA_VIDEO"/>
<uses-permission .../>
要素では、BODY_SENSORS
権限の使用を宣言しています。この権限により、アプリケーションは、端末や接続されたウェアラブルに搭載されたボディ センサーや環境センサーからのデータにアクセスできるようになります。<uses-permission android:name="android.permission.BODY_SENSORS"/>
number = tm.getCompleteVoiceMailNumber();
FLAG_GRANT_READ_URI_PERMISSION
や FLAG_GRANT_WRITE_URI_PERMISSION
など、通常は外部プログラムに付与できない権限を付与できるようになります。悪意のあるプログラムがこのインテントを傍受すると、指定された URI の読み書き権限を取得します。インテントが明示的ではなく暗黙的な場合、より傍受されやすくなります。
myIntent.setFlags(Intent.FLAG_GRANT_WRITE_URI_PERMISSION);
AUTHID
句が定義されていないトップレベル関数またはプロシージャーは、AUTHID DEFINER
に戻ります。AUTHID DEFINER
または AUTHID CURRENT_USER
のいずれかです。定義者権限が付与されている関数およびプロシージャーは、コードを定義するユーザの権限で実行されます。これにより、テーブルまたはスキーマ全体にアクセス権限を付与せずに、データの特定の部分を更新する、あるいはアクセスすることができます。実行者権限、つまり AUTHID CURRENT_USER
が設定されている関数およびプロシージャーは、その関数またはプロシージャーを呼び出すユーザーの権限で実行されます。これは、データに対するアクセス権限がない場合は、ユーザーにはアクセス権限が付与されません。AUTHID
句が定義されていない場合、その関数またはプロシージャーは定義者権限に戻ります。 SYS
または高い権限を持つ別のユーザーによって定義されるため、そのコードが悪用された場合の危険性が高まります。