Google Play에서는 모든 파일 액세스라는 특별한 앱 액세스 권한을 비롯해 위험성이 높거나 민감한 권한의 사용을 제한합니다. 이는 Android 11(API 수준 30)을 대상으로 하고 MANAGE_EXTERNAL_STORAGE
권한(Android 11에서 추가됨)을 선언하는 앱에만 적용됩니다. READ_EXTERNAL_STORAGE
권한 사용에는 영향을 미치지 않습니다.
앱에서 MANAGE_EXTERNAL_STORAGE
권한 액세스가 필요하지 않은 경우, 정책 검토 요구사항을 충족하려면 앱의 매니페스트에서 이 권한을 삭제해야 합니다. 정책을 준수하는 대체 구현 방식에 관한 세부정보도 아래에 나와 있습니다.
앱이 서비스 이용 정책 요구사항을 충족하거나 예외 적용 대상인 경우 Play Console의 권한 선언 양식을 사용해 이 권한 및 위험성이 높은 기타 모든 권한을 선언해야 합니다.
정책 요구사항을 충족하지 못하거나 권한 선언 양식을 제출하지 않으면 앱이 Google Play에서 삭제될 수 있습니다.
모든 파일 액세스 권한은 언제 요청해야 하나요?
앱에서 저장소 액세스 프레임워크 또는 MediaStore API 등 개인 정보를 더 안전하게 보호하는 권장사항을 효과적으로 사용할 수 없는 경우에만 모든 파일 액세스 권한을 요청해야 합니다. 앱에서 필요하지 않거나 사용하지 않는 권한을 선언해서는 안 됩니다.
핵심 기능
또한 앱의 권한은 허용된 용도로만 사용되어야 하며 앱의 핵심 기능과 직접적으로 연결되어야 합니다. 핵심 기능은 앱의 기본 목적으로 정의됩니다. 핵심 기능이 제공되지 않으면 앱이 '고장' 났거나 사용할 수 없게 된 것입니다. 핵심 기능 및 이러한 핵심 기능을 구성하는 모든 핵심 특징은 앱 설명에서 가장 두드러지게 소개 및 홍보되어야 합니다.
앱의 핵심 기능을 사용하기 위해 모든 파일 액세스 권한이 필요한 경우 개발자는 권한 선언 양식을 작성하고 Google Play의 승인을 받아야 합니다.
모든 파일 액세스 권한의 허용된 용도모든 파일 액세스 권한을 요청하는 앱의 의도 및 허용된 용도에는 파일 관리자, 백업 및 복원 앱, 바이러스 백신 앱, 문서 관리 앱이 포함됩니다.
이 권한에 대한 액세스가 부여된 앱은 공개되지 않았거나 잘못된 목적으로 사용을 확대할 수 없습니다.
용도 |
대상 권한* |
파일 관리 앱의 핵심 목적에 앱 전용 저장공간 외부의 파일 및 폴더에 대한 액세스, 수정, 관리(유지보수 포함)가 포함됩니다. |
|
백업 및 복원 앱 앱에서 백업 및 복원의 목적으로 앱 전용 저장공간 외부의 여러 디렉터리에 자동으로 액세스할 필요가 있어야 합니다. |
|
바이러스 백신 앱 앱의 핵심 목적이 기기를 검사하고 기기 사용자에게 바이러스 백신 보안 기능을 제공하는 데 있습니다. |
|
문서 관리 앱 앱 전용 또는 공유 저장공간 외부에 있는 호환 가능한 형식의 파일을 찾아 액세스하고 수정하는 앱이어야 합니다. 콘솔 선언에서 앱 전용 파일 액세스 또는 저장소 액세스 프레임워크(개인 정보를 안전하게 보호 옵션) 문서에 설명된 해결 방법이 앱 목적을 실현하는 데 충분하지 않은 이유를 설명해야 합니다. |
|
검색(기기) 앱의 핵심 목적이 기기의 외부 저장소에서 파일 및 폴더를 검색하는 데 있습니다. |
|
디스크/폴더 암호화 및 잠금 앱의 핵심 목적이 파일 및 폴더를 암호화하는 데 있습니다. |
|
기기 이전/휴대전화 데이터 전송 앱의 핵심 목적이 사용자가 새 기기로 이전할 수 있도록 지원하는 데 있습니다. |
* Google Play의 검토 및 승인을 받아야 합니다.
Google Play에서는 다음의 경우 위에 지정된 허용되는 용도에 해당하지 않는 앱에 일시적으로 예외를 허용할 수 있습니다.
- 권한 사용을 통해 앱의 핵심 기능을 사용할 수 있는 경우
- 현재 핵심 기능을 제공할 다른 방법이 없거나, 개인 정보를 더 안전하게 보호하는 대안(예: MediaStore API 또는 저장소 액세스 프레임워크)을 사용하면 핵심 기능에 연결된 앱의 주요 기능에 상당히 부정적인 영향을 미치는 경우
- 사용자 개인 정보 보호에 미치는 영향이 보안 및 개인 정보 보호 권장사항으로 완화되는 경우
개발자는 콘솔 선언에서 저장소 액세스 프레임워크 또는 MediaStore API가 앱의 목적을 실현하는 데 충분하지 않은 이유를 설명해야 합니다.
앱이 더 안전한 대안이 존재하거나 데이터 노출의 위험 때문에 액세스를 보장할 수 없는데도 민감한 사용자 데이터에 액세스하고자 하는 경우가 있습니다.
다음은 MANAGE_EXTERNAL_STORAGE
권한을 요청하도록 허용되지 않은 일반적인 사용 사례의 목록입니다.
참고: 이 목록에는 일부 사례만 나와 있습니다. 자세한 내용은 모든 파일 액세스 문서 및 개발자를 위한 범위 지정 저장소 권장사항 가이드를 참고하세요.
용도 |
대안 |
미디어 파일 액세스 |
MediaStore API를 사용하면 앱에 모든 파일 액세스 권한이 없어도 외부 저장소 볼륨에서 제공되는 미디어에 작업 및 액세스할 수 있습니다. MediaStore API를 사용하면 사용자가 미디어 파일을 쉽게 검색하고 업데이트할 수 있습니다. 이러한 파일은 앱이 제거된 후에도 사용자 기기의 외부 저장소 볼륨에 남아 있습니다. |
사용자가 가져오기/전송/처리할 파일 선택 |
개발자는 공유 스토리지에 액세스하기 위한 개인 정보를 안전하게 보호 옵션으로 스토리지 액세스 프레임을 사용하는 방안을 고려해 보아야 합니다. 이 프레임워크는 앱이 모든 기능을 사용하도록 대부분의 사용 사례를 지원합니다. |
중요: 앱에서 제한된 권한을 사용하는 방식을 변경하려면 정확하게 업데이트된 정보로 양식을 다시 제출해야 합니다. 이러한 권한을 사기성 및 선언되지 않은 용도로 사용하면 앱이 정지되거나 개발자 계정이 해지될 수 있습니다.