Sei già un cliente NinjaOne? Effettua il login per visualizzare le altre guide e gli ultimi aggiornamenti.

Supporto criteri API Gestione Android

Argomento

NinjaOne ha implementato alcuni set di API di base descritti in questo articolo in formato JSON. Stiamo lavorando per rilasciare ulteriori API nelle versioni future. 

Ambiente

  • Sistema operativo Android
  • NinjaOne MDM

Descrizione

Per ulteriori informazioni sull'API di gestione Android (AMAPI), consultare la documentazione per gli sviluppatori Android

Endpoint dell'applicazione Android:

{{server}}/ws/mdm/application/android/{packageName}

L'endpoint sopra indicato è stato creato per recuperare i dati riportati di seguito.

  • Visualizza un elenco delle autorizzazioni per quell'applicazione (packageName), incluso il runtime.
  • Visualizza l'ultima versione pre-release e le transazioni dell'app per qualsiasi app a cui è stato concesso l'accesso. 
  • Restituisce un array appTracks con i dati del pacchetto. 

Ambito delegato:

Imposta i campi DelegatedScope su un'applicazione con policy Android. Questi forniscono privilegi aggiuntivi per le applicazioni interessate. Gli ambiti delegati sono un'API a selezione multipla, che consente a un'applicazione all'interno delle impostazioni Policy/Applicazioni/App di ottenere uno o più ambiti delegati per funzionalità aggiuntive sul dispositivo.

Gli ambiti possono essere applicati a più applicazioni, ad eccezione di SECURITY_LOGS, CERT_SELECTION e NETWORK_ACTIVITY_LOGS, che possono essere delegati a una sola app alla volta.

Enumerazioni
DELEGATED_SCOPE_UNSPECIFIEDNessun ambito di delega specificato.
CERT_INSTALLConferisce l'accesso all'installazione e alla gestione dei certificati.
MANAGED_CONFIGURATIONSConsente l'accesso alla gestione delle configurazioni gestite.
BLOCK_UNINSTALLConsente l'accesso al blocco della disinstallazione.
PACKAGE_ACCESSConsente l'accesso allo stato di accesso ai pacchetti.
ENABLE_SYSTEM_APPConcede l'accesso per l'abilitazione delle app di sistema.
NETWORK_ACTIVITY_LOGSConcedono l'accesso ai registri delle attività di rete. Consentono all'applicazione delegata di chiamare i metodi setNetworkLoggingEnabled, isNetworkLoggingEnabled e retrieveNetworkLogs. Questo ambito può essere delegato al massimo a un'applicazione. Supportato per dispositivi completamente gestiti su Android 10 e versioni successive. Supportato per un profilo di lavoro su Android 12 e versioni successive. Quando la delega è supportata e impostata, NETWORK_ACTIVITY_LOGS viene ignorato.
SECURITY_LOGSConferisce l'accesso ai registri di sicurezza. Consente all'applicazione delegata di chiamare i metodi setSecurityLoggingEnabled, isSecurityLoggingEnabled, retrieveSecurityLogs e retrievePreRebootSecurityLogs. Questo ambito può essere delegato a un massimo di un'applicazione. Supportato per dispositivi completamente gestiti e dispositivi di proprietà dell'azienda con un profilo di lavoro su Android 12 e versioni successive. Quando la delega è supportata e impostata, SECURITY_LOGS viene ignorato.
CERT_SELECTIONConcedono l'accesso alla selezione dei certificati KeyChain per conto delle app richiedenti. Una volta concessi, l'applicazione delegata inizierà a ricevere DelegatedAdminReceiver#onChoosePrivateKeyAlias. Consentono all'applicazione delegata di chiamare i metodi grantKeyPairToApp e revokeKeyPairFromApp. Può esserci al massimo un'app che dispone di questa delega. choosePrivateKeyRules deve essere vuoto e privateKeySelectionEnabled non ha alcun effetto se la selezione del certificato è delegata a un'applicazione.

Esempio di payload

delegatescope payload.png

Concessione dell'autorizzazione:

Configurare la politica di autorizzazione Android e il suo stato di concessione per la configurazione dell'applicazione:alluser-choice (ovvero, richiesta di conferma) o deny.

Metodi
"permission"Stringa
Si tratta dell'autorizzazione o del gruppo Android; ad esempio:
 android.permission.
READ_CALENDARandroid.permission_group.CALENDAR.
"policy"enum (PermissionPolicy)
Si tratta della politica per la concessione dell'autorizzazione; ad esempio:
 GRANT

Esempio di payload

permission grant payload.png

Gestione della connettività del dispositivo:

Controlla la connettività del dispositivo, come Wi-Fi, accesso ai dati USB, connessioni tastiera/mouse e altro. 

