Already a NinjaOne customer? Log in to view more guides and the latest updates.

Android Policy Management in MDM

Topic

This article discusses how to configure and manage mobile device management (MDM) policies for Android devices in NinjaOne.

Environment

NinjaOne Mobile Device Management

Description

Android policy functionality depends on how you enroll the device in NinjaOne Mobile Device Management (MDM). Policies take complete control over work-only types; if the device is personally owned, some policy settings, like restrictions, may be limited.

You must enable the Android MDM Application before configuring the Android MDM policy. Refer to Enable the Android MDM application for more information.

If you change a policy (for example, to allow access to the app store), users will need to restart their devices to populate the changes.

Mobile Device Usage Types

After you enable MDM and enroll your Apple or Android account, you can add mobile devices to NinjaOne as either "Personal Usage" or "No personal usage allowed." When you add a mobile device, you can categorize the usage/enrollment type as Personal usage, No personal usage allowed, or Dedicated device.

Usage types define how a device is enrolled. Android MDM has three usage types:

  • Personal usage (personally-owned): A personally owned device is typically considered a BYOD (Bring Your Own Device) enrollment. NinjaOne (or any MDM) has limited access to device information and actions.

    NinjaOne enrolls these devices from the Android Device Policy application or a link on an already set-up device that is in active use. NinjaOne then allows an organization to manage the applications and data within the work profile alone, with no visibility or management of the personal (or parent) profile.

  • No personal usage allowed (For Work or Company-Owned): These devices are owned by the employer but personally enabled (COPE), allowing platform-level separation of work apps and data. NinjaOne provides more detailed information about the device, including serial numbers and network-related details. Employers control data and security policies within the work profile. Outside the work profile, the device remains suitable for personal use.
    • Android devices must be blank (out of the box), or you will receive an error message when attempting to add the device to NinjaOne.
    • During setup, NinjaOne will prompt the user to add their own accounts and information in addition to the configured work profile. The organization has some control over the personal (parent) profile for things like cameras, screenshots, and other data loss prevention policies; however, it still maintains limited visibility of anything outside of the work profile.
  • Dedicated device (no specific user): This usage type is similar to No personal usage allowed, but the device is not associated with a single user and does not expect personal usage or corporate identity authentication. For additional details, refer to the Android API's dedicated Device provisioning guide (external link).
NinjaOne MDM does not have access to personal files or photos, whether the device is company-owned or personally owned.

Create a New Policy

  1. In NinjaOne, navigate to AdministrationPolicies, then select MDM Policies from the drop-down menu and click Create New Policy.
PrivateKeyRules_NewNav.png
Figure 1: Administration → Policies → Create New Policy (click to enlarge)
  1. Select a device role, enter the policy details, and activate the Policy enabled toggle. The role you select determines which policies you can set as the parent. Refer to the Inherited Policy Details section of this article for more details. When finished, click Create.
parent policy_mdm.png
Figure 2: The Create a policy window (click to enlarge)

Inherited Policy Details

NinjaOne supports policy inheritance for MDM policies. The role you select determines which policies can serve as the parent policy. You must choose an MDM-specific role to create an MDM-specific parent-child policy relationship.

NinjaOne will display an Inherited tag in the new policy, along with an option to override individual settings. You can revert to inherited settings by placing your cursor over them and clicking the Inherited policies display descriptions beneath their names on the MDM Policies page.

override inheritance.png
Figure 3: Revert an overridden policy value (click to enlarge)
Inherited policies display descriptions beneath their names on the MDM Policies page.
inherited policy description.png
Figure 4: Inherited policy identification (click to enlarge)

Important Considerations

  • Inherited policies cannot remove applications, Wi-Fi configurations, or Android policy enforcements. Instead, you must deactivate these items in the configuration editor.
  • Deactivating changes the status column to Inactive, and the Inherited label changes to Overridden.

Configure the Policy

Select a section to learn more about configuration options:

Passcode

Passcode settings let you require and set passcodes to unlock devices and profiles.

APM_PasscodeOptions.png
Figure 5: Passcode configuration options (click to enlarge)

Passcode Options Explained

