Uprawnienia aplikacji pomagają chronić prywatność użytkowników, chroniąc dostęp do tych danych:
- Dane objęte ograniczeniami, takie jak stan systemu i informacje kontaktowe użytkowników.
- Działania z ograniczeniami, takie jak łączenie się ze sparowanym urządzeniem i nagrywanie dźwięku
Ta strona zawiera omówienie działania uprawnień Androida, w tym ogólny przepływ pracy związany z używaniem uprawnień, opisy różnych typów uprawnień oraz wybrane sprawdzone metody korzystania z uprawnień w aplikacji. Na innych stronach wyjaśniamy, jak zminimalizować liczbę żądań przyznania uprawnień, deklarować uprawnienia, prosić o uprawnienia w czasie działania oraz ograniczyć współdziałanie innych aplikacji z jej komponentami.
Aby zobaczyć pełną listę uprawnień aplikacji na Androida, otwórz stronę z informacjami o uprawnieniach interfejsu API.
Aby wyświetlić kilka przykładowych aplikacji ilustrujących przepływ pracy dotyczący uprawnień, odwiedź repozytorium przykładowych uprawnień Androida na GitHubie.
Procedura korzystania z uprawnień
Jeśli aplikacja oferuje funkcje, które mogą wymagać dostępu do danych objętych ograniczeniami lub działań z ograniczeniami, ustal, czy możesz uzyskać te informacje lub wykonywać działania bez konieczności deklarowania uprawnień. Aplikacja może pełnić wiele funkcji, takich jak robienie zdjęć, wstrzymywanie odtwarzania multimediów czy wyświetlanie odpowiednich reklam bez konieczności deklarowania uprawnień.
Jeśli zdecydujesz, że aplikacja musi uzyskiwać dostęp do danych objętych ograniczeniami lub wykonywać działania z ograniczeniami, aby zrealizować określony przypadek użycia, zadeklaruj odpowiednie uprawnienia. Niektóre uprawnienia, nazywane uprawnieniami podczas instalacji, są przyznawane automatycznie podczas instalowania aplikacji. Inne uprawnienia, nazywane uprawnieniami środowiska wykonawczego, wymagają od aplikacji dalszych działań i wysyłania prośby o ich przyznanie w czasie działania.
Ilustracja 1 przedstawia proces korzystania z uprawnień aplikacji:
Typy uprawnień
Android dzieli uprawnienia na różne typy, w tym uprawnienia w czasie instalacji, uprawnienia w czasie działania i specjalne uprawnienia. Typ każdego uprawnienia wskazuje zakres ograniczonych danych, do których aplikacja ma dostęp, oraz zakres działań, które aplikacja może wykonać, gdy system przyzna jej te uprawnienia. Poziom ochrony każdego uprawnienia zależy od jego typu i jest widoczny na stronie Dokumentacja API uprawnień.
Uprawnienia podczas instalacji
Uprawnienia podczas instalacji zapewniają aplikacji ograniczony dostęp do danych podlegających ograniczeniom lub pozwalają jej wykonywać działania z ograniczeniami, które w minimalnym stopniu wpływają na system lub inne aplikacje. Gdy zadeklarujesz uprawnienia w czasie instalacji, sklep z aplikacjami wyświetli użytkownikowi powiadomienie o uprawnieniach w czasie instalacji, gdy otworzy się strona z informacjami o aplikacji, tak jak na ilustracji 2. System automatycznie przyznaje aplikacji uprawnienia, gdy użytkownik ją zainstaluje.
Android oferuje kilka podtypów uprawnień podczas instalacji, w tym uprawnienia standardowe i uprawnienia do podpisu.
Zwykłe uprawnienia
Te uprawnienia umożliwiają dostęp do danych i działań, które wykraczają poza piaskownicę Twojej aplikacji, ale stanowią bardzo niewielkie zagrożenie dla prywatności użytkownika i działania innych aplikacji.
System przypisuje poziom ochrony normal
do normalnych uprawnień.
Uprawnienia do podpisu
System przyznaje aplikacji uprawnienia do podpisu tylko wtedy, gdy jest ona podpisana tym samym certyfikatem co aplikacja lub system operacyjny, który je określa.
Z uprawnień do podpisu korzystają też aplikacje implementujące usługi z podwyższonymi uprawnieniami, takie jak autouzupełnianie czy usługi VPN. Te aplikacje wymagają uprawnień do podpisu powiązanych usług, aby tylko system mógł tworzyć powiązania z usługami.
System przypisuje poziom ochrony signature
do uprawnień do podpisu.
Uprawnienia czasu działania
Uprawnienia w czasie działania, nazywane też niebezpiecznymi uprawnieniami, dają aplikacji dodatkowe uprawnienia dostępu do danych objętych ograniczeniami lub pozwalają jej na wykonywanie ograniczonych działań, które w większym stopniu wpływają na system i inne aplikacje. Dlatego, aby uzyskać dostęp do danych podlegających ograniczeniom lub wykonać działania objęte ograniczeniami, musisz poprosić o uprawnienia w czasie działania w aplikacji. Nie zakładaj, że te uprawnienia zostały przyznane wcześniej – sprawdź je i w razie potrzeby poproś o nie przed każdym uzyskaniem dostępu.
Gdy aplikacja prosi o takie uprawnienia, system wyświetla prośbę o pozwolenie w czasie działania, jak widać na rysunku 3.
Wiele uprawnień w czasie działania aplikacji uzyskuje dostęp do prywatnych danych użytkownika, czyli specjalnego typu danych z ograniczeniami, które zawierają potencjalnie poufne informacje. Prywatne dane użytkownika to na przykład lokalizacja i informacje kontaktowe.
Mikrofon i aparat zapewniają dostęp do szczególnie poufnych informacji. Dzięki temu system pomaga wyjaśnić, dlaczego aplikacja uzyskuje dostęp do tych informacji.
System przypisuje poziom ochrony dangerous
do uprawnień w czasie działania.
Uprawnienia specjalne
Uprawnienia specjalne odpowiadają konkretnym operacjom w aplikacji. Specjalne uprawnienia mogą określać tylko platforma i producent OEM. Ponadto platforma i producenci OEM zwykle definiują specjalne uprawnienia, gdy chcą chronić dostęp do szczególnie zaawansowanych działań, takich jak wyświetlanie nad innymi aplikacjami.
Strona Specjalny dostęp aplikacji w ustawieniach systemu zawiera zestaw operacji, które użytkownik może przełączyć. Wiele z tych działań jest wdrożonych jako specjalne uprawnienia.
Dowiedz się więcej o tym, jak poprosić o specjalne uprawnienia.
System przypisuje poziom ochrony appop
do specjalnych uprawnień.
Grupy uprawnień
Uprawnienia mogą należeć do grup uprawnień. Grupy uprawnień składają się z zestawów powiązanych logicznie uprawnień. Na przykład uprawnienia do wysyłania i odbierania SMS-ów mogą należeć do tej samej grupy, ponieważ są powiązane z interakcją aplikacji z SMS-ami.
Grupy uprawnień pomagają systemowi zminimalizować liczbę okien dialogowych wyświetlanych użytkownikowi, gdy aplikacja prosi o ściśle powiązane uprawnienia. Gdy użytkownikowi wyświetla się prośba o przyznanie uprawnień aplikacji, w tym samym interfejsie wyświetlane są uprawnienia należące do tej samej grupy. Uprawnienia mogą jednak zmieniać grupy bez powiadomienia, dlatego nie zakładaj, że konkretne uprawnienie jest zgrupowane z innymi uprawnieniami.
Sprawdzone metody
Uprawnienia aplikacji bazują na funkcjach zabezpieczeń systemu i pomagają Androidowi w realizacji tych celów związanych z prywatnością użytkowników:
- Kontrola: użytkownik ma kontrolę nad danymi, które udostępnia aplikacjom.
- Przejrzystość: użytkownik wie, jakich danych używa aplikacja i dlaczego ma do nich dostęp.
- Minimalizacja danych: aplikacja uzyskuje dostęp do danych wymaganych do określonego zadania lub działania wywoływanego przez użytkownika i korzysta tylko z nich.
Ta sekcja zawiera zestaw podstawowych sprawdzonych metod efektywnego korzystania z uprawnień w aplikacji. Więcej informacji na temat korzystania z uprawnień na Androidzie znajdziesz na sprawdzonych metodach dotyczących uprawnień aplikacji.
Poproś o minimalną liczbę uprawnień
Gdy użytkownik poprosi o wykonanie określonego działania w aplikacji, powinna ona prosić tylko o uprawnienia wymagane do wykonania tego działania. W zależności od sposobu korzystania z uprawnień może istnieć alternatywny sposób realizacji zastosowania aplikacji bez konieczności dostępu do informacji poufnych.
Powiąż uprawnienia czasu działania z konkretnymi działaniami
Poproś o uprawnienia na jak najpóźniejszym etapie użycia aplikacji. Jeśli na przykład aplikacja umożliwia użytkownikom wysyłanie wiadomości głosowych do innych osób, poczekaj, aż przejdzie do ekranu wiadomości i naciśnie przycisk Wyślij wiadomość głosową. Gdy użytkownik naciśnie przycisk, aplikacja może poprosić o dostęp do mikrofonu.
Weź pod uwagę zależności aplikacji
Gdy dołączysz bibliotekę, odziedziczysz też jej wymagania dotyczące uprawnień. Zwróć uwagę na uprawnienia, które są wymagane w przypadku każdej zależności i do czego te uprawnienia są potrzebne.
Postaw na szczerość
Po przesłaniu prośby o uprawnienia wyjaśnij w jasny sposób, do czego się łączysz, dlaczego i na jakie funkcje wpływa odmowa przyznania uprawnień. Dzięki temu użytkownicy będą mogli podejmować świadome decyzje.
Ustaw dostęp systemu jako przeznaczony dla pełnoletnich
Gdy uzyskujesz dostęp do danych wrażliwych lub sprzętu, np. aparatu czy mikrofonu, pamiętaj o ciągłym informowaniu aplikacji, jeśli system jeszcze ich nie udostępnił. To przypomnienie pomaga użytkownikom dowiedzieć się, kiedy aplikacja uzyskuje dostęp do danych objętych ograniczeniami lub wykonuje działania z ograniczonym dostępem.
Uprawnienia w komponentach systemu
Uprawnienia nie służą tylko do wysyłania żądań funkcji systemowych. Komponenty systemu aplikacji mogą określać, które inne aplikacje mogą wchodzić z nią w interakcję, zgodnie z opisem na stronie ograniczania interakcji z innymi aplikacjami.