"MANAGE_ACCOUNTS"권한이란 무엇입니까?


18

가끔 MANAGE_ACCOUNTS 권한 이 필요하다는 것을 읽었습니다 (독일 전화를 사용할 때 실제로 "KONTEN HINZUFÜGEN ODER ENTFERNEN"이라고 함). 아래 텍스트는 "계정 추가 또는 제거, 계정 생성 및 비밀번호 설정, 사용 기기의 계정 "을 참조하십시오.

GitHub-App 을 설치하고 싶기 때문에이 질문을하고 있습니다 .

나는 여기에 포함시키고 싶은 매우 비슷한 질문 을 발견했다고 생각 합니다.

  1. 그들이 계정을 만들 수 있다는 것은 무엇을 의미합니까?
  2. Amazon (Kindle app) / GitHub에 왜 이것이 필요할까요?
  3. 위험이 있습니까?

: 그들이 어떤 권한을 요청하는 이유는 가디언에 의해 설명을 발견했습니다 guardian.co.uk/mobile/insideguardian/android-app-permissions을 하지만 잠재적 인 위험에 관해서 특히 내가 더 상세한 답변을 얻을 싶습니다 .
Martin Thoma

답변:


18

즉, GitHub는 내부 계정 시스템 관리자를 사용하여 GitHub 자격 증명을 저장합니다. 이것은 Google 계정이나 Exchange 계정을 추가하는 것과 동일하게 작동합니다. 기본적으로 자격 증명을 사용하여 로그인하고 계정 관리자에 저장되므로 나중에이 자격 증명을 다시 입력하지 않아도됩니다.

한 번만 로그인하면되기 때문에 자격 증명을 여러 응용 프로그램에서 사용할 때 가장 유용합니다. 예를 들어 Chrome은 다시 로그인하지 않고 계정 관리자를 통해 계정에 액세스합니다 (Gmail 또는 다른 사이트를 방문 할 때 휴대 전화에서 로컬로 보유한 계정으로 로그인 할 것인지 묻는 하단의 노란색 대화 상자가 하단에 나타남) 휴대 전화의 Chrome 브라우저에있는 Google 웹 사이트).

그들이 계정을 만들 수 있다는 것은 무엇을 의미합니까?

그들은 응용 프로그램 (및 응용 프로그램 만)을 위해 휴대 전화에 로컬 계정을 만들 수 있습니다. 다음은 휴대 전화 목록의 예입니다.

스크린 샷
스크린 샷 (더 큰 변형을 보려면 이미지를 클릭하십시오)

Amazon (Kindle app) / GitHub에 왜 이것이 필요할까요?

Android에서 자격 증명을 단순화합니다. 권장되는 방법입니다.

위험이 있습니까?

해서는 안됩니다. 앱에서 AccountManager를 사용하고 Google 계정을 사용하려는 경우 해당 계정을 사용하려면 인증 토큰이 필요하므로 명시 적으로 권한을 요청해야합니다. SDK 설명서에 대한 자세한 내용을 참조하십시오 .


3
위험이없는 경우 모든 APP가 기본적으로 계정 관리자를 사용할 수없는 이유는 무엇입니까?
마틴 토마

1
@Moose 좋은 질문입니다. 안드로이드 dev에, 나는 같은 관리자를 사용하여 제로 경험했지만, 나는 정답은 기술적으로 당신이 액세스를 시도 할 수 있다는 것입니다 생각 어떤 여전히에 액세스 할 수 있도록 허가를 요청해야하지만의이 (휴대 전화에 표시된 계정 내가 아는 한 그 계정을 처음 사용할 때)
Bryan Denny

