Logo ko.androidermagazine.com
Logo ko.androidermagazine.com

Android 앱 권한-Google이 올바르게 얻는 방법 ...

차례:

Anonim

iOS 애플리케이션이 연락처 데이터를 빌려 동의없이 알 수없는 부품으로 전송할 수있게 해주는 Apple의 보안 또는 판단의 소실에 대해 최근 많은 뉴스가있었습니다. 애플은이 문제를 미 의회 의원들에게 다뤘으 며, 향후 iOS 업데이트에서보다 철저한 통제를 위해 조치를 취할 것입니다. 좋은 소식입니다. 우리는 그것이 일어나는 것을 보게되어 기쁩니다.

그러나 안드로이드는 어떻습니까? 명시적인 사용자 권한없이 작업을 수행하는 앱에 초점을 맞추는 동안 사람들이 Android 권한 모델을 참조하는 것을 볼 수 있습니다. 우리는 당신을 위해 그것을 모두 분해 할 것입니다. 완벽하지는 않지만 꽤 잘 작동하며 권한 시스템이 전혀없는 것보다 낫습니다.

Android 사용 권한을 안내하고 어떻게 참여해야하는지 살펴 보겠습니다.

설계 상, "애플리케이션, 운영 체제 또는 사용자에게 악영향을 미치는"작업을 수행 할 권한이있는 Android 애플리케이션은 없습니다. 앱이 개인 연락처 데이터, 다른 애플리케이션의 데이터, 네트워크 액세스 또는 심지어 자신의 데이터를 디바이스 스토리지에 쓰는 것과 같은 평범한 것에 액세스하려면 앱이이를 수행 할 권한이 있음을 선언해야합니다. 앱을 설치하기 전에 해당 권한을 수락해야합니다. 앱을 설치하면 애플리케이션이 선언 한 권한 목록이 표시됩니다.

또한 응용 프로그램은 권한을 "선언"하고 반드시 "요청"할 필요는 없습니다. 의미 론자, 우리는 가정하지만 "이봐, 제리! 나는 응용 프로그램이고, 당신이 당신의 연락처 정보를 볼 수있게 해달라고 부탁합니다. 괜찮습니까?" 대신, 안드로이드 앱은 "Yo, Jerry. 나는 앱입니다. 내가 할 수있는 일의 목록입니다. 나중에 알 수 있습니다. 가져 가거나 떠나십시오."라고 말하는 것이 더 직접적입니다.

Android 앱은 액세스 권한과 재생할 수있는 샌드 박스를 선언합니다. 승인 및 앱 설치 여부를 선택할 수 있습니다. 말이 되나요?

권한-Android 마켓에서 선불 및 개인

Path를 설치하면 모양이 다음과 같습니다. Path가 선언하는 권한의 매크로 목록을 얻습니다. 하나를 누르면 해당 권한에 대해 좀 더 자세히 설명합니다.

Android 마켓에서 응용 프로그램을 설치하면 모양이 달라집니다. 모든 목록을 보려면 목록을 스크롤해야합니다. 약간의 길은 iOS에서 모든 종류의 문제에서 Path (및 기타)를 얻은 것입니다. Android 형식에서 Path는 "개인 데이터-연락처 데이터 읽기"에 대한 권한을 선언 함을 분명히 알 수 있습니다. 해당 권한을 누르면 더 자세한 정보를 얻을 수 있습니다.

"응용 프로그램이 휴대 전화에 저장된 모든 연락처 (주소) 데이터를 읽을 수 있습니다. 악성 응용 프로그램은이 데이터를 사용하여 다른 사람에게 데이터를 보낼 수 있습니다."

따라서 Path는 연락처 데이터에 액세스 할 수 있다고 말했습니다. 그것은 반드시 그것으로 무엇을 할 것인지 말하지는 않습니다 (우리가 그것을 가져 오지 않았다면 정말로 알고 싶습니까?), 읽을 수 있다고 말하지 않습니다.

Android 마켓 외부의 앱

하지만 앱을 사이드로드하면 어떻게 되나요? 아니면 Amazon Appstore를 사용 하시겠습니까? 응용 프로그램은 여전히 ​​사용 권한을 선언해야하며 앱을 설치할 때 해당 권한 목록이 표시됩니다. (Amazon Appstore는 앱을 사이드로드하므로 이메일 또는 다운로드에서 앱을 설치 한 것과 정확히 동일합니다.)

사이드로드 Gmail의 모습은 다음과 같습니다. 권한이있는 한, Android 마켓에서의 사이드 로딩과 설치의 유일한 차이점은 사이드로드 할 때 더 자세한 권한 설명을 얻을 수 없다는 것입니다.