Use the table below to learn about each pascode configuration option.

SettingDescription
Device scope and Profile scopeSet the passcode on the device, the work profile, or both.
EnabledActivate this toggle to require passcode entry.
Require password to unlockChoose whether the device will need a passcode to unlock after every timeout, or every day.
History lengthSpecify the number of previously-used passcodes NinjaOne will remember and prevent from their reselection.
Maximum failed passwords for wipeDefine the number of password attempts before NinjaOne wipes the device. The maximum is 100.
Maximum age (days)Specify the maximum password age (in days) after which NinjaOne will require a newly created password.
Password qualitySelect the criteria for acceptable password strength.

Viewing Passcode Status in the Devices Dashboard

NinjaOne will show passcode setting information in the Devices dashboardDetailsSecurity.

android details_security.png
Figure 6: Security data on the device dashboard for Android (click to enlarge)

Restrictions

NinjaOne obtains most Android policy restrictions directly from the Android Management API, which provides relevant JSON representation and definitions. In this section, you can activate or deactivate device functionality, security, and connectivity.

  • NinjaOne will only deliver values that have been modified from their default settings to a device.
  • If the device was enrolled with a work profile, the restrictions will apply only to that profile.
APM_Restrictions.png
Figure 7: Restrictions configuration options (click to enlarge)

Restrictions Options Explained

Use the table below to learn about the configuration options for restrictions.

CategoryDescription
Functionality

Restrict device functions, such as:

  • Calling and messaging capability
  • Camera and microphone functions
  • User icon and wallpaper changes
  • The ability to perform factory resets
  • Enabling opf auto-date and timezone
Application

Control application parameters such as:

  • Skipping hints on first use
  • The ability to install and uninstall apps
  • Access to widgets in the work profile
Security & Privacy

Control the ability to perform functions affecting device security or privacy, including:

  • Adding, modifying, or removing accounts
  • Mounting physical media and USB data transfer
  • Location mode and location sharing
  • Private key selection
  • Keyguard (lock screen) functionality
  • Screen timeout
Network & internet

Govern the device's ability to use networks, including:

  • Bluetooth functionality, configuration, and contact sharing
  • Mobile networks
  • VPNs
  • Cell broadcasts
  • Network setting resets, and network escape hatches
  • Outgoing NFC beams
  • Data roaming
  • WiFi state
  • Airplane mode state
  • Cellular 2g state
  • Minimum WiFi security levels

Applications

The Applications section has three tabs: Managed Apps, Kiosk Settings, and Advanced.

android policy_application tabs.png
Figure 8: Android policy application tabs (click to enlarge)
Applications tabDescription
ManagementSelect specific applications to install or block on mobile devices.
Kiosk settingsEnable the native Android Kiosk environment and display all deployed applications added to the assigned policy.
AdvancedAdd advanced configurations which can enable supported applications to perform system actions or access categories. For example: Setting a default Home or Launcher app.
When enrolling a device, ensure you use the same Android connection as the one used to enroll the device in the Google Play Store. Otherwise, managed configuration and app pushes to the device will fail.

To learn more about adding and modifying these applications, refer to MDM: Android Application Management.

Personal Usage

The configuration options in the Personal usage section let you control policies for the parent device's personal profile.

MMDM_APM_PersonalUsage.png
Figure 9: Personal usage options (click to enlarge)

Personal Usage Options Explained

Use the table below to learn about personal usage configuration options.

CategoryDescription
Cross-profile policies applied to the device

Control policies that apply to both the personally-owned and company-owned profiles, including:

  • Whether work contacts appear in the personal profile
  • The ability to copy and paste between profiles
  • The ability to share data between profiles
Personal usage policies (company-owned devices only)

Set the following personal usage abilities:

  • Camera deactivated
  • Screen capture deactivated
  • The maximum duration the work profile can be off (in days)
  • Account types with management disabled
Managed personal applicationsThese options let you restrict the personal Google Play Store to specified applications, or allow full store access.

Network

This section enables you to manage network settings for the device, including setting up proxies and specifying authorized WiFi networks.

