Bir uygulama “CİHAZIN HESAPLARINI KULLANIN” izni ile ne yapabilir?


28

Böyle bir uygulama serbestçe e-postalarımı / takvimimi / mesajımı / dokümanları vb. Okuyabilir mi?

"CİHAZ ÜZERİNE HESAPLARI KULLANIN" izni, geliştiriciler tarafından android.permission.USE_CREDENTIALS olarak da bilinir .

Bu tür uygulamalara örnek: WhatsApp , MightyText .


1
Goo.gl/gjkJB : Bu izin kullanılarak yapılabileceklerin android API örneğini buldum . Bir geliştirici olarak benim anlayışımdan, bu HER ŞEYE bir erişim anlamına gelir . Bir kullanıcı bir hesabın belirtecine sahip olduğunda, herhangi bir hizmet hesabı teklifine erişebilir: Facebook'un akışı, Google'ın e-postaları - HER ŞEY .
AlikElzin-kilaka

2
Kullanıcı açısından demek istedim. Kullanıcıların bu iznin arkasındaki isteksizliğin farkında olmadığını düşünüyorum.
AlikElzin-kilaka,

1
@ t0mm13b - Örneğin, mesajları okumak için belirli izinlerin (OAuth) verilmesi, bir hesaba tam erişim vermekten çok daha az müdahalecidir.
AlikElzin-kilaka

8
Bu site için makul bir soru olduğunu düşünüyorum. Kesinlikle mevcut izinlerin her birinin gerçekten neye erişim sağladığını tam olarak bilmek istiyorum .
ale

Yanıtlar:


35

Android, çevrimiçi hizmetler için (Google hesabınız gibi) kimlik bilgilerini yönetmek için merkezi bir sisteme sahiptir. Bir bileşen denir AccountManager. Bazı uygulamalar " hesap onaylayıcısı " olarak hareket edebilir . Bu, belirli bir çevrimiçi hizmete nasıl girileceğini anladıkları ve bu hizmet için oturum açabilecekleri anlamına gelir AccountManager. Diğer uygulamalar, bu giriş bilgilerini kullanarak sizi tanımlamak veya sizin adınıza işlem yapmak, her seferinde şifrenizi girmek zorunda kalmadan kullanmak ister.

Örnek: Google’a giriş yapma

Telefonunuzda, Google hesabınız için "hesap doğrulayıcısı olarak görev yapan" yerleşik bir uygulama vardır. Google’a nasıl giriş yapılacağını biliyor ve telefonu ayarlarken girdiğiniz e-postaya ve şifreye sahip. Ayrıca, favori videolarınızı göstermek ve yorum yapmanızı sağlamak için giriş yapmak isteyen ancak e-posta adresinizi ve şifrenizi tekrar girmek zorunda kalmadan isteyen bir YouTube uygulaması da var.

Bu YouTube uygulaması konuşuyor AccountManagerve bir Google hesabı için herhangi bir kimlik bilgilerine sahip olup olmadığını soruyor. Bu soruyu sormak, "cihazdaki hesapları bul" iznini gerektirir. AccountManagerBu soruya cevap vermek danışır telefon, yüklü doğrulayıcıların bir listesi vardır. Herhangi bir kimlik bilgisi varsa, uygulama daha sonra Google hesabı için authtoken olarak bilinen şeyi ister . Bu istek " cihazdaki hesapları kullan " iznini gerektiriyor.

Ardından AccountManager, talep eden uygulamanın (YouTube) istenen hesabı (Google hesabı) kullanmasını isteyip istemediğinizi sorar. Bu, uygulamanın üzerinde görüntülenen bir iletişim kutusunda veya bir bildirimde olabilir. Alternatif olarak, bu soruya evet cevabını henüz vermediyseniz, uygulama hiçbir şey yapmamayı seçebilir: daha sonradan daha uygun bir zamanda sormak isteyebilir. Bu adım, "cihazdaki hesapları kullan" iznine sahip bir uygulamanın, sormadan her hesabı hemen kullanamamasını sağlar.

