Ta strona zawiera omówienie interfejsów API, funkcji i ich działania w firmach zmian dostępnych w Androidzie 9.
Interfejs profilu służbowego
Android 9 (poziom interfejsu API 28) domyślnie uwzględnia zmiany w interfejsie Menu z aplikacjami ułatwiające użytkownikom oddzielenie aplikacji osobistych od służbowych. Producenci urządzeń i może przedstawiać użytkownikom na osobnych kartach do pracy i osobistych. Ułatwiliśmy też użytkownikom urządzeń włączanie i wyłączanie profilu służbowego przez w tym przełącznik na karcie Praca w programie uruchamiającym.
.Obsługa administracyjna profili służbowych i urządzeń zarządzanych w Androidzie 9 obejmuje animowane ilustracje, które pomagają użytkownikom urządzeń zrozumieć te funkcje
Przełączanie aplikacji między profilami
Android 9 zawiera interfejsy API umożliwiające uruchomienie kolejnej instancji aplikacji w innym
profil, aby ułatwić użytkownikom przełączanie się między kontami. Aplikacja do poczty e-mail może na przykład
udostępnić interfejs użytkownika, który umożliwia przełączanie się między profilem osobistym a służbowym;
aby uzyskać dostęp do dwóch kont e-mail. Wszystkie aplikacje mogą wywoływać te interfejsy API, aby uruchamiać
głównej aktywności tej samej aplikacji, jeśli jest już zainstalowana w innym profilu. Do
dodaj do swojej aplikacji przełączanie kont między profilami, wykonaj te czynności
Zajęcia CrossProfileApps
:
- Zadzwoń pod numer
getTargetUserProfiles()
, aby uzyskać listę: aby uruchomić kolejną instancję aplikacji. Ta metoda sprawdza, czy jest zainstalowana w profilach. - Zadzwoń pod numer
getProfileSwitchingIconDrawable()
aby otrzymać ikonę, która będzie służyć do reprezentowania innego profilu. - Zadzwoń pod numer
getProfileSwitchingLabel()
, aby pobrać: zlokalizowany tekst, który zachęca użytkownika do przełączenia profilu; - Wywołaj metodę
startMainActivity()
, aby uruchomić instancję do aplikacji w innym profilu.
Sprawdź, czy główne działanie, które chcesz uruchomić, jest zadeklarowane w parametrach
plik manifestu z działaniem intencji ACTION_MAIN
i zawiera
kategorię intencji CATEGORY_LAUNCHER
.
Automatyczne włączanie i wyłączanie profili służbowych
domyślnego programu uruchamiającego (albo aplikacji z uprawnieniami MANAGE_USERS
lub
MODIFY_QUIET_MODE
) może włączyć lub wyłączyć profil służbowy, dzwoniąc pod numer
UserManager.requestQuietModeEnabled()
. Dostępne opcje
sprawdzają zwracaną wartość, aby wiedzieć, czy użytkownik musi
danych logowania przed zmianą stanu. Ponieważ zmiany mogą nie zostać wprowadzone
natychmiast nasłuchuj
ACTION_MANAGED_PROFILE_AVAILABLE
lub
ACTION_MANAGED_PROFILE_UNAVAILABLE
komunikat informujący o konieczności aktualizacji interfejsu użytkownika.
Aplikacja może sprawdzić stan profilu służbowego, dzwoniąc pod numer
UserManager.isQuietModeEnabled()
Blokowanie dostępu do dowolnej aplikacji na urządzeniu
(od Androida 9): właściciele urządzeń i właściciele profili (użytkownicy pomocniczy). może zablokować dowolną aplikację na ekranie urządzenia, włączając ją w tryb blokady zadań. Wcześniej deweloperzy aplikacji musieli dodawać obsługę blokady ekranu w aplikacjach. Android 9 rozszerza też funkcję blokowania Interfejsy API do profilowania właścicieli niepowiązanych użytkowników dodatkowych. Wykonaj te czynności: aby zablokować aplikację na ekranie:
- Zadzwoń pod numer
DevicePolicyManager.setLockTaskPackages()
dodać aplikacje do listy dozwolonych w trybie blokady zadań. - Zadzwoń pod numer
ActivityOptions.setLockTaskEnabled()
, aby uruchomić aplikacji z listy dozwolonych w tryb blokady zadań.
Aby zatrzymać aplikację w trybie blokady zadań, usuń ją z tego trybu
lista dozwolonych za pomocą
DevicePolicyManager.setLockTaskPackages()
Włącz funkcje interfejsu systemowego
Gdy tryb blokady zadań jest włączony, właściciele urządzenia i właściciele profili mogą go włączyć
określonych funkcji interfejsu systemu na urządzeniu przez wywołanie
DevicePolicyManager.setLockTaskFeatures()
i z wynikiem pozytywnym
pola bitowego tych flag funkcji:
LOCK_TASK_FEATURE_NONE
LOCK_TASK_FEATURE_SYSTEM_INFO
LOCK_TASK_FEATURE_HOME
LOCK_TASK_FEATURE_NOTIFICATIONS
można używać tylko w połączeniu z atrybutemLOCK_TASK_FEATURE_HOME
.LOCK_TASK_FEATURE_KEYGUARD
LOCK_TASK_FEATURE_OVERVIEW
można używać tylko w połączeniu z atrybutemLOCK_TASK_FEATURE_HOME
.LOCK_TASK_FEATURE_GLOBAL_ACTIONS
Możesz zadzwonić pod numer DevicePolicyManager.getLockTaskFeatures()
aby zobaczyć listę funkcji dostępnych na urządzeniu, gdy tryb blokady zadań jest
. Gdy urządzenie wyjdzie z trybu blokady zadania, powróci do stanu określonego przez
innych zasad dotyczących urządzeń.
Blokuj okna błędów
w niektórych środowiskach, takich jak demonstracje w handlu detalicznym lub informacje publiczne.
możesz nie chcieć wyświetlać użytkownikom okien błędów. Zasady dotyczące urządzeń
kontroler (DPC) może pomijać okna dialogowe z błędami systemu w przypadku awarii lub braku reakcji
przez dodanie
Użytkownik DISALLOW_SYSTEM_ERROR_DIALOGS
. To ograniczenie obowiązuje we wszystkich oknach zastosowane przez właściciela urządzenia
ale tylko okna błędów wyświetlane na koncie użytkownika głównego lub dodatkowego są pomijane
gdy ograniczenie zostało zastosowane przez właścicieli profilu. To ograniczenie nie powoduje:
mają wpływ na profile służbowe.
W Androidzie 9 aplikacje działające w trybie pełnoekranowym nie pokazuj dymka przypomnienia, gdy urządzenie jest włączone trybu blokady zadań. Dymek przypomnienia to panel wyświetlany użytkownikom (przy pierwszym uruchomieniu) który wyjaśnia, jak wyjść z trybu pojemnego.
Obsługa wielu użytkowników na dedykowanych urządzeniach
Android 9 wprowadza koncepcję użytkownika efemerycznego – urządzeń (wcześniej COSU). Użytkownicy efemeryczni są użytkowników krótkoterminowych przeznaczonych w przypadkach, gdy wielu użytkowników korzysta z tego samego urządzenia specjalnego. Obejmuje to publiczne sesje użytkowników na urządzeniach takich jak biblioteka oraz kioski dla branży hotelarskiej, jak również trwałe sesje między grupy użytkowników korzystających z urządzeń, np. pracownicy zmianowi.
Użytkowników tymczasowych należy tworzyć w tle. Są tworzone jako użytkowników pomocniczych na urządzeniu i zostaną usunięci (wraz z powiązanymi aplikacjami danych) po zatrzymaniu, przełączeniu lub ponownym uruchomieniu. Aby utworzyć użytkownik tymczasowy, właściciele urządzeń mogą:
- Ustaw flagę
MAKE_USER_EPHEMERAL
podczas połączeniaDevicePolicyManager.createAndManageUser()
- Zadzwoń pod numer
DevicePolicyManager.startUserInBackground()
aby uruchomić tymczasowe użytkownika w tle.
Aplikacje kierowane na Androida 9 powinny wykrywać
UserManager.UserOperationException
podczas rozmowy
createAndManageUser()
Wywołaj wyjątek
getUserOperationResult()
, aby sprawdzić, dlaczego
nie utworzono konta użytkownika.
Otrzymuj powiadomienia o zdarzeniach
DeviceAdminReceiver
otrzymuje powiadomienia dotyczące
następujące zdarzenia:
onUserStarted()
: wywołanie po rozpoczęciu przez użytkownika.onUserSwitched()
: wywołanie po przełączeniu użytkownika. zakończono.onUserStopped()
: wywołany wraz zonUserRemoved()
, gdy użytkownik przestanie lub loguje się w dzienniku, na swoim koncie.
Wyświetlanie użytkownikom wiadomości o zdarzeniach
Właściciele urządzeń mogą skonfigurować wiadomości wyświetlane użytkownikom, gdy rozpoczynają i kończą sesje:
- Używaj
DevicePolicyManager.setStartUserSessionMessage()
, aby ustawić komunikat, który wyświetli się użytkownikowi po rozpoczęciu sesji. Do pobierz wiadomość, wywołajDevicePolicyManager.getStartUserSessionMessage()
- Używaj
DevicePolicyManager.setEndUserSessionMessage()
, aby ustawić komunikat, który wyświetli się po zakończeniu sesji użytkownika. Do pobierz wiadomość, wywołajDevicePolicyManager.getEndUserSessionMessage()
Wylogowywanie się i blokowanie użytkowników
Właściciele urządzenia mogą używać
DevicePolicyManager.setLogoutEnabled()
, aby określić, czy
wylogowanie się jest włączone dla użytkowników pomocniczych. Aby sprawdzić, czy możliwość wylogowania jest włączona, wywołaj
DevicePolicyManager.isLogoutEnabled()
Właściciele profili użytkowników pomocniczych mogą dzwonić
DevicePolicyManager.logoutUser()
, aby zatrzymać użytkownika dodatkowego,
przełącz się z powrotem na użytkownika głównego.
Właściciele urządzeń mogą za pomocą narzędzia DevicePolicyManager.stopUser()
zatrzymać
dodatkowego użytkownika.
Buforowanie pakietu
Aby usprawnić obsługę administracyjną użytkowników na współdzielonych urządzeniach ze stałą grupą użytkowników, takich jak urządzenia dla pracowników zmianowych, można buforować pakiety, które są potrzebne do obsługi sesji wielu użytkowników:
Zadzwoń do nas
DevicePolicyManager.setKeepUninstalledPackages()
aby określić listę pakietów, które chcesz zachować jako pliki APK. Aby pobrać listę pakiety, połączenieDevicePolicyManager.getKeepUninstalledPackages()
Zadzwoń pod numer
DevicePolicyManager.installExistingPackage()
, by zainstalować pakiet, który został zachowany po usunięciu, za pomocąsetKeepUninstalledPackages()
Dodatkowe metody i stałe
Android 9 obejmuje też poniższe metody i stałe, które zapewniają dalszą obsługę sesje użytkownika na współdzielonych urządzeniach:
DevicePolicyManager.getSecondaryUsers()
otrzymuje listę wszystkich użytkowników dodatkowych na urządzeniu.DISALLOW_USER_SWITCH
to ograniczenie użytkownika, które możesz włącz, dzwoniącDevicePolicyManager.addUserRestriction()
, aby zablokować przełączanie użytkowników.LEAVE_ALL_SYSTEM_APPS_ENABLED
to flaga dostępne dlaDevicePolicyManager.createAndManageUser()
Po ustawieniu Aplikacje systemowe nie są wyłączone podczas obsługi administracyjnej użytkowników.UserManager.UserOperationException
rzucił(a) piłkę przezDevicePolicyManager.createAndManageUser()
, jeśli nie można utworzyć użytkownika – zawiera przyczynę błędu.
Wyczyść dane pakietu i konta
Właściciele urządzenia i profilu mogą dzwonić
clearApplicationUserData()
, aby wyczyścić dane użytkownika.
dla danej przesyłki. Aby usunąć konto z
AccountManager
, właściciele urządzenia i profilu mogą dzwonić
removeAccount()
Ograniczenia dotyczące użytkowników i większa kontrola nad ustawieniami
Android 9 wprowadza zestaw ograniczeń dotyczących użytkowników urządzeń DPC oraz możliwość konfigurowania APN, godziny i strefy czasowej oraz ustawienia systemowe na urządzeniu.
Skonfiguruj punkty APN
Właściciele urządzeń mogą korzystać z następujących metod w sekcji
DevicePolicyManager
do konfigurowania punktów APN w
urządzenie:
addOverrideApn()
updateOverrideApn()
removeOverrideApn()
getOverrideApns()
setOverrideApnEnabled()
isOverrideApnEnabled()
Skonfiguruj godzinę i strefę czasową
Właściciele urządzeń mogą korzystać z następujących metod w sekcji
DevicePolicyManager
, aby ustawić godzinę i strefę czasową
na urządzeniu:
Egzekwuj ograniczenia dostępu użytkowników do ważnych ustawień
Android 9 dodaje ograniczenia dla użytkowników, aby wyłączyć funkcje systemowe i ustawienia. Do
add a restriction, call
DevicePolicyManager.addUserRestriction()
z jednym z
następujące stałe UserManager
:
DISALLOW_AIRPLANE_MODE
DISALLOW_AMBIENT_DISPLAY
DISALLOW_CONFIG_BRIGHTNESS
DISALLOW_CONFIG_DATE_TIME
DISALLOW_CONFIG_LOCATION
DISALLOW_CONFIG_SCREEN_TIMEOUT
DISALLOW_PRINTING
Jeśli DISALLOW_CONFIG_BRIGHTNESS
i
DISALLOW_CONFIG_SCREEN_TIMEOUT
jest wymuszane
na urządzeniu, właściciele urządzeń mogą nadal ustawiać ekran
jasność, jasność ekranu
trybu i wygaszania ekranu.
na urządzeniu za pomocą interfejsu API,
DevicePolicyManager.setSystemSetting()
.
Dane z pomiarem
Właściciele urządzenia i właściciele profili mogą uniemożliwić aplikacjom używanie
sieci danych z pomiarem użycia danych. Sieć jest uznawana za z pomiarem użycia danych, gdy użytkownik
wrażliwych na duże wykorzystanie danych ze względu na koszty, limity danych lub baterię,
problemy z wydajnością. Aby zablokować aplikacjom możliwość korzystania z sieci z pomiarem użycia danych, wywołaj
DevicePolicyManager.setMeteredDataDisabledPackages()
przekazując listę nazw pakietów. Aby pobrać aplikacje objęte ograniczeniami, wywołaj
DevicePolicyManager.getMeteredDataDisabledPackages()
Więcej informacji o danych z pomiarem użycia danych na Androidzie znajdziesz w artykule Optymalizowanie danych sieciowych Użycie.
Przenieś DPC
Kontrolery zasad dotyczących urządzeń (DPC) mogą przenieść własność urządzenia lub profilu służbowego do innego DPC. Możesz przenieść własność niektórych funkcji w narzędziu Android Management API do przenoszenia urządzeń z starszej wersji DPC lub ułatwienie administratorom IT migracji do usług EMM. Bo po prostu jesteś przy zmianie właściciela DPC, nie możesz za pomocą tej funkcji zmienić typu na przykład migracja z urządzenia zarządzanego na profil służbowy. i na odwrót.
Możesz użyć zasobu XML Device Admin policy (Zasady administratora urządzenia), aby:
wskazują, że ta wersja DPC obsługuje migrację. Docelowy DPC
wskazuje, że może otrzymać prawo własności, dodając element o nazwie
<support-transfer-ownership>
Poniższy przykład pokazuje, jak można to zrobić w
plik XML administratora urządzenia DPC:
<device-admin xmlns:android="http://schemas.android.com/apk/res/android">
<support-transfer-ownership />
<uses-policies>
<limit-password />
<watch-login />
<reset-password />
</uses-policies>
</device-admin>
DPC, które chcą przenieść własność do nowej aplikacji DPC, mogą sprawdzić, czy docelowy DPC
wersja obsługuje migrację po wywołaniu metody DeviceAdminInfo
supportsTransferOwnership()
Przed przeniesieniem
jest obowiązkiem źródła DPC, jego obowiązkiem jest zweryfikowanie docelowej
do porównywania podpisów aplikacji. Klasa PackageManager
zawiera:
do pracy z podpisami kodu.
Android utrzymuje system i zasady dotyczące użytkowników źródła DPC przez własność
przenoszenie – serwery DPC nie muszą ich przenosić. Źródłowy DPC może przekazywać dane niestandardowe do
docelowy DPC przy użyciu par klucz-wartość w systemie PersistableBundle
. Po
pomyślne przeniesienie danych, docelowy DPC może pobrać te dane, wywołując
DevicePolicyManager.getTransferOwnershipBundle()
Aby przenieść własność zarządzanego urządzenia lub profilu służbowego, same:
- Źródłowy DPC sprawdza, czy docelowa wersja DPC obsługuje migrację i potwierdza, że podpis aplikacji docelowego DPC jest zgodny z oczekiwaną wartością.
- Źródłowy DPC wywołuje
transferOwnership()
, aby rozpocząć i przenieś. - System ustawia docelowy DPC jako aktywnego administratora i ustawia jako właściciel zarządzanego urządzenia lub profilu służbowego.
- Docelowy DPC otrzymuje wywołanie zwrotne
onTransferOwnershipComplete()
i może konfigurować przy użyciu wartości z argumentubundle
. - Jeśli coś pójdzie nie tak podczas przenoszenia, system przywraca prawo własności do domeny
źródła DPC. Jeśli źródłowa DPC musi potwierdzić przeniesienie własności
działa, wywołaj
isAdminActive()
, aby sprawdzić, czy źródłowy DPC nie jest już aktywnym administratorem.
Wszystkie aplikacje działające w profilu służbowym otrzymują
ACTION_PROFILE_OWNER_CHANGED
przesyła, gdy
zmieni się właściciel profilu. Aplikacje działające na urządzeniu zarządzanym otrzymują
ACTION_DEVICE_OWNER_CHANGED
przesyła komunikat, gdy
zmiana właściciela urządzenia.
Profile służbowe na w pełni zarządzanych urządzeniach
Przenoszenie 2 instancji DPC działającego jako właściciel urządzenia i właściciel profilu odbywa się dwuetapowo. Gdy profil osobisty i profil służbowy są stowarzyszony, wykonaj przeniesienie w następującej kolejności:
- Najpierw przenieś własność profilu służbowego.
- Poczekaj na połączenie zwrotne
DeviceAdminReceiver
onTransferAffiliatedProfileOwnershipComplete()
. aby potwierdzić, że profil służbowy został przeniesiony do docelowego DPC. - Na koniec przenieś własność urządzenia zarządzanego na docelową platformę DPC.
Przełóż aktualizacje bezprzewodowe (OTA)
Właściciele urządzeń mogą opóźniać aktualizacje systemu OTA na do 90 dni, blokować wersje systemu operacyjnego działające na tych urządzeniach w okresach krytycznych (np. święta). System wymusza obowiązkowy 60-dniowy bufor po zdefiniowaniu aby zapobiec zamrożeniu urządzenia na stałe.
W okresie blokady:
- Urządzenia nie otrzymują żadnych powiadomień o oczekujących aktualizacjach OTA.
- Urządzenia nie instalują w systemie operacyjnym żadnych aktualizacji OTA.
- Użytkownicy urządzeń nie mogą ręcznie sprawdzać dostępności aktualizacji OTA w Ustawieniach.
Aby ustawić okres blokady, wywołaj
SystemUpdatePolicy.setFreezePeriods()
Bo mróz
powtarza się co roku, daty rozpoczęcia i zakończenia okresu są przedstawiane
przez liczby całkowite, zliczając liczbę dni od początku roku. Dzień rozpoczęcia musi być
rozpocznie się co najmniej 60 dni po zakończeniu dowolnego poprzedniego okresu blokady. Urządzenie
właściciele mogą zadzwonić pod numer SystemUpdatePolicy.getFreezePeriods()
, aby
pobierz listę okresów blokady ustawionych wcześniej w obiekcie zasady aktualizacji systemu.
Aplikacja DevicePolicyManager.getSystemUpdatePolicy()
została
zaktualizowany w taki sposób, aby zwracać okresy blokady ustawione przez właściciela urządzenia.
Ograniczanie udostępniania do profilu służbowego
Właściciele profili mogą uniemożliwić użytkownikom udostępnianie danych osobowych w profilu służbowym
na urządzeniu po dodaniu ograniczenia
DISALLOW_SHARE_INTO_MANAGED_PROFILE
To ograniczenie uniemożliwia obsługę i udostępnianie intencji:
- Aplikacje profilu osobistego, które udostępniają dane i pliki aplikacjom z profilu służbowego.
- aplikacje profilu służbowego, które wybierają elementy z profilu osobistego, na przykład: zdjęć lub plików.
Po ustawieniu tego ograniczenia DPC nadal może zezwalać na aktywność w różnych profilach
intencje, wywołując
addCrossProfileIntentFilter()
Klucze zabezpieczone sprzętowo i certyfikaty maszyn
Android 9 dodaje interfejsy API, które ułatwiają pracę z kluczami i certyfikatami, aby bezpiecznie identyfikować urządzenia. DPC u właściciela profilu lub urządzenia trybami właściciela lub wyznaczonym instalatorem certyfikatów, wykonaj te czynności:
- Generuj klucze i certyfikaty na bezpiecznym sprzęcie (takim jak zaufany sprzęt
środowiska wykonawczego (TEE) lub bezpiecznego elementu (SE) urządzenia z Androidem.
Klucze wygenerowane przez AI nigdy nie opuszczają bezpiecznego sprzętu i mogą być używane na Androidzie
Pęk kluczy. Zadzwoń do nas
DevicePolicyManager.generateKeyPair()
dostarcza (patrzKeyPairGenerator
) oraz wszelkie identyfikatory sprzętu (np. numer seryjny lub IMEI). Aby dowiedzieć się więcej o bezpieczeństwie, zmian sprzętowych, można znaleźć w artykule Bezpieczeństwo w Androidzie 9 - Powiązanie certyfikatu z istniejącym kluczem wygenerowanym przez urządzenie. Zadzwoń do nas
DevicePolicyManager.setKeyPairCertificate()
dostarcza alias istniejącego klucza i łańcucha certyfikatów, zaczynając od liścia oraz łańcuch zaufania w kolejności. - Przed użyciem klucza sprawdź, czy zabezpieczony sprzęt chroni klucz. Aby sprawdzić które mechanizmy chronią klucz, wykonaj czynności opisane w sekcji Klucz Zaświadczenie.
- Właściciele urządzeń i delegowani instalatory certyfikatów mogą otrzymywać podpisane
zestaw funkcji identyfikatorów sprzętu i wersji systemu Android. Zadzwoń do nas
DevicePolicyManager.generateKeyPair()
z wynikiem pozytywnym zID_TYPE_BASE_INFO
,ID_TYPE_SERIAL
,ID_TYPE_IMEI
lubID_TYPE_MEID
widAttestationFlags
. Zwrócony certyfikat zawiera sprzęt Identyfikatory w rekordzie atestu. Jeśli nie chcesz uwzględniać identyfikatorów sprzętu, prześlij0
Właściciele profilu mogą otrzymywać wyłącznie informacje o producencie (po przejściuID_TYPE_BASE_INFO
). Aby sprawdzić, czy urządzenie może atestować identyfikatory, wywołajisDeviceIdAttestationSupported()
- Zapobieganie niewłaściwemu użyciu kluczy firmowych przez użytkowników urządzeń (w zadaniach nienależących do firmy)
przez ustawienie certyfikatów kluczy jako niemożliwych. System nie uwzględnia
certyfikaty, których nie można wybrać w panelu wyboru. W
DeviceAdminReceiver.onChoosePrivateKeyAlias()
wywołania zwrotnego, zwracanie aliasu do klucza przedsiębiorstwa, dzięki czemu system automatycznie wybiera certyfikat w imieniu użytkownika. Aby utworzyć klucz nie można wybrać, wywołaj te metodyDevicePolicyManager
:setKeyPairCertificate()
i dla argumentuisUserSelectable
przekażfalse
.installKeyPair (ComponentName, PrivateKey, Certificate[], String, int)
i pomińINSTALLKEY_SET_USER_SELECTABLE
w argumentflags
.
Dzięki połączeniu tych interfejsów API firmy mogą bezpiecznie identyfikować urządzenia i potwierdzać ich integralność przed udostępnieniem:
- Urządzenie z Androidem generuje nowy klucz prywatny na bezpiecznym sprzęcie. Ponieważ klucz prywatny nigdy nie opuszcza zabezpieczonego sprzętu, pozostaje on tajny.
- Urządzenie używa klucza do utworzenia i wysłania żądania podpisania certyfikatu (CSR) do serwera. Żądanie podpisania certyfikatu dołącza do rekordu atestu zawierającego identyfikatorów urządzeń.
- Serwer weryfikuje łańcuch certyfikatów (dostęp do certyfikatu Google). i wyodrębnia metadane urządzenia z rekordu atestu.
- Serwer potwierdza, że bezpieczny sprzęt chroni klucz prywatny i aby identyfikatory urządzeń były zgodne z rekordami firmy. Serwer może też sprawdzić, że wersje systemu Android i poprawek spełniają jakiekolwiek wymagania.
- Serwer generuje certyfikat z żądania podpisania certyfikatu i wysyła go do urządzenia.
- Urządzenie sparuje certyfikat z kluczem prywatnym (pozostającym w i bezpieczny sprzęt), dzięki czemu aplikacje mogą łączyć się z usługami w firmie.
Więcej interfejsów API, funkcji i zmian związanych z bezpieczeństwem
Identyfikatory dzienników zabezpieczeń i dzienników sieciowych
Android 9 uwzględnia identyfikatory w dziennikach zabezpieczeń i aktywności sieciowej. Identyfikator numeryczny monotonicznie zwiększa się dla każdego zdarzenia, ułatwiając administratorom IT rozpoznanie w dziennikach. Ponieważ dzienniki zabezpieczeń i dzienniki sieciowe to oddzielne system zachowuje osobne wartości identyfikatorów.
Zadzwoń pod numer SecurityEvent.getId()
.
DnsEvent.getId()
lub
ConnectEvent.getId()
, aby pobrać wartość identyfikatora. System
resetuje identyfikator za każdym razem, gdy DPC włączy logowanie lub po ponownym uruchomieniu urządzenia.
Dzienniki zabezpieczeń pobrane przez wywołanie
DevicePolicyManager.retrievePreRebootSecurityLogs()
nie podawaj tych identyfikatorów.
Logowanie zabezpieczeń
Logowanie zabezpieczeń przypisuje każdemu SecurityEvent
poziom logowania. Aby uzyskać poziom logowania,
zadzwoń do: getLogLevel()
. Ta metoda zwraca wartość na poziomie logu, która
mogą być: LEVEL_INFO
, LEVEL_WARNING
lub
LEVEL_ERROR
.
Android 9 rejestruje zdarzenia wymienione w tabeli poniżej w sekcji Zabezpieczenia
. Aby sprawdzić tag zdarzenia, wywołaj metodę getTag()
. Do
pobrania danych zdarzenia, wywołaj getData()
.
Oznacz | Opis wydarzenia |
---|---|
TAG_CERT_AUTHORITY_INSTALLED |
Próba zainstalowania nowego certyfikatu głównego w systemowym magazynie danych logowania. |
TAG_CERT_AUTHORITY_REMOVED |
Podjęto próbę usunięcia certyfikatu głównego z systemowego magazynu danych logowania. |
TAG_CERT_VALIDATION_FAILURE |
Weryfikacja certyfikatu Wi-Fi podczas połączenia nie powiodła się. |
TAG_CRYPTO_SELF_TEST_COMPLETED |
System zakończył autotest kryptograficzny. |
TAG_KEYGUARD_DISABLED_FEATURES_SET |
Aplikacja administratora wyłączyła funkcje urządzenia lub ekran blokady profilu służbowego. |
TAG_KEY_DESTRUCTION |
Próba usunięcia klucza kryptograficznego. |
TAG_KEY_GENERATED |
Próba wygenerowania nowego klucza kryptograficznego. |
TAG_KEY_IMPORT |
Próba zaimportowania nowego klucza kryptograficznego. |
TAG_KEY_INTEGRITY_VIOLATION |
Android wykrył uszkodzony klucz szyfrowania lub uwierzytelniania. |
TAG_LOGGING_STARTED |
Rejestrowanie zabezpieczeń zostało rozpoczęte. |
TAG_LOGGING_STOPPED |
Rejestrowanie zabezpieczeń zostało zatrzymane. |
TAG_LOG_BUFFER_SIZE_CRITICAL |
Bufor dziennika zabezpieczeń osiągnął 90% swojej pojemności. |
TAG_MAX_PASSWORD_ATTEMPTS_SET |
Aplikacja administratora ustawia liczbę dozwolonych prób podania nieprawidłowego hasła. |
TAG_MAX_SCREEN_LOCK_TIMEOUT_SET |
Aplikacja administratora ustawiła maksymalny czas oczekiwania blokady ekranu. |
TAG_MEDIA_MOUNT |
Odłączany nośnik pamięci masowej urządzenia. |
TAG_MEDIA_UNMOUNT |
Urządzenie odłączyło się od wymienny nośnik pamięci masowej. |
TAG_OS_SHUTDOWN |
System Android został zamknięty. |
TAG_OS_STARTUP |
System Android się uruchomił. |
TAG_PASSWORD_COMPLEXITY_SET |
Aplikacja administratora określająca wymagania dotyczące złożoności haseł. |
TAG_PASSWORD_EXPIRATION_SET |
Aplikacja administratora ustawia okres ważności hasła. |
TAG_PASSWORD_HISTORY_LENGTH_SET |
Aplikacja administratora ustawiła długość historii haseł, co uniemożliwia użytkownikom ponowne użycie starych haseł. |
TAG_REMOTE_LOCK |
Aplikacja administratora zablokowała urządzenie lub profil służbowy. |
TAG_USER_RESTRICTION_ADDED |
Aplikacja administratora ustawiła ograniczenie dla użytkownika. |
TAG_USER_RESTRICTION_REMOVED |
Aplikacja administratora usunęła ograniczenie dla użytkownika. |
TAG_WIPE_FAILURE |
Nie udało się wyczyścić pamięci urządzenia lub profilu służbowego. |
Test zabezpieczający ekran blokady profilu służbowego
Począwszy od Androida 9 właściciele profili mogą wymagać od użytkowników ustawienia oddzielnej blokady
test zabezpieczający logowanie do profilu służbowego przy użyciu
Ograniczenie dotyczące użytkownika DISALLOW_UNIFIED_PASSWORD
. Do
sprawdź, czy na urządzeniu użytkownik ma ustawiony taki sam test zabezpieczający na ekranie blokady;
profil służbowy, połączenie
DevicePolicyManager.isUsingUnifiedPassword()
Jeśli urządzenie ma osobny ekran blokady profilu służbowego,
DevicePolicyManager.setMaximumTimeToLock()
ustawia tylko
limit czasu oczekiwania na ekranie blokady w profilu służbowym, a nie na całym urządzeniu.
Dostęp do narzędzi dla programistów
Narzędzie Android Debug Bridge (adb) pomaga przechowywać dane służbowe w profilu służbowym nie może uzyskać dostępu do katalogów ani plików w profilu służbowym.
Obsługa większej liczby opcji biometrycznych
Android 9 zapewnia szczegółową kontrolę nad biometrycznym uwierzytelnianiem za pomocą sprzętu
ekranu blokady profilu służbowego. Wywołaj istniejący element
DevicePolicyManager.setKeyguardDisabledFeatures()
z zastosowaniem funkcji KEYGUARD_DISABLE_FACE
i
KEYGUARD_DISABLE_IRIS
.
Aby wyłączyć wszystkie metody uwierzytelniania biometrycznego udostępniane przez urządzenie, dodaj KEYGUARD_DISABLE_BIOMETRICS
.
Wycofanie zasad administrowania urządzeniami
Android 9 oznacza wymienione poniżej zasady jako wycofane w przypadku platform DPC używających device admin. Zasady będą nadal działać w Androidzie 9, tak jak to było wcześniej. Począwszy od wersji Androida 10, te same zasady wywołają wyjątek SecurityWyjątek po wywołaniu przez administratora urządzenia.
USES_POLICY_DISABLE_CAMERA
USES_POLICY_DISABLE_KEYGUARD_FEATURES
USES_POLICY_EXPIRE_PASSWORD
USES_POLICY_LIMIT_PASSWORD
Niektóre aplikacje korzystają z funkcji administratora urządzenia dla użytkowników indywidualnych. Dla: np. zablokowanie i wyczyszczenie utraconego urządzenia. Następujące zasady nadal będą obowiązywać aby umożliwić:
Więcej informacji o tych zmianach znajdziesz w artykule Administrator urządzenia ich wycofanie.
Uproszczona rejestracja za pomocą kodu QR
Wbudowana biblioteka kodów QR
W pakiecie z Androidem 9 znajduje się biblioteka QR, która upraszcza obsługę urządzenia z kodem QR i udostępnianie danych. Administratorzy IT nie muszą już ręcznie wpisywać danych Wi-Fi, aby je skonfigurować urządzenia. W Androidzie 9 możesz też dodawać te dane sieci Wi-Fi w ramach kodu QR. Gdy administrator IT skanuje kod QR należący do firmy urządzenie automatycznie połączy się z siecią Wi-Fi i rozpocznie obsługę administracyjną bez dodatkowego wprowadzania danych ręcznie.
Metoda obsługi administracyjnej za pomocą kodu QR obsługuje poniższe dodatki określ szczegóły sieci Wi-Fi:
EXTRA_PROVISIONING_WIFI_HIDDEN
EXTRA_PROVISIONING_WIFI_PAC_URL
EXTRA_PROVISIONING_WIFI_PASSWORD
EXTRA_PROVISIONING_WIFI_PROXY_BYPASS
EXTRA_PROVISIONING_WIFI_PROXY_HOST
EXTRA_PROVISIONING_WIFI_PROXY_PORT
EXTRA_PROVISIONING_WIFI_SECURITY_TYPE
EXTRA_PROVISIONING_WIFI_SSID
Ustawianie daty i strefy czasowej przy użyciu dodatków do obsługi administracyjnej
Metoda obsługi administracyjnej z użyciem kodu QR obsługuje dodatki, które pozwalają określić godzinę w strefie czasowej na urządzeniu:
Opcje czyszczenia danych
Administratorzy urządzeń mogą wyświetlać użytkownikom spersonalizowaną wiadomość podczas usuwania miejsca pracy
profilu ani użytkownika dodatkowego. Komunikat informuje użytkowników urządzeń, że
Administrator IT usunął profil służbowy lub użytkownika dodatkowego. Zadzwoń do nas
wipeData(int, CharSequence)
i przygotuj krótki format
z wyjaśnieniem. Po wywołaniu przez głównego użytkownika lub właściciela urządzenia system
nie wyświetla się komunikat i rozpoczyna przywracanie ustawień fabrycznych urządzenia.
Aby usunąć dane subskrypcji z wbudowanej karty SIM eUICC, zadzwoń pod numer
wipeData()
i uwzględnij WIPE_EUICC
w flags
.
Metody dla właścicieli powiązanych profili
W profilu stowarzyszonym dostępne są te metody: właściciele:
DevicePolicyManager.setKeyguardDisabled()
DevicePolicyManager.setStatusBarDisabled()
PackageInstaller.createSession()