MDM_APM_NetworkOptions.png
Figure 10: Personal usage options (click to enlarge)

Network Settings Explained

Use the table below to learn about network configuration options.

SettingDescription
Manual proxy setupSet up a proxy server for internet access. Enabling direct proxy deactivates any established Wi-Fi networks on the device. Refer to the Configure WiFi SSID Settings section of Android Enrollment Profiles for more information.
Wi-Fi network listTo add a WiFi network, click Add WiFi Network, then enter the configuration name and WiFi name (SSID), and select the appropriate security type.

Security

The Security section allows system administrators to encrypt the device, manage developer settings, define how data is moved for work, and more.

APM_Security.png
Figure 11: Security configuration options (click to enlarge)

Security settings are split into the following categories:

  • General
  • Private key rules
  • Custom messaging

General Security Settings Explained

Use the table below to learn about general security settings.

SettingDescription
Minimum Android version support (API level)The minimum allowed Android API level.
Maximum time to lock (seconds)Select the number of seconds that pass before the device is locked and the user is required to input the password.
User credentials configuration disabledProhibit users from managing how usernames and passwords are saved or used for authentication.
Encryption policyEnable the policy to require a password.
Disabled keyguard customizationsLock screen items, such as widgets, notifications, camera access, and other tools when the device is locked.
Battery plugged modeForce a device to keep its screen active under specific conditions (for example, when plugged into AC power, on wireless charging, or connected to a USB connection). When using this setting, we recommend clearing Maximum Time To Lock so the device doesn't lock itself while it stays on.
Developer settingsAllow developer options, such as system behaviors, quick settings, and safe boot. For more information about Android developer settings, refer to Configure on-device developer options (external link).
Allowed input methodsConfigure a list of package names for input methods or keyboard apps.
Allowed accessibility servicesDetermine the accessibility services permitted for use on a device, blocking all others. Note that this may detrimentally impact accessibility for device users reliant on specific services.
Memory tagging extensionThis setting controls the Memory Tagging Extension (MTE), a hardware implementation of tagged memory, and is supported on Android 14 and above.
Send content to assist appsAllow contextual content about the current app or screen state to assist apps such as Gemini, supported on Android 15+. Deactivate this setting to prevent content from being shared.
Factory reset protection allowlisted accountsDefine which Google accounts can unlock a device if factory reset protection is triggered.

Custom Messaging Settings Explained

Use the table below to learn about custom messaging settings.

SettingDescription
Custom messaging

Create custom messages to users from Security Administration when they attempt actions on the device. Click Add language to add the message in a NinjaOne-supported language.

  • Short support message: Displays when users attempt an action that is not permitted.
  • Long support message: Appears when the user taps the prompt for more information about the disallowed action.
  • Lock screen message: Display a message on the device's lock screen.
System Update Configuration

Specify an update configuration type:

  • Automatic: Download and install available system or Google Play updates as soon as they are available. As part of the update process, a reboot is required and will automatically occur.
  • Windowed: Set a specific time frame (starting after midnight) that adheres to your schedule and time zone. Four hours is usually an ideal amount of time to ensure enough time for installation of the update. This mode is the recommended option to minimize disruption due to update installation and device reboots.
  • Postpone: Do not perform updates at this time.
Freeze Periods

Set an annually repeating time period in which over-the-air (OTA) system updates are postponed to "freeze" or stop the OS version running on a device.

  • You can set multiple freeze periods. Each freeze period must be separated by at least 60 days to prevent indadvertant freezing of the device indefinitely, 
  • If the System Update Configuration option is set to Unspecified, you will be unable to add freeze periods.

Private Key Rules

Private key rule settings enable you to create and manage private keys for authentication in NinjaOne MDM.

Adding a Private Key

  1. On the policy's configuration page, navigate to SecurityPrivate key rules and click Add Key.
PrivateKeyRules_Nav.png
Figure 12: Security → Private key rules (click to enlarge)
  1. In the Add key window, enter the following information:
SettingDescription
Key nameGive the key a descriptive name (required).
AliasEnter an alias the system can use to find the key (required).
URL patternEnter any URL heirarchies to which the key will be specific (optional).
Package namesEnter a package name, or use the drop-down menu to select the package name of the app to which the key will be specific. If you enter an invalid package name, you will see an alert in the drop-down menu.
PrivateKeyRules_AddKey.png
Figure 13: The Add Key window (click to enlarge)

Editing or Deleting a Private Key Rule

NinjaOne displays a list of created private keys in SecurityPrivate Key Rules. To edit a key's parameters or to delete a key, place your cursor over it and click the ellipsis (three dots) menu when it appears, then select Edit or Remove.

PrivateKeyRules_EditKey.png
Figure 14: Edit or delete a private key (click to enlarge)

Policy Enforcement

Policy enforcement allows you to set rules that define behavior when a policy cannot be applied to a device. For example, you can block access to a specific setting on either a work profile or the entire device for a specified number of days. If certain aspects of the policy are not applied successfully, there is an additional option to wipe the device.

Applying policy enforcement

Follow these steps to set up a new policy enforcement:

  1. In Policy enforcement, click Add.
android policy_policy enforcement.png
Figure 15: Android policy enforcement configuration (click to enlarge)
  1. The Add new policy enforcement window will open. Fill out the following information:
SettingDescriptions
Setting NameSelect the feature you want to block. Refer to the the Setting names explained table in this article for an explanation of each setting name.
Block ScopeBlock access to apps and data on a company-owned device or in a work profile. This action also triggers a user-facing notification that, if possible, includes information on how to correct the compliance issue.
Block after daysOptionally, set a specific date for the setting to be blocked a specific number of days after the policy changes are saved.
Wipe after daysReset a company-owned device or delete a work profile after a specified number of days.
Preserve FrpPreserve the factory reset protection for personal profiles (optional).

Setting Names Explained

Refer to the table below for an outline of each setting name.

SettingDesccription
ApplicationsControl policy settings applied to applications.
Keyguard disabledDisable the lock screen on the primary or secondary display.
Permitted accessibility servicesIf the field is not set, any accessibility service can be used. If the field is set, only the accessibility services in this list and the system's built-in accessibility service can be used. In particular, if the field is set to empty, only the system's built-in accessibility services can be used. You can set this field on fully managed devices and on work profiles. When applied to a work profile, the option affects both the personal profile and the work profile.
Permitted input methodsIf present, only the input methods provided by packages in this list are permitted. If this field is present, but the list is empty, then only system input methods are permitted.
Minimum API levelDefine the minimum allowed Android API level.
Recommended global proxyThis setting controls the network-independent global HTTP proxy. Typically, you should configure proxies per network, usiong the in Network configuration optionas. However, for unusual configurations like general internal filtering, a global HTTP proxy may be useful. If the proxy is unavailable, network access may be disrupted. The global proxy is only a recommendation, and some apps may ignore it.
Location modeSet the degree of location detection enabled.
Always on VPN PackageSpecify whether the app is allowed to network when the VPN is not connected and enabled. This setting is only supported on devices running Android 10 and above.
Bluetooth config disabledDisable Bluetooth connections to and from the mobile device.
Encryption policyDetermine encryption configuration.
Permission grantsExplicitly grant or deny permission for the app.
Password policiesPassword requirement policies. The password Scope field in the policy can be set to different policies for work profiles or fully managed devices.
Advanced security overridesSecurity policies are set to secure values by default. NinjaOne does not recommend overriding any of the default values to maintain a device's security posture.
Personal usage policiesPolicies managing personal usage on a company-owned device.
Cross-profile policiesDetermine whether data from one profile (personal or work) can be shared with apps in the other profile.

After setting the policies, you can edit or delete them by placing your cursor over the policy's row and clicking the ellipsis button.

android policy_policy enforcement_edit.png
Figure 16: Edit or delete an Android policy enforcement configuration (click to enlarge)

Location Tracking

Refer to MDM Location Tracking for more information.

android policy_location tracking.png
Figure 17: MDM location tracking (click to enlarge)

Additional Resources

Refer to the NinjaOne MDM: Resource Catalogue for more information about managing Android devices.

FAQ

Next Steps