Evet derseniz AccountManager, isteği kimlik doğrulayıcısına iletir (yerleşik Google uygulaması). Bundan sonra ne olacak doğrulayıcıya ve giriş yaptığınız hizmete bağlı. Daha önce yapmadıysanız, giriş yapmanız gerekebilir ve giriş yapmak, bir kullanıcı adı ve şifre, fotoğraf, SMS veya başka bir şey gerektirebilir. Kimlik doğrulayıcı ne yaparsa yapsın başarısız olabilir veya talep eden uygulamaya geri bir authtoken verebilir.

Daha fazla kontrol

Doğrulayıcı ve çevrimiçi servis, talep eden uygulamanın hangi eylemleri gerçekleştirebileceğini de kontrol edebilir. Örneğin, bir uygulamayı Google hesabınıza bağladığınızda, Google uygulamanın ihtiyaç duyduğu izinleri listeler (örneğin, YouTube için "video yükleme"). Böylece, uygulama yalnızca listelenen eylemleri yapabilir. Ancak, bazı servisler böyle bir şeye sahip olmayabilir; Böyle bir hizmet için, uygulamanın kimlik bilgilerinizi kullanmasına izin verdiğinizde, adınızla ilgili herhangi bir işlem yapabilir .

Talep eden uygulama authtoken'i edindikten sonra, sizden başka bir etkileşime girmeden adınızdaki işlemleri gerçekleştirmek için kullanmaya devam edebilir. Yani, Dan'ın Twitter Müşterisinin Twitter yayınınıza gönderebileceğini kabul ettiğinizde, arka planda çalışabilir ve siz bilmeden başka tweetler gönderebilir. Uygulamaya, yalnızca bunu yapmayacağınıza güveniyorsanız , kimlik bilgilerinize erişim izni vermelisiniz .

özet

" Cihazdaki hesapları kullanın " iznine sahip bir uygulama yüklendikten sonra, adınızdaki çevrimiçi bir hizmete (Google, Facebook veya Twitter gibi) erişmenizi isteyebilir . Servise erişmesine izin verip vermemeyi seçebilirsiniz. Eğer hizmete erişmek izin yoksa, hangi eylemleri senin adlarına alabilir olabilir hizmeti tarafından sınırlandırılabilir (o hizmete kalmış) ve hizmet olabilir genellikle "Bağlı uygulamaların listesine göz (daha sonra bu izni iptal edelim "hizmetin web sitesinde).


0

Bu örneği, bu izin kullanılarak yapılabileceklerin Android API'sında buldum .

Bir geliştirici olarak benim anlayış, bu parolayı değiştirmek dışında, hesap tarafından sağlanan neredeyse HER ŞEYE erişim anlamına gelir .

Bir kullanıcı bir hesabın belirtecine sahip olduğunda, hesabın sunduğu tüm hizmetlere erişebilir: Facebook duvarınıza gönderin, Gmail'inizi okuyun - neredeyse her şey .


% 100 emin değilim, ancak Uygulama Yetkilendirme Simgesine erişmeden ve bunları kullanmadan önce bir "Hesap Seç" ekranı olduğunu düşünüyorum. Tek başına izin, bir kullanıcı hesabına erişmek için yeterli değil.
Akış

2
Tam değil - ondan önce "neredeyse" kelimesini ekleyin. İmtiyazın adından da anlaşılacağı gibi: hesap bilgilerini kullanabilir , ancak değiştiremez . Bildiğim kadarıyla, "kullanıcı adına kimlik doğrulaması" yapabilir, ancak kimlik bilgilerini bilmeden. Yani evet: Postanızı okuyabilir, hatta Facebook'ta bile gönderebilir. Ancak şifrenizi casusluk edemedi. Yine de, bu hassas bir ayrıcalıktır.
Izzy

Bu cevap yanlıştır, çünkü hesabın parolasını bu tür erişime sahip olarak değiştiremezsiniz, böylece "her şeye" erişemezsiniz.
pzkpfw

@pzkpfw: Cevabı, "neredeyse" dünyasını içerecek şekilde güncelledim, çünkü birçok kötü amaçlı kullanım durumunda, saldırgan parolayı değiştirmek istemez, ancak hesabı sessizce kötüye kullanır.
Dan Dascalescu

-1

Uygulamaya hiçbir hizmet hesabına erişmeyecek. Bazı uygulamaların bu izne ihtiyacı vardır, çünkü uygulamalarından yeni bir hesap açmaları gerekir.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.