Google Play は、すべてのファイルへのアクセスという特別なアプリアクセスなど、リスクが高い、または機密情報に関わる権限の使用を制限しています。これは、Android 11(API レベル 30)をターゲットとし、Android 11 で追加された MANAGE_EXTERNAL_STORAGE
権限を宣言するアプリにのみ適用されます。また、このポリシーは READ_EXTERNAL_STORAGE
権限の使用には影響しません。
アプリが MANAGE_EXTERNAL_STORAGE
権限にアクセスする必要がない場合は、ポリシー審査の要件を満たせるよう、この権限をアプリのマニフェストから削除してください。ポリシーに準拠した代替実装方法について詳しくは、下記をご覧ください。
アプリが利用規定に関するポリシーの要件を満たしているか、例外の対象となる場合は、Google Play Console の権限申告フォームを使用して、この権限やその他のリスクの高い権限を申告する必要があります。
ポリシーの要件を満たさないアプリや権限申告フォームを提出していないアプリは、Google Play から削除されることがあります。
「すべてのファイルへのアクセス」権限をリクエストする必要がある場合
ストレージ アクセス フレームワークや MediaStore API など、よりプライバシーに配慮したおすすめの方法をアプリで効果的に使用できない場合にのみ、「すべてのファイルへのアクセス」権限を利用してください。必要のない権限や使用しない権限はアプリで宣言しないでください。
コア機能
さらに、アプリによる権限の用途は、許容される用途に該当し、かつアプリのコア機能に直接関連している必要があります。コア機能とは、アプリの主な目的のことです。このコア機能がない場合、アプリは「破損」しており、使用できないものとみなされます。コア機能と、このコア機能を構成する主要な機能はすべて、アプリの説明文で最も目立つところに記載し、宣伝する必要があります。
アプリのコア機能に「すべてのファイルへのアクセス」権限が必要な場合は、権限申告フォームに記入して Google Play の承認を得る必要があります。
「すべてのファイルへのアクセス」権限の許容される用途「すべてのファイルへのアクセス」権限の利用をリクエストするアプリの場合、意図された許容される用途としては、ファイル マネージャー、バックアップおよび復元アプリ、ウイルス対策アプリ、ドキュメント管理アプリが挙げられます。
この権限の利用を許可されたアプリは、開示していない目的や無効な目的のためにその用途を広げることはできません。
用途 |
対象の権限* |
ファイル管理 アプリ固有のストレージ領域の外部にあるファイルやフォルダへのアクセス、編集、管理(保守も含む)を主な目的とするアプリ |
|
バックアップと復元のアプリ バックアップと復元を目的として、アプリ固有のストレージ領域の外部にある複数のディレクトリに自動的にアクセスする必要があるアプリ |
|
ウイルス対策アプリ デバイスをスキャンして、デバイスのユーザーにウイルス対策のセキュリティ機能を提供することを主な目的とするアプリ |
|
ドキュメント管理アプリ アプリ固有のストレージや共有ストレージの外部で、対応するファイル形式について検索、アクセス、編集を行う必要があるアプリ アプリ固有のファイルにアクセスするまたはストレージ アクセス フレームワーク(プライバシーに配慮した方法)についてのドキュメントに記載された解決策ではアプリの目的に不十分である理由を Google Play Console での申告で説明する必要があります。 |
|
検索(デバイス上) デバイスの外部ストレージにあるファイルやフォルダの検索を主な目的とするアプリ |
|
ディスクまたはフォルダの暗号化とロック ファイルやフォルダの暗号化を主な目的とするアプリ |
|
デバイスの移行または電話の転送 新しいデバイスに移行するユーザーをサポートすることを主な目的とするアプリ |
* Google Play による審査と承認が必要です。
Google Play は、上記の許容される用途の対象とならないアプリに対して、以下の場合に一時的な例外を認めることがあります。
- 権限を使用することで、アプリのコア機能が実現する場合。
- 現時点でコア機能を提供するための代替方法がない場合や、プライバシーに配慮した代わりの方法(MediaStore API、ストレージ アクセス フレームワークなど)を使用すると、コア機能に関連付けられているアプリの重要な機能にかなりの悪影響を及ぼす場合。
- ユーザーのプライバシーへの影響が、セキュリティとプライバシーに関するおすすめの方法によって緩和される場合。
デベロッパーは、ストレージ アクセス フレームワークや MediaStore API ではアプリの目的に不十分な理由を Console の申告で説明する必要があります。
アプリが妥当な目的のためにユーザーの機密情報へのアクセスが必要であっても、他により安全でセキュリティの高い代替手段が存在する場合や、データ露出のリスクによってアクセスが保証されない場合、アクセスが許可されないことがあります。
MANAGE_EXTERNAL_STORAGE
権限のリクエストを許可されない一般的な使用例は次のとおりです。
注: 上記はあくまで一例です。詳しいガイダンスについては、デベロッパー向けのすべてのファイルへのアクセスに関するドキュメントと対象範囲別ストレージに関するおすすめの方法をご覧ください。
用途 |
代替方法 |
メディア ファイルへのアクセス |
MediaStore API を使用すると、アプリは「すべてのファイルへのアクセス」を必要とせずに、外部ストレージ ボリューム上のメディアにアクセスし、操作できます。MediaStore API を使用すると、メディア ファイルを簡単に取得して更新できます。これらのファイルは、アプリをアンインストールした後も、ユーザーのデバイスの外部ストレージ ボリュームに残ります。 |
ユーザーがインポート、転送、処理するファイルを選択する |
デベロッパーは、共有ストレージ内のファイルにアクセスするためのプライバシーに配慮した方法として、ストレージ アクセス フレームワークの使用をご検討ください。このフレームワークは、アプリが幅広い機能を実現するためのユースケースのほとんどをサポートします。 |
重要: アプリでこれらの制限付きの権限の使用方法を変更する場合は、最新の正確な情報を記入してフォームを再度提出する必要があります。これらの権限の用途が虚偽であったり、これらの権限を申告せずに使用したりすると、アプリやデベロッパー アカウントの停止につながる場合があります。