1
방금 API 문서를 탐색했습니다. 기본적으로 앱은 기존 계정을 열거하고 "모든 Google 계정"과 같은 유형별로 필터링 할 수 있습니다. 계정이 없으면 계정을 만듭니다. 이러한 작업에는 GET_ACCOUNTS 및 MANAGE_ACCOUNTS 권한이 필요합니다. 그러나 (!), github 계정 대신 Google 계정으로 가장하는 것처럼 앱이 원하는 계정을 사용하는 것을 제한하는 것으로 보이지 않습니다. 계정 관리자에 계정 암호가 저장된 경우 앱에서 계정 암호를 얻을 수도 있습니다. 그것이 사실이라면, 그러한 권한에 큰 위험이 있습니다. 앱 작성자를 완전히 신뢰해야합니다.
deepc

@BryanDenny : 잠시만 기다려주십시오. 위험이 없어야합니다. 그러나 "계정 추가 또는 제거"권한이 그러한 앱이 장치에서 기존 계정을 삭제할 수 있다는 것을 의미 하지 않습니까? 다른 계정에서 다른 암호를 설정하지 못하게하는 이유는 무엇입니까 (예 : "너무 많은 시도"에 대한 "잠금") 요구 사항을 확인하는 동안 보안 계층이 지적되지 않았습니다 (예 : 사용자가 변경 사항을 확인하거나 특정 계정 / 유형으로 제한 할 수 있어야 함). 그런 것이 있습니까? 관련된 "팝업"등을 본 적이 없습니다.
Izzy

8

계정을 관리하기 위해 Android는 여러 권한을 사용합니다. 그들 중 일부는 쉽게 오해됩니다. 계정 사용에 대한 아주 좋은 설명 은 예를 들어 Dan의 답변 에 대한 답변 에서 찾을 수 있습니다.“기기의 계정 사용”권한으로 앱이 무엇을 할 수 있습니까? . 관련된 권한과 그 의미를 요약 해 보겠습니다.

  • ACCOUNT_MANAGER :이 권한은 시스템 앱용으로 예약되어 있습니다. 계정 관리자는 무대 뒤에서 작업하고 모든 것이 예상대로 작동하도록 관리하는 서비스입니다.
  • AUTHENTICATE_ACCOUNTS :이 권한을 사용하는 앱은 일반적으로 Dropbox와 같은 특정 계정 유형 (사전 설치된 Android 시스템에 알려지지 않음)을 처리하기위한 인터페이스를 제공합니다. 출하시 Android는 Dropbox에 로그인하는 방법과 Dropbox 계정을 처리하는 방법을 모릅니다. 따라서 Dropbox 앱은 메커니즘을 제공합니다. 또한 "계정 인증 자"는 앱이 계정으로 수행 할 수있는 작업을 제한 할 수 있습니다 (예 : 서비스에서 제공하는 일부 웹 인터페이스를 통해이를 관리 할 수 ​​있음).
  • GET_ACCOUNTS : 사용 가능한 계정 목록을 얻습니다. 이렇게하면 보관을 위해 Dropbox를 사용하려는 앱이 피팅 계정이 있는지 확인할 수 있습니다. 사용하기 전에이를 확인해야합니다.
  • MANAGE_ACCOUNTS : API 문서는이 권한에 대해 명확하지 않습니다. 그러나 Bryans answer 에 따르면 앱은 자신이 만든 계정 만 삭제 / 수정할 수 있습니다. 물론 새로운 계정을 만들고 관리 할 수 ​​있습니다.
  • USE_CREDENTIALS :이 앱은 "자격 증명"을 사용하여 계정에 로그인 할 수 있습니다. 대부분의 경우 "자격 증명"은 해당 인증자가 적합한 토큰을 작성하고이를 넘겨주는 것을 의미합니다 (하지만이를 처리하는 방법은 인증 자에게 맡겨 짐). 계정을 처음 사용할 때 계정 관리자 는 사용자에게 허용 여부를 묻습니다. 다시 말하지만, 댄의 대답은 물론이 부분을 설명합니다.

나는 약간의 빛을 비출 수 있었으면 좋겠다. 이것은 나를 긴장하게 만드는 것이 었으므로 그것을 파헤 치기 위해 이틀이 걸렸습니다. 내가 잘못한 경우 의견에 지적하여 정정 할 수 있도록하십시오.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.