왜이 모든 것입니까? Android 애플리케이션은 "샌드 박스"되어 있습니다. 자체 공간에서 재생되며 해당 샌드 박스 내에 자체 데이터 파일이 있습니다. 명시 적으로 허가를 요청한 후에는 다른 사람의 샌드 박스에서만 재생을 공유 할 수 있으며, 위의 화면을 통해 수행됩니다. 해당 권한을 수락하고 앱을 설치하면 앱에서 실행하려는 샌드 박스에서 해당 앱을 재생할 수있는 권한이 부여됩니다.

개발자 측면에서 … 그리고 소비자가 자신의 역할을 수행하는 방법

뒤에서 앱 개발자는 Android 앱 소스 코드의 필수 부분 인 AndroidManifest.xml 파일에서 이러한 권한을 선언합니다. 이러한 선언은 정적이며 위에서 본 것처럼 모든 선언이 사용자에게 제공됩니다. 안드로이드 OS 개발자들에 따르면 안드로이드는 런타임에 동적으로 권한을 부여 할 수있는 방법이 없다. 앱이 원하는 작업, 선행 및 변경 불가능한 사항을 알려주도록 강요하는 것이 최고의 보안 모델입니다.

반대쪽? 또한 사용자가 가장 쉽게 무시할 수 있습니다.

iOS의 Path에서 발생한 일에 대해 모두 알고 있습니다. 다른 많은 iOS 앱과 마찬가지로 권한없이 연락처를 사용했습니다. 사악한 목적이 아니라도 사전 허가없이, 나중에 묻지 않고 Android 용 Path는 iOS에서와 마찬가지로 모든 종류의 데이터를 서버로 보냈습니다. 그러나이 게시물에서 보여 드린 것처럼 Android에서 Path는 먼저 권한을 선언해야합니다. 또는 더 정확하게 말하면 권한을 선언하고 승인하거나 거부합니다.

문제는 앱을 설치할 때 권한 섹션을 지나가는 바람입니다. 당신은 정말로해서는 안되지만, 우리 모두는 그렇게합니다. 권한이 일반 언어로 작성되지 않았다는 사실이 문제의 일부입니다. 그러나 그들이 그렇더라도 우리 대부분은 어쨌든 바로 과거를 클릭 할 것입니다. 그것은 모든 플랫폼에서 그 상태를 판단합니다. 반면에, 권한을 이해하지 못하기 때문에 권한을 망쳐 놓는 사람들이 있습니다. 여기서도보다 사용자 친화적 인 언어가 도움이 될 것입니다.

이에 대한 대안 중 하나는 애플리케이션이 정상적으로 수행 할 수없는 작업을 수행하려고 할 때 런타임에 권한을 요청하도록하는 것입니다. 우리는 이미 안드로이드 팀이 이것이 불편하고 안전하지 않다고 생각한다는 것을 읽었습니다.

또 다른 대안은 RIM이 BlackBerry와 마찬가지로 선택한 권한을 허용하는 것입니다. 당신은 BlackBerry처럼 권한을 거부했기 때문에 절반 만 작동하는 응용 프로그램으로 끝납니다. 앱을 설치할 때 무엇을 읽고 무엇을하는지, 그리고 왜 그것을 요구하는지 이해하려고 노력하는 것 외에는 절대 확실한 방법이 없습니다.

우리 모두는 이곳에 왔습니다. 우리 중 일부는 다른 사용자보다 응용 프로그램 권한을 더 잘 이해하고 있으며 앱이 수행해서는 안되는 일을 할 때 외침을들을 수 있습니다. 권한을 읽으십시오. 시장 의견을 읽으십시오. Android Central을 읽으십시오. 무언가 잘못되면, 당신은 그것에 대해들을 것입니다.

그리고 마지막으로 …

보안 취약점에 대한 특별 참고 사항이 여기에 있습니다. 모든 컴퓨터 프로그램은 모든 모바일 운영 체제에도 적용됩니다. 애플리케이션이 보안 모델을 우회 할 수있는 취약점이 발견되면 Google에서 신속하게 패치합니다. 이런 일이 일어나고 항상 일어날 것입니다. 이 업데이트가 얼마나 빨리 배포되는지는 휴대 전화를 만드는 사람에 따라 다릅니다. 그들은 올바른 방법으로 일할 때 신용을받을 자격이 있고, 너무 오래 걸리고 잘못하면 경멸 할 만합니다. 그것은 곧 사라질 것이 아니며, 우리는 안전하고 안전하게 물건을 보관하지 않는 OEM을 불러야합니다.

Android 권한에 대해 자세히 알아 보려면 Google 개발자 페이지를 확인하십시오.