Metodi
"usbDataAcess"enum (UsbDataAccess)
Questo controlla quali file e/o dati possono essere trasferiti tramite USB sui dispositivi di proprietà dell'azienda.
"configureWifi"enum (ConfigureWifi)
Controlla i privilegi di configurazione del Wi-Fi. In base alle opzioni impostate, l'utente avrà controllo completo, limitato o nessun controllo sulla configurazione delle reti Wi-Fi.
"wifiDirectSettings"enum (WifiDirectSettings)
Questo controlla la possibilità di configurare e utilizzare le impostazioni Wi-Fi Direct. Supportato sui dispositivi aziendali con Android 13 e versioni successive.
"tetheringSettings"enum (TetheringSettings)
Controlla le impostazioni di tethering. A seconda del valore impostato, all'utente viene parzialmente o completamente impedito di utilizzare diverse forme di tethering.

Esempio di payload

device connectivity mgmt payload.png

Gestione della protezione dal ripristino delle impostazioni di fabbrica (FRP):

La gestione FRP consente agli amministratori di sistema di inserire un account Google specifico che sostituisce l'e-mail FRP sui dispositivi che vengono ripristinati in modo non autorizzato (ad esempio, ripristino, re-flash, troppi tentativi di password errati, ecc.). Una volta impostato tramite una stringa di input in Policy/Security sotto il titolo "Factory Reset Protection allowlisted account", solo questo account può essere utilizzato per sbloccare un dispositivo ripristinato.

tip.pngCome best practice, NinjaOne suggerisce che questi account associati non siano collegati a un utente.
Metodi
"frpAdminEmails[]"stringa
Indirizzi e-mail degli amministratori del dispositivo per la protezione dal ripristino delle impostazioni di fabbrica. Quando il dispositivo viene ripristinato alle impostazioni di fabbrica, richiederà a uno di questi amministratori di accedere con l'e-mail e la password dell'account Google per sbloccare il dispositivo.
Se non vengono specificati amministratori, il dispositivo non fornirà la protezione dal ripristino delle impostazioni di fabbrica.

Esempio di payload

FRP payload.png

ID traccia accessibili: 

Seleziona l'ID traccia per un'applicazione su qualsiasi politica MDM Android. L'elenco appTrackInfo[] incluso nella risposta contiene quanto segue per le app specificate:

  • trackId: l'identificatore univoco della traccia, ricavato dal releaseTrackId nell'URL della pagina della Play Console che mostra le informazioni sulla traccia dell'app.
  • trackAlias: il nome leggibile dall'utente per la traccia, modificabile nella Play Console.

Per installare una traccia chiusa sul dispositivo di un utente, specifica gli accessibleTrackIds nella policy del dispositivo.

Esempio di payload

TrackID payload.pngTrackID payload2.png

Messaggi personalizzati:

Consente alle organizzazioni di impostare un messaggio personalizzato sulla schermata di blocco, che può aiutare gli amministratori a comunicare meglio il motivo per cui qualcosa è stato bloccato. 

Metodi
"deviceOwnerLockScreenInfo"(UserFacingMessage)
Le informazioni sul proprietario del dispositivo da visualizzare sulla schermata di blocco.
"shortSupportMessage"(UserFacingMessage)
Un messaggio visualizzato all'utente nella schermata delle impostazioni ogni volta che una funzionalità è stata disabilitata dall'amministratore. Se il messaggio supera i 200 caratteri, potrebbe essere troncato.
"longSupportMessage"(UserFacingMessage)
Un messaggio visualizzato all'utente nella schermata delle impostazioni di amministrazione del dispositivo.
"localizedMessages"

mappa (chiave: stringa, valore: stringa)

Una mappa contenente coppie <locale, messaggio>, dove locale è un codice lingua BCP 47 ben formato, come en-US, es-ES o fr.
Un oggetto contenente un elenco di coppie "chiave": valore. Esempio: { "name": "wrench", "mass": "1.3kg", "count": "3" }.

"defaultMessage"stringa
Il messaggio predefinito visualizzato se non è specificato alcun messaggio localizzato o se la lingua dell'utente non corrisponde a nessuno dei messaggi localizzati. È necessario fornire un messaggio predefinito se sono presenti messaggi localizzati.

Esempio di payload

custom message payload.png

Pacchetto Always On VPN:

Configurare i campi AlwaysOnVpnPackage in una policy Android. 

Metodi
"packageName"stringa
Il nome del pacchetto dell'app VPN.
"lockdownEnabled"booleano
Impedisce l'accesso alla rete quando la VPN non è connessa.

Esempio di payload

VPN payload.png

Domande frequenti

Passi successivi