Argomento
NinjaOne ha implementato alcuni set di API di base descritti in questo articolo in formato JSON. Stiamo lavorando per rilasciare ulteriori API nelle prossime versioni.
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
- Ambito delegato
- Concessione di autorizzazioni
- Gestione della connettività del dispositivo
- Gestione della protezione dal ripristino delle impostazioni di fabbrica (FRP)
- ID traccia accessibili
- Messaggistica personalizzata
- Pacchetto VPN sempre attivo
Endpoint dell'applicazione Android:
{{server}}/ws/MDM/applicazione/Android/{packageName}L'endpoint sopra indicato è stato creato per recuperare i dati riportati di seguito.
- Visualizza un elenco delle autorizzazioni per quell'applicazione (packageName), comprese quelle di runtime.
- Visualizza l'ultima versione pre-release e i dati di trasmissione 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 alle applicazioni interessate. Gli ambiti delegati sono un'API a selezione multipla, che consente a un'applicazione all'interno di Policy/Applicazioni/Impostazioni 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_UNSPECIFIED | Nessun ambito di delega specificato. |
CERT_INSTALL | Permette l'accesso all'installazione e alla gestione dei certificati. |
MANAGED_CONFIGURATIONS | Permette l'accesso alla gestione delle configurazioni gestite. |
BLOCK_UNINSTALL | Permette l'accesso al blocco della disinstallazione. |
PACKAGE_ACCESS | Permette l'accesso allo stato di accesso al pacchetto. |
ENABLE_SYSTEM_APP | Permette l'accesso all'abilitazione delle applicazioni di sistema. |
NETWORK_ACTIVITY_LOGS | Concedono 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'unica 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_LOGS | Concedono l’accesso ai log di sicurezza. Consentono all’applicazione delegata di chiamare i metodi setSecurityLoggingEnabled, isSecurityLoggingEnabled, retrieveSecurityLogs e retrievePreRebootSecurityLogs. Questo ambito può essere delegato a un’applicazione al massimo. 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_SELECTION | Concedono l’accesso alla selezione dei certificati KeyChain per conto delle app richiedenti. Una volta concessa, l’applicazione delegata inizierà a ricevere DelegatedAdminReceiver#onChoosePrivateKeyAlias. Consenti all’applicazione delegata di chiamare i metodi grantKeyPairToApp e revokeKeyPairFromApp. Può esserci al massimo un’app in possesso di questa delega. choosePrivateKeyRules deve essere vuoto e privateKeySelectionEnabled non ha alcun effetto se la selezione dei certificati è delegata a un’applicazione. |
Esempio di payload

Concessioni di autorizzazioni:
Configurare la politica dei permessi Android e il relativo stato di concessione per la configurazione dell’applicazione:alluser-choice (ovvero, richiesta di conferma) o deny.
| Metodi | |
|---|---|
| "Autorizzazione" | String Si tratta dell’autorizzazione o del gruppo di autorizzazioni Android; ad esempio: android.permission. READ_CALENDARandroid.permission_group.CALENDAR. |
| "policy" | enumerazione (Criterio dell‘autorizzazione) Si tratta del criterio dell’autorizzazione; ad esempio: GRANT |
Esempio di payload

Gestione della connettività del dispositivo:
Controlla la connettività del dispositivo, come Wi-Fi, accesso ai dati USB, connessioni di tastiera/mouse e altro ancora.
| Metodi | |
|---|---|
| "usbDataAcess" | enum (UsbDataAccess) Questo controllo determina quali file e/o dati possono essere trasferiti tramite USB sui dispositivi di proprietà dell'azienda. |
| "configureWifi" | enumerazione (Configura Wi-Fi) Controlla i privilegi di configurazione del Wi-Fi. A seconda delle opzioni impostate, l’utente avrà controllo completo, limitato o nessun controllo sulla configurazione delle reti Wi-Fi. |
| "wifiDirectSettings" | enum (WifiDirectSettings) Controlla la possibilità di configurare e utilizzare le impostazioni Wi-Fi Direct. Supportato sui dispositivi di proprietà dell’azienda 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

Gestione della protezione dal ripristino di fabbrica (FRP):
La gestione della FRP consente agli amministratori di sistema di inserire un account Google specifico che sostituisce l’indirizzo e-mail FRP sui dispositivi ripristinati in modo non autorizzato (ad esempio, tramite modalità di ripristino, re-flash, troppi tentativi di password errati, ecc.). Una volta impostato tramite una stringa di input in Policy/Security sotto il titolo “Account nella lista bianca della protezione dal ripristino delle impostazioni di fabbrica”, solo questo account potrà essere utilizzato per sbloccare un dispositivo ripristinato.
![]() | Come best practice, NinjaOne suggerisce che questi account associati non siano collegati a utenti specifici. |
| 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, sarà necessario che uno di questi amministratori effettui l’accesso con l’indirizzo 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

ID traccia accessibili:
Seleziona l’ID traccia per un’applicazione in qualsiasi politica MDM Android. L’elenco appTrackInfo[] incluso nella risposta contiene le seguenti informazioni per le app specificate:
trackId: l’identificatore univoco della traccia, ricavato dal campo“releaseTrackId”presente 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, specificare gli accessibleTrackIds nella politica relativa al dispositivo.
Esempio di payload


Messaggistica personalizzata:
Consente alle organizzazioni di impostare un messaggio personalizzato sulla schermata di blocco, che può aiutare gli amministratori a spiegare meglio il motivo per cui qualcosa è stato bloccato.
| Metodi | |
|---|---|
| "deviceOwnerLockScreenInfo" | (UserFacingMessage) Le informazioni sul proprietario del dispositivo da mostrare sulla schermata di blocco. |
| "shortSupportMessage" | oggetto (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" | oggetto (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. |
| "defaultMessage" | stringa Il messaggio predefinito visualizzato se non è specificato alcun messaggio localizzato o se le impostazioni locali dell’utente non corrispondono a qualsiasi di questi messaggi localizzati. È necessario fornire un messaggio predefinito se sono presenti messaggi localizzati. |
Esempio di payload

Pacchetto VPN sempre attivo:
Configurare i campi AlwaysOnVpnPackage in una politica Android.
| Metodi | |
|---|---|
| "packageName" | stringa Il nome pacchetto dell'app VPN. |
| "lockdownEnabled" | booleano Impedisce il Networking quando la VPN non è connessa. |
Esempio di payload

