REST Resource: enterprises.policies

资源:Policy

政策资源代表一组设置,可控制受管理设备及其上安装的应用的行为。

JSON 表示法
{
  "name": string,
  "version": string,
  "applications": [
    {
      object (ApplicationPolicy)
    }
  ],
  "maximumTimeToLock": string,
  "screenCaptureDisabled": boolean,
  "cameraDisabled": boolean,
  "keyguardDisabledFeatures": [
    enum (KeyguardDisabledFeature)
  ],
  "defaultPermissionPolicy": enum (PermissionPolicy),
  "persistentPreferredActivities": [
    {
      object (PersistentPreferredActivity)
    }
  ],
  "openNetworkConfiguration": {
    object
  },
  "systemUpdate": {
    object (SystemUpdate)
  },
  "accountTypesWithManagementDisabled": [
    string
  ],
  "addUserDisabled": boolean,
  "adjustVolumeDisabled": boolean,
  "factoryResetDisabled": boolean,
  "installAppsDisabled": boolean,
  "mountPhysicalMediaDisabled": boolean,
  "modifyAccountsDisabled": boolean,
  "safeBootDisabled": boolean,
  "uninstallAppsDisabled": boolean,
  "statusBarDisabled": boolean,
  "keyguardDisabled": boolean,
  "minimumApiLevel": integer,
  "statusReportingSettings": {
    object (StatusReportingSettings)
  },
  "bluetoothContactSharingDisabled": boolean,
  "shortSupportMessage": {
    object (UserFacingMessage)
  },
  "longSupportMessage": {
    object (UserFacingMessage)
  },
  "passwordRequirements": {
    object (PasswordRequirements)
  },
  "wifiConfigsLockdownEnabled": boolean,
  "bluetoothConfigDisabled": boolean,
  "cellBroadcastsConfigDisabled": boolean,
  "credentialsConfigDisabled": boolean,
  "mobileNetworksConfigDisabled": boolean,
  "tetheringConfigDisabled": boolean,
  "vpnConfigDisabled": boolean,
  "wifiConfigDisabled": boolean,
  "createWindowsDisabled": boolean,
  "networkResetDisabled": boolean,
  "outgoingBeamDisabled": boolean,
  "outgoingCallsDisabled": boolean,
  "removeUserDisabled": boolean,
  "shareLocationDisabled": boolean,
  "smsDisabled": boolean,
  "unmuteMicrophoneDisabled": boolean,
  "usbFileTransferDisabled": boolean,
  "ensureVerifyAppsEnabled": boolean,
  "permittedInputMethods": {
    object (PackageNameList)
  },
  "stayOnPluggedModes": [
    enum (BatteryPluggedMode)
  ],
  "recommendedGlobalProxy": {
    object (ProxyInfo)
  },
  "setUserIconDisabled": boolean,
  "setWallpaperDisabled": boolean,
  "choosePrivateKeyRules": [
    {
      object (ChoosePrivateKeyRule)
    }
  ],
  "alwaysOnVpnPackage": {
    object (AlwaysOnVpnPackage)
  },
  "frpAdminEmails": [
    string
  ],
  "deviceOwnerLockScreenInfo": {
    object (UserFacingMessage)
  },
  "dataRoamingDisabled": boolean,
  "locationMode": enum (LocationMode),
  "networkEscapeHatchEnabled": boolean,
  "bluetoothDisabled": boolean,
  "complianceRules": [
    {
      object (ComplianceRule)
    }
  ],
  "blockApplicationsEnabled": boolean,
  "installUnknownSourcesAllowed": boolean,
  "debuggingFeaturesAllowed": boolean,
  "funDisabled": boolean,
  "autoTimeRequired": boolean,
  "permittedAccessibilityServices": {
    object (PackageNameList)
  },
  "appAutoUpdatePolicy": enum (AppAutoUpdatePolicy),
  "kioskCustomLauncherEnabled": boolean,
  "androidDevicePolicyTracks": [
    enum (AppTrack)
  ],
  "skipFirstUseHintsEnabled": boolean,
  "privateKeySelectionEnabled": boolean,
  "encryptionPolicy": enum (EncryptionPolicy),
  "usbMassStorageEnabled": boolean,
  "permissionGrants": [
    {
      object (PermissionGrant)
    }
  ],
  "playStoreMode": enum (PlayStoreMode),
  "setupActions": [
    {
      object (SetupAction)
    }
  ],
  "passwordPolicies": [
    {
      object (PasswordRequirements)
    }
  ],
  "policyEnforcementRules": [
    {
      object (PolicyEnforcementRule)
    }
  ],
  "kioskCustomization": {
    object (KioskCustomization)
  },
  "advancedSecurityOverrides": {
    object (AdvancedSecurityOverrides)
  },
  "personalUsagePolicies": {
    object (PersonalUsagePolicies)
  },
  "autoDateAndTimeZone": enum (AutoDateAndTimeZone),
  "oncCertificateProviders": [
    {
      object (OncCertificateProvider)
    }
  ],
  "crossProfilePolicies": {
    object (CrossProfilePolicies)
  },
  "preferentialNetworkService": enum (PreferentialNetworkService),
  "usageLog": {
    object (UsageLog)
  },
  "cameraAccess": enum (CameraAccess),
  "microphoneAccess": enum (MicrophoneAccess),
  "deviceConnectivityManagement": {
    object (DeviceConnectivityManagement)
  },
  "deviceRadioState": {
    object (DeviceRadioState)
  },
  "credentialProviderPolicyDefault": enum (CredentialProviderPolicyDefault),
  "printingPolicy": enum (PrintingPolicy)
}
字段
name

string

政策的名称,格式为 enterprises/{enterpriseId}/policies/{policyId}

version

string (int64 format)

政策的版本。此字段是只读字段。每当政策更新时,版本号都会递增。

applications[]

object (ApplicationPolicy)

应用于应用的政策。它最多可以包含 3,000 个元素。

maximumTimeToLock

string (int64 format)

设备锁定之前用户活动的最长时间(以毫秒为单位)。值为 0 表示无限制。

screenCaptureDisabled

boolean

是否停用屏幕截图功能。

cameraDisabled
(deprecated)

boolean

如果将 cameraAccess 设置为 CAMERA_ACCESS_UNSPECIFIED 以外的任何值,则此命令不会产生任何影响。否则,此字段可控制是否停用相机:如果为 true,将停用所有相机,否则将可用。对于完全受管设备,此字段适用于设备上的所有应用。对于工作资料,此字段仅适用于工作资料中的应用,且不影响工作资料之外应用的相机使用权限。

keyguardDisabledFeatures[]

enum (KeyguardDisabledFeature)

已停用锁屏自定义功能,例如微件。

defaultPermissionPolicy

enum (PermissionPolicy)

运行时权限请求的默认权限政策。

persistentPreferredActivities[]

object (PersistentPreferredActivity)

默认 intent 处理程序 activity。

openNetworkConfiguration

object (Struct format)

设备的网络配置。如需了解详情,请参阅配置网络

systemUpdate

object (SystemUpdate)

系统更新政策,用于控制操作系统更新的应用方式。如果更新类型为 WINDOWED,更新期限也会自动应用于 Play 应用更新。

accountTypesWithManagementDisabled[]

string

用户无法管理的账号类型。

addUserDisabled

boolean

是否禁止添加新用户和个人资料。

adjustVolumeDisabled

boolean

是否停用了主音量调整功能。还会将设备静音。

factoryResetDisabled

boolean

是否已停用通过“设置”恢复出厂设置。

installAppsDisabled

boolean

是否禁止用户安装应用。

mountPhysicalMediaDisabled

boolean

是否停用用户装载外部实体介质的权限。

modifyAccountsDisabled

boolean

添加或移除账号的功能是否处于停用状态。

safeBootDisabled
(deprecated)

boolean

是否停用重新启动设备以进入安全启动模式的功能。

uninstallAppsDisabled

boolean

是否禁止用户卸载应用。这样可以防止应用被卸载,即使是使用 applications 移除的应用也不例外

statusBarDisabled
(deprecated)

boolean

状态栏是否已停用。这会停用通知、快速设置以及其他允许退出全屏模式的屏幕叠加层。已弃用。若要在自助服务终端设备上停用状态栏,请使用 InstallType KIOSKkioskCustomLauncherEnabled

keyguardDisabled

boolean

如果为 true,则会停用主要和/或辅助显示屏的锁定屏幕

minimumApiLevel

integer

允许使用的最低 Android API 级别。

statusReportingSettings

object (StatusReportingSettings)

状态报告设置

bluetoothContactSharingDisabled

boolean

是否停用蓝牙联系人共享功能。

shortSupportMessage

object (UserFacingMessage)

当管理员停用了功能时,设置屏幕中向用户显示的消息。如果消息超过 200 个字符,则可能会被截断。

longSupportMessage

object (UserFacingMessage)

设备管理程序设置屏幕中向用户显示的消息。

passwordRequirements
(deprecated)

object (PasswordRequirements)

密码要求。不得设置“passwordRequirements.require_password_unlock”字段。已弃用 - 请使用 passwordPolicies

注意:

此处不能使用基于复杂性的 PasswordQuality 值,即 COMPLEXITY_LOWCOMPLEXITY_MEDIUMCOMPLEXITY_HIGHunifiedLockSettings 不能在此处使用。

wifiConfigsLockdownEnabled
(deprecated)

boolean

已弃用 - 使用 wifiConfigDisabled。

bluetoothConfigDisabled

boolean

是否停用了蓝牙配置功能。

cellBroadcastsConfigDisabled

boolean

是否停用配置小区广播的功能。

credentialsConfigDisabled

boolean

是否停用用户凭据配置。

mobileNetworksConfigDisabled

boolean

是否停用移动网络配置功能。

tetheringConfigDisabled
(deprecated)

boolean

是否停用配置网络共享和便携式热点。如果 tetheringSettings 设为 TETHERING_SETTINGS_UNSPECIFIED 以外的任何值,系统会忽略此设置。

vpnConfigDisabled

boolean

是否停用 VPN 配置。

wifiConfigDisabled
(deprecated)

boolean

是否停用 Wi-Fi 网络配置。完全受管设备和公司自有设备上的工作资料。对于全托管式设备,将此项设为 true 会移除所有已配置的网络,并仅保留使用 openNetworkConfiguration 配置的网络。对于公司自有设备上的工作资料,现有的已配置网络不受影响,并且不允许用户添加、移除或修改 Wi-Fi 网络。如果 configureWifi 设为 CONFIGURE_WIFI_UNSPECIFIED 以外的任何值,系统会忽略此设置。注意:如果在启动时无法连接到网络,并且配置 Wi-Fi 已停用,那么系统会显示网络应急方法,以刷新设备政策(请参阅 networkEscapeHatchEnabled)。

createWindowsDisabled

boolean

是否停用在应用窗口之外创建窗口的功能。

networkResetDisabled

boolean

是否已停用重置网络设置。

outgoingBeamDisabled

boolean

是否已停用使用 NFC 从应用传输数据的功能。

outgoingCallsDisabled

boolean

是否停用去电功能。

removeUserDisabled

boolean

是否停用移除其他用户功能。

shareLocationDisabled

boolean

是否已停用位置信息分享功能。完全受管设备和个人拥有的工作资料均支持shareLocationDisabled

smsDisabled

boolean

是否停用收发短信功能。

unmuteMicrophoneDisabled
(deprecated)

boolean

如果将 microphoneAccess 设置为 MICROPHONE_ACCESS_UNSPECIFIED 以外的任何值,则此命令不会产生任何影响。否则,此字段可控制是否停用麦克风:如果为 true,则停用所有麦克风,否则将停用。此功能仅适用于完全受管设备。

usbFileTransferDisabled
(deprecated)

boolean

是否停用通过 USB 传输文件的功能。只有公司自有设备支持此功能。

ensureVerifyAppsEnabled
(deprecated)

boolean

是否强制启用应用验证。

permittedInputMethods

object (PackageNameList)

如果存在,则只能使用此列表中的软件包提供的输入法。如果此字段存在,但列表为空,则仅允许使用系统输入法。

stayOnPluggedModes[]

enum (BatteryPluggedMode)

电池已接通电源的模式(设备保持开启状态)。使用此设置时,建议清除 maximumTimeToLock,这样设备在保持开启状态时不会自行锁定。

recommendedGlobalProxy

object (ProxyInfo)

独立于网络的全局 HTTP 代理。通常,应在 openNetworkConfiguration 中为每个网络配置代理。不过,对于常规内部过滤等不寻常的配置,全局 HTTP 代理可能很有用。如果代理无法访问,网络访问可能会中断。全局代理只是建议,某些应用可能会忽略它。

setUserIconDisabled

boolean

是否停用更改用户图标的功能。

setWallpaperDisabled

boolean

是否停用壁纸更改功能。

choosePrivateKeyRules[]

object (ChoosePrivateKeyRule)

用于确定应用对私钥的访问权限的规则。如需了解详情,请参阅 ChoosePrivateKeyRule。如果任何应用具有 CERT_SELECTION 委托范围,则此字段必须为空。

alwaysOnVpnPackage

object (AlwaysOnVpnPackage)

始终开启的 VPN 连接的配置。与 vpnConfigDisabled 结合使用可阻止对此设置进行修改。

frpAdminEmails[]

string

用于恢复出厂设置保护的设备管理员的电子邮件地址。将设备恢复出厂设置后,系统会要求其中一位管理员使用 Google 帐号电子邮件地址和密码登录,以便解锁设备。如果未指定管理员,则设备将不会提供恢复出厂设置保护功能。

deviceOwnerLockScreenInfo

object (UserFacingMessage)

要在锁定屏幕上显示的设备所有者信息。

dataRoamingDisabled

boolean

是否已停用漫游数据服务。

locationMode

enum (LocationMode)

位置检测的启用程度。

networkEscapeHatchEnabled

boolean

是否启用了网络应急路径。如果在启动时无法建立网络连接,应急路径会提示用户暂时连接到网络以刷新设备政策。应用政策后,系统会忘记该临时网络,设备将继续启动。如果上一条政策中没有合适的网络,并且设备会在锁定任务模式下启动到应用,或者用户无法访问设备设置,那么此举可防止无法连接到网络。

注意:将 wifiConfigDisabled 设置为 true 会在特定情况下覆盖此设置。如需了解详情,请参阅 wifiConfigDisabled。如果将 configureWifi 设为 DISALLOW_CONFIGURING_WIFI,系统会在特定情况下覆盖此设置。如需了解详情,请参阅 DISALLOW_CONFIGURING_WIFI

bluetoothDisabled

boolean

蓝牙是否处于停用状态。最好使用此设置(而非 bluetoothConfigDisabled),因为用户可以绕过 bluetoothConfigDisabled

complianceRules[]
(deprecated)

object (ComplianceRule)

用于声明当设备不符合政策时要采取哪些缓解措施的规则。当满足多条规则的条件时,系统会执行这些规则的所有缓解操作。最多可以指定 100 条规则。请改用强制执行政策。

blockApplicationsEnabled
(deprecated)

boolean

是否禁止安装除 applications 中配置的应用之外的应用。设置完成后,系统会自动卸载根据先前政策安装但不再显示在此政策中的应用。

installUnknownSourcesAllowed
(deprecated)

boolean

此字段无效。

debuggingFeaturesAllowed
(deprecated)

boolean

是否允许用户启用调试功能。

funDisabled

boolean

是否允许用户享受乐趣。控制是否停用“设置”中的复活节彩蛋游戏。

autoTimeRequired
(deprecated)

boolean

是否需要自动设置时间,这样可以防止用户手动设置日期和时间。如果设置了 autoDateAndTimeZone,系统会忽略此字段。

permittedAccessibilityServices

object (PackageNameList)

指定允许的无障碍服务。如果未设置此字段,则任何无障碍服务都可以使用。如果已设置此字段,则只能使用此列表中的无障碍服务和系统的内置无障碍服务。特别是,如果此字段设为空,则只能使用系统的内置无障碍服务。您可以在完全受管设备和工作资料中设置此设置。应用于工作资料时,此操作会同时影响个人资料和工作资料。

appAutoUpdatePolicy

enum (AppAutoUpdatePolicy)

建议的替代方案:按应用设置 autoUpdateMode,可就更新频率提供更大的灵活性。

autoUpdateMode 设置为 AUTO_UPDATE_POSTPONEDAUTO_UPDATE_HIGH_PRIORITY 时,此字段无效。

应用自动更新政策,用于控制何时可以应用自动更新。

kioskCustomLauncherEnabled

boolean

自助服务终端自定义启动器是否已启用。这会将主屏幕替换为一个启动器,该启动器会将设备锁定为仅限通过 applications 设置安装的应用。应用会按字母顺序显示在单个页面上。您可以使用 kioskCustomization 进一步配置自助服务终端设备行为。

androidDevicePolicyTracks[]
(deprecated)

enum (AppTrack)

不支持此设置。系统会忽略任何值。

skipFirstUseHintsEnabled

boolean

用于在首次使用时跳过提示的标志。企业管理员可以为应用启用系统推荐,以便在首次启动时跳过用户教程和其他入门提示。

privateKeySelectionEnabled

boolean

如果 ChoosePrivateKeyRules 中没有匹配规则,则允许在设备上显示界面,以便用户选择私钥别名。对于低于 Android P 的设备,此设置可能会使企业版密钥容易受到攻击。如有任何应用具有 CERT_SELECTION 委托范围,则此值不会产生任何影响。

encryptionPolicy

enum (EncryptionPolicy)

是否启用了加密

usbMassStorageEnabled
(deprecated)

boolean

是否启用了 USB 存储设备。已弃用。

permissionGrants[]

object (PermissionGrant)

针对所有应用的明确权限或群组授予或拒绝事件。这些值会替换 defaultPermissionPolicy

playStoreMode

enum (PlayStoreMode)

此模式可控制用户在 Play 商店中可以使用哪些应用,以及从政策中移除应用后在设备上的行为。

setupActions[]

object (SetupAction)

在设置过程中执行的操作。最多只能指定一项操作。

passwordPolicies[]

object (PasswordRequirements)

密码要求政策。通过在政策中设置 passwordScope 字段,可以为工作资料或完全受管设备设置不同的政策。

policyEnforcementRules[]

object (PolicyEnforcementRule)

用于定义特定政策无法在设备上应用时行为的规则

kioskCustomization

object (KioskCustomization)

用于控制自助服务终端模式下设备行为的设置。要启用自助服务终端模式,请将 kioskCustomLauncherEnabled 设为 true,或使用 installType KIOSK 在政策中指定应用。

advancedSecurityOverrides

object (AdvancedSecurityOverrides)

高级安全设置。在大多数情况下,您无需进行这些设置。

personalUsagePolicies

object (PersonalUsagePolicies)

管理公司自有设备上的个人使用情况的政策。

autoDateAndTimeZone

enum (AutoDateAndTimeZone)

是否在公司自有设备上启用自动日期、时间和时区。如果设置了此属性,系统会忽略 autoTimeRequired

oncCertificateProviders[]

object (OncCertificateProvider)

此功能尚未正式发布。

crossProfilePolicies

object (CrossProfilePolicies)

在设备上应用的跨资料政策。

preferentialNetworkService

enum (PreferentialNetworkService)

控制是否为工作资料启用首选网络服务。例如,某组织可能与运营商签订了协议,规定来自其员工设备的所有工作数据都将通过专为企业使用的网络服务发送。例如,5G 网络上的企业切片就是受支持的首选网络服务。这不会对完全受管设备产生任何影响。

usageLog

object (UsageLog)

设备活动日志记录的配置。

cameraAccess

enum (CameraAccess)

控制摄像头的使用以及用户是否有权访问摄像头访问切换开关。

microphoneAccess

enum (MicrophoneAccess)

控制麦克风的使用以及用户是否具有麦克风使用权限切换开关。此设置仅适用于完全受管设备。

deviceConnectivityManagement

object (DeviceConnectivityManagement)

包含设备连接控件,例如 Wi-Fi、USB 数据访问、键盘/鼠标连接等。

deviceRadioState

object (DeviceRadioState)

包含对无线装置状态(例如 Wi-Fi、蓝牙等)的控件。

credentialProviderPolicyDefault

enum (CredentialProviderPolicyDefault)

控制哪些应用可以作为 Android 14 及更高版本的凭据提供程序。这些应用会存储凭据,请参阅此处此处了解详情。另请参阅 credentialProviderPolicy

printingPolicy

enum (PrintingPolicy)

可选。控制是否允许打印。搭载 Android 9 及更高版本的设备支持此功能。.

ApplicationPolicy

针对个别应用的政策。注意:如果启用了 installAppsDisabled,则无法使用此政策更改指定设备上的应用可用性。您最多可为每个政策指定 3000 个应用。

JSON 表示法
{
  "packageName": string,
  "installType": enum (InstallType),
  "lockTaskAllowed": boolean,
  "defaultPermissionPolicy": enum (PermissionPolicy),
  "permissionGrants": [
    {
      object (PermissionGrant)
    }
  ],
  "managedConfiguration": {
    object
  },
  "disabled": boolean,
  "minimumVersionCode": integer,
  "delegatedScopes": [
    enum (DelegatedScope)
  ],
  "managedConfigurationTemplate": {
    object (ManagedConfigurationTemplate)
  },
  "accessibleTrackIds": [
    string
  ],
  "connectedWorkAndPersonalApp": enum (ConnectedWorkAndPersonalApp),
  "autoUpdateMode": enum (AutoUpdateMode),
  "extensionConfig": {
    object (ExtensionConfig)
  },
  "alwaysOnVpnLockdownExemption": enum (AlwaysOnVpnLockdownExemption),
  "workProfileWidgets": enum (WorkProfileWidgets),
  "credentialProviderPolicy": enum (CredentialProviderPolicy),
  "installConstraint": [
    {
      object (InstallConstraint)
    }
  ],
  "installPriority": integer
}
字段
packageName

string

应用的软件包名称。例如,com.google.android.youtube 表示 YouTube 应用。

installType

enum (InstallType)

要执行的安装类型。

lockTaskAllowed
(deprecated)

boolean

是否允许应用在全屏模式下自行锁定。已弃用。使用 InstallType KIOSKkioskCustomLauncherEnabled 配置专用设备。

defaultPermissionPolicy

enum (PermissionPolicy)

应用请求的所有权限的默认政策。如果指定,此政策会覆盖应用于所有应用的政策级 defaultPermissionPolicy。它不会替换适用于所有应用的 permissionGrants

permissionGrants[]

object (PermissionGrant)

向应用授予或拒绝明确权限的行为。这些值会替换适用于所有应用的 defaultPermissionPolicypermissionGrants

managedConfiguration

object (Struct format)

应用于应用的托管配置。配置的格式取决于应用支持的 ManagedProperty 值。托管配置中的每个字段名称都必须与 ManagedPropertykey 字段匹配。该字段值必须与 ManagedPropertytype 兼容:

typeJSON 值
BOOLtruefalse
STRINGstring
INTEGERnumber
CHOICEstring
MULTISELECT字符串数组
HIDDENstring
BUNDLE_ARRAY对象的数组

disabled

boolean

应用是否已停用。停用后,系统仍会保留应用数据。

minimumVersionCode

integer

设备上运行的应用的最低版本。如果已设置,设备会尝试将应用更新到至少此版本代码。如果应用不是最新版本,设备将包含 NonComplianceDetail,并将 nonComplianceReason 设置为 APP_NOT_UPDATED。该应用必须已发布到 Google Play,且版本代码大于或等于此值。最多可为每个政策指定 20 个应用的最低版本代码。

delegatedScopes[]

enum (DelegatedScope)

从 Android Device Policy 委托给应用的范围。这些权限能够为所应用的应用提供额外的权限。

managedConfigurationTemplate

object (ManagedConfigurationTemplate)

应用的托管配置模板,保存自托管配置 iframe。如果设置了 managedConfiguration,则忽略此字段。

accessibleTrackIds[]

string

企业设备可以访问的应用轨道 ID 列表。如果该列表包含多个轨道 ID,设备会收到所有可访问轨道中的最新版本。如果该列表不包含轨道 ID,则表示设备只能访问应用的正式版轨道。如需详细了解每首曲目,请访问 AppTrackInfo

connectedWorkAndPersonalApp

enum (ConnectedWorkAndPersonalApp)

控制应用能否在用户同意的情况下,通过设备的工作资料和个人资料与自身通信。

autoUpdateMode

enum (AutoUpdateMode)

控制应用的自动更新模式。

extensionConfig

object (ExtensionConfig)

配置以启用此应用作为扩展应用,并能够与 Android Device Policy 离线交互。

最多只能为 1 个应用设置此字段。

alwaysOnVpnLockdownExemption

enum (AlwaysOnVpnLockdownExemption)

指定在未连接 VPN 且启用 alwaysOnVpnPackage.lockdownEnabled 的情况下,是否允许应用连接网络。如果设置为 VPN_LOCKDOWN_ENFORCED,则应用不允许联网;如果设置为 VPN_LOCKDOWN_EXEMPTION,则允许应用联网。仅适用于搭载 Android 10 及更高版本的设备。如果设备不支持此操作,则设备将包含 nonComplianceReason 设置为 API_LEVELNonComplianceDetail,以及 fieldPath。如果这种做法不适用于应用,则设备将包含 nonComplianceReason 设置为 UNSUPPORTEDNonComplianceDetail 和 fieldPath。fieldPath 已设置为 applications[i].alwaysOnVpnLockdownExemption,其中 i 是软件包在 applications 政策中的索引。

workProfileWidgets

enum (WorkProfileWidgets)

指定是否允许工作资料中安装的应用向主屏幕添加 widget。

credentialProviderPolicy

enum (CredentialProviderPolicy)

可选。在 Android 14 及更高版本上,是否允许应用充当凭据提供程序。

installConstraint[]

object (InstallConstraint)

可选。安装应用的约束条件。您最多可以指定一个 InstallConstraint。多个约束条件会被拒绝。

installPriority

integer

可选。在“installType”设为以下状态的应用之间:

用于控制安装的相对优先级。值为 0(默认值)表示此应用的优先级高于其他应用。如果值在 1 到 10,000 之间,值越小表示优先级越高。系统会拒绝 0 至 10,000(含 0 和 10,000)范围之外的值。

InstallType

针对应用执行的安装类型。如果 setupAction 引用了应用,则必须将 installType 设置为 REQUIRED_FOR_SETUP,否则设置将失败。

枚举
INSTALL_TYPE_UNSPECIFIED 未指定。默认为 AVAILABLE。
PREINSTALLED 应用会自动安装,并且可以由用户移除。
FORCE_INSTALLED 无论是否设置了维护窗口,应用都会自动安装,并且无法由用户移除。
BLOCKED 该应用已被屏蔽,无法安装。如果应用是按照之前的政策安装的,系统会卸载该应用。这也会阻止其免安装应用功能。
AVAILABLE 应用可以安装。
REQUIRED_FOR_SETUP 应用会自动安装,并且用户无法移除,并且在安装完成之前会阻止设置完成。
KIOSK 该应用会在自助服务终端模式下自动安装:系统会将其设为首选主屏幕 intent,并列入锁定任务模式白名单。只有在安装应用后才能完成设备设置。安装后,用户将无法移除该应用。每项政策只能为一个应用设置此installType。如果此政策出现在此政策中,状态栏将被自动停用。

PermissionPolicy

用于向应用授予权限请求的政策。

枚举
PERMISSION_POLICY_UNSPECIFIED 未指定政策。如果没有为任何级别的权限指定政策,则系统会默认使用 PROMPT 行为。
PROMPT 提示用户授予权限。
GRANT

自动授予权限。

在 Android 12 及更高版本中,只能在完全受管设备上授予 Manifest.permission.READ_SMS 和以下传感器相关权限:

DENY 自动拒绝某项权限。

PermissionGrant

Android 权限及其授予状态的配置。

JSON 表示法
{
  "permission": string,
  "policy": enum (PermissionPolicy)
}
字段
permission

string

Android 权限或组,例如 android.permission.READ_CALENDARandroid.permission_group.CALENDAR

policy

enum (PermissionPolicy)

用于授予权限的政策。

DelegatedScope

其他软件包可以从 Android Device Policy 获取的委托范围。这些权限能够为所应用的应用提供额外的权限。

范围可应用于多个应用,但 SECURITY_LOGS 和 NETWORK_ACTIVITY_LOGS 除外,它们一次只能委托给一个应用。

枚举
DELEGATED_SCOPE_UNSPECIFIED 未指定委托范围。
CERT_INSTALL 授予安装和管理证书的权限。
MANAGED_CONFIGURATIONS 可授予托管配置管理权限。
BLOCK_UNINSTALL 授予阻止卸载的权限。
PERMISSION_GRANT 授予对权限政策和权限授予状态的访问权限。
PACKAGE_ACCESS 授予对软件包访问权限状态的访问权限。
ENABLE_SYSTEM_APP 授予启用系统应用的权限。
NETWORK_ACTIVITY_LOGS 授予对网络活动日志的访问权限。允许委托的应用调用 setNetworkLoggingEnabledisNetworkLoggingEnabledretrieveNetworkLogs 方法。此范围最多只能委托给一个应用。搭载 Android 10 及更高版本的全代管式设备支持此功能。Android 12 及更高版本支持工作资料。如果支持并设置委托,系统会忽略 NETWORK_ACTIVITY_LOGS
SECURITY_LOGS 授予对安全日志的访问权限。允许委托的应用调用 setSecurityLoggingEnabledisSecurityLoggingEnabledretrieveSecurityLogsretrievePreRebootSecurityLogs 方法。此范围最多只能委托给一个应用。搭载 Android 12 及更高版本的全代管式设备和装有工作资料的公司自有设备支持此功能。如果支持并设置委托,系统会忽略 SECURITY_LOGS
CERT_SELECTION 可代表请求授权的应用授予选择 KeyChain 证书的权限。获得授权后,受委托的应用将开始收到 DelegatedAdminReceiver#onChoosePrivateKeyAlias。允许委托的应用调用 grantKeyPairToApprevokeKeyPairFromApp 方法。最多只能有一个应用具有此委托。如果将证书选择委托给应用,则 choosePrivateKeyRules 必须为空,而 privateKeySelectionEnabled 不会产生任何影响。

ManagedConfigurationTemplate

应用的托管配置模板,保存自托管配置 iframe

JSON 表示法
{
  "templateId": string,
  "configurationVariables": {
    string: string,
    ...
  }
}
字段
templateId

string

托管配置模板的 ID。

configurationVariables

map (key: string, value: string)

可选,包含为配置定义的 <key, value> 配置变量的映射。

包含一系列 "key": value 对的对象。示例:{ "name": "wrench", "mass": "1.3kg", "count": "3" }

ConnectedWorkAndPersonalApp

控制应用能否在用户同意的情况下跨资料与其自身通信。

枚举
CONNECTED_WORK_AND_PERSONAL_APP_UNSPECIFIED 未指定。默认为 CONNECTED_WORK_AND_PERSONAL_APPS_DISALLOWED。
CONNECTED_WORK_AND_PERSONAL_APP_DISALLOWED 默认。阻止应用跨资料通信。
CONNECTED_WORK_AND_PERSONAL_APP_ALLOWED 允许应用在征得用户同意后跨资料通信。

AutoUpdateMode

控制应用的自动更新模式。如果设备用户手动更改设备设置,则 AutoUpdateMode 会忽略这些选项,因为它优先。

枚举
AUTO_UPDATE_MODE_UNSPECIFIED 未指定。默认为 AUTO_UPDATE_DEFAULT
AUTO_UPDATE_DEFAULT

默认的更新模式。

应用会自动以低优先级进行更新,以尽可能减少对用户的影响。

当满足以下所有约束条件时,应用便会更新:

  • 设备未在使用中。
  • 设备已连接到不按流量计费的网络。
  • 设备正在充电。
  • 要更新的应用未在前台运行。

设备会在开发者发布更新后的 24 小时内收到通知,之后应用会在下次满足上述限制条件时进行更新。

AUTO_UPDATE_POSTPONED

在过期后最多 90 天内,应用不会自动更新。

应用过旧 90 天后,系统会自动以低优先级自动安装最新的可用版本(参见 AUTO_UPDATE_DEFAULT)。应用更新后,要等到其再次过期 90 天后才会再次自动更新。

用户仍然可以随时从 Play 商店手动更新应用。

AUTO_UPDATE_HIGH_PRIORITY

系统会尽快更新应用。未应用任何限制条件。

有新的更新可用后,设备会立即收到通知。

ExtensionConfig

用于使应用成为扩展应用的配置,并能够与 Android Device Policy 离线交互。对于 Android 13 及更高版本,扩展程序应用不受电池限制,因此不会放入受限应用待机模式存储分区。扩展程序应用也会受到保护,以防止用户清除其数据或强制关闭应用;但如果对于 Android 13 及更高版本,管理员可以继续对扩展程序应用使用清除应用数据命令

JSON 表示法
{
  "signingKeyFingerprintsSha256": [
    string
  ],
  "notificationReceiver": string
}
字段
signingKeyFingerprintsSha256[]

string

扩展应用的签名证书的十六进制编码 SHA-256 哈希。只有 64 个字符的十六进制字符串表示形式有效。

如果未指定,系统会改为从 Play 商店获取相应软件包名称的签名。

如果此列表为空,设备上的扩展程序应用的签名必须与从 Play 商店获取的签名一致,应用才能与 Android Device Policy 通信。

如果此列表不为空,设备上的扩展程序应用的签名必须与此列表中的一个条目匹配,该应用才能与 Android Device Policy 通信。

在生产使用场景中,建议将此字段留空。

notificationReceiver

string

Android Device Policy 的接收器服务类的完全限定类名称,用于通知扩展应用所有本地命令状态更新。

AlwaysOnVpnLockdownExemption

控制应用是否无需遵守 alwaysOnVpnPackage.lockdownEnabled 设置。

枚举
ALWAYS_ON_VPN_LOCKDOWN_EXEMPTION_UNSPECIFIED 未指定。默认为 VPN_LOCKDOWN_ENFORCED
VPN_LOCKDOWN_ENFORCED 应用遵循始终开启的 VPN 锁定设置。
VPN_LOCKDOWN_EXEMPTION 应用不受始终开启的 VPN 锁定设置的约束。

WorkProfileWidgets

控制是否允许工作资料应用向主屏幕添加 widget。

枚举
WORK_PROFILE_WIDGETS_UNSPECIFIED 未指定。默认设置为 workProfileWidgetsDefault
WORK_PROFILE_WIDGETS_ALLOWED 允许使用工作资料微件。这意味着该应用将能够向主屏幕添加微件。
WORK_PROFILE_WIDGETS_DISALLOWED 不允许使用工作资料微件。这意味着应用将无法向主屏幕添加微件。

CredentialProviderPolicy

在 Android 14 及更高版本上,是否允许应用充当凭据提供程序。

枚举
CREDENTIAL_PROVIDER_POLICY_UNSPECIFIED 未指定。此行为受 credentialProviderPolicyDefault 的约束。
CREDENTIAL_PROVIDER_ALLOWED 允许应用充当凭据提供程序。

InstallConstraint

在“InstallType”设为以下状态的应用之间:

定义了一组应用安装限制。必须至少设置其中一个字段。如果设置多个字段,则需满足所有约束条件才能安装应用。

JSON 表示法
{
  "networkTypeConstraint": enum (NetworkTypeConstraint),
  "chargingConstraint": enum (ChargingConstraint),
  "deviceIdleConstraint": enum (DeviceIdleConstraint)
}
字段
networkTypeConstraint

enum (NetworkTypeConstraint)

可选。网络类型限制条件。

chargingConstraint

enum (ChargingConstraint)

可选。充电限制。

deviceIdleConstraint

enum (DeviceIdleConstraint)

可选。设备空闲限制条件。

NetworkTypeConstraint

网络类型限制条件。

枚举
NETWORK_TYPE_CONSTRAINT_UNSPECIFIED 未指定。默认为 INSTALL_ON_ANY_NETWORK
INSTALL_ON_ANY_NETWORK 任何活跃网络(Wi-Fi、移动网络等)。
INSTALL_ONLY_ON_UNMETERED_NETWORK 任何不按流量计费的网络(如 Wi-Fi)。

ChargingConstraint

充电限制。

枚举
CHARGING_CONSTRAINT_UNSPECIFIED 未指定。默认为 CHARGING_NOT_REQUIRED
CHARGING_NOT_REQUIRED 设备不一定需要充电。
INSTALL_ONLY_WHEN_CHARGING 设备必须充电。

DeviceIdleConstraint

设备空闲状态限制条件。

枚举
DEVICE_IDLE_CONSTRAINT_UNSPECIFIED 未指定。默认为 DEVICE_IDLE_NOT_REQUIRED
DEVICE_IDLE_NOT_REQUIRED 设备不必处于空闲状态,用户可以在用户与设备互动时安装应用。
INSTALL_ONLY_WHEN_DEVICE_IDLE 设备必须处于空闲状态。

KeyguardDisabledFeature

可以停用的锁屏(锁定屏幕)功能。

枚举
KEYGUARD_DISABLED_FEATURE_UNSPECIFIED 系统会忽略此值。
CAMERA 在安全的锁屏界面(例如 PIN 码)上停用摄像头。
NOTIFICATIONS 禁止在安全的锁屏屏幕上显示所有通知。
UNREDACTED_NOTIFICATIONS 停用安全的键盘锁屏幕上的未隐去通知。
TRUST_AGENTS 忽略安全锁屏屏幕上的可信代理状态。
DISABLE_FINGERPRINT 在安全的键盘锁屏幕上停用指纹传感器。
DISABLE_REMOTE_INPUT 在搭载 Android 6 及更低版本的设备上,在安全的锁屏屏幕上禁止通过文字输入通知。对 Android 7 及更高版本没有任何影响。
FACE 在安全的键盘锁屏幕上停用人脸识别身份验证。
IRIS 在安全的键盘锁屏幕上停用虹膜身份验证。
BIOMETRICS 在锁屏保护屏幕上停用所有生物识别身份验证。
SHORTCUTS 在 Android 14 及更高版本上,停用键盘锁屏幕中的所有快捷键。
ALL_FEATURES 停用当前和未来的所有键盘锁自定义。

PersistentPreferredActivity

用于处理与特定 intent 过滤器匹配的 intent 的默认 activity。注意:如需设置自助服务终端,请将 InstallType 设置为 KIOSK,而不是使用永久性首选 activity。

JSON 表示法
{
  "receiverActivity": string,
  "actions": [
    string
  ],
  "categories": [
    string
  ]
}
字段
receiverActivity

string

应作为默认 intent 处理程序的 activity。这应是一个 Android 组件名称,例如 com.android.enterprise.app/.MainActivity。或者,该值也可能是应用的软件包名称,这会导致 Android Device Policy 从应用中选择适当的 activity 来处理 intent。

actions[]

string

要在过滤器中匹配的 intent 操作。如果过滤器中包含任何操作,那么 intent 的操作必须是这些值之一才能匹配的值。如果未包含任何操作,系统会忽略 intent 操作。

categories[]

string

要在过滤器中匹配的 intent 类别。intent 包含其需要的类别,为了匹配,必须将所有类别包含在过滤器中。换言之,向过滤器添加类别不会影响匹配,除非在 intent 中指定了该类别。

SystemUpdate

系统更新管理系统的配置

JSON 表示法
{
  "type": enum (SystemUpdateType),
  "startMinutes": integer,
  "endMinutes": integer,
  "freezePeriods": [
    {
      object (FreezePeriod)
    }
  ]
}
字段
type

enum (SystemUpdateType)

要配置的系统更新类型。

startMinutes

integer

如果类型为 WINDOWED,则表示维护窗口的开始时间,以设备的当地时间午夜后经过的分钟数来衡量。此值必须介于 0 和 1439 之间(含 0 和 1439)。

endMinutes

integer

如果类型为 WINDOWED,则表示维护期结束,以设备当地时间午夜后经过的分钟数衡量。此值必须介于 0 和 1439 之间(含 0 和 1439)。如果此值小于 startMinutes,则维护期跨越午夜。如果指定的维护窗口短于 30 分钟,则实际窗口会延长至开始时间之后的 30 分钟。

freezePeriods[]

object (FreezePeriod)

每年重复一次的时间段,在此期间,无线下载 (OTA) 系统更新都会推迟,以冻结设备上运行的操作系统版本。为防止设备无限期冻结,每个冻结期必须至少间隔 60 天。

SystemUpdateType

系统更新配置的类型。

枚举
SYSTEM_UPDATE_TYPE_UNSPECIFIED 遵循设备的默认更新行为,这通常需要用户接受系统更新。
AUTOMATIC 有更新时,自动安装。
WINDOWED

在每日维护期内自动安装。此操作还会将 Play 应用配置为在窗口中更新。对于自助服务终端设备,强烈建议您执行此操作,因为这是 Play 更新永久固定到前台的应用的唯一方式。

如果将某个应用的 autoUpdateMode 设置为 AUTO_UPDATE_HIGH_PRIORITY,则系统会忽略该应用的维护窗口,并尽快进行更新,即使不在维护窗口期内。

POSTPONE 将自动安装最多推迟 30 天。此政策不会影响安全更新(例如每月安全更新)。

FreezePeriod

系统冻结期。当设备的时钟处于冻结期内,系统会屏蔽所有传入的系统更新(包括安全补丁),并且不会安装这些更新。

当设备处于任何设定的冻结期之外时,系统会应用常规的政策行为(自动、窗口化或推迟)。

在计算冻结期时,系统会忽略闰年,尤其是:

  • 如果您将 2 月 29 日设置为冻结期的开始或结束日期,则冻结期将在 2 月 28 日开始或结束。
  • 如果设备的系统时钟显示为 2 月 29 日,则会被视为 2 月 28 日。
  • 计算冻结期的天数或两个冻结期之间的天数时,2 月 29 日会被忽略,不计为一天。

注意:为使冻结期生效,不能将 SystemUpdateType 指定为 SYSTEM_UPDATE_TYPE_UNSPECIFIED,因为冻结期需要指定已定义的政策。

JSON 表示法
{
  "startDate": {
    object (Date)
  },
  "endDate": {
    object (Date)
  }
}
字段
startDate

object (Date)

冻结期的开始日期(含此日期)。注意:不得设置 year。例如 {"month": 1,"date": 30}

endDate

object (Date)

冻结期的结束日期(含此日期)。不得晚于自开始日期起 90 天。如果结束日期早于开始日期,系统会将冻结期视为封装年终。注意:不得设置 year。例如 {"month": 1,"date": 30}

日期

表示整个或部分日历日期,例如生日。时段和时区要么在别处指定,要么不重要。该日期相对于公历。这可能表示以下类型之一:

  • 包含非零年、月和日值的完整日期。
  • 年份和月份,年份为 0(例如周年纪念日)。
  • 单独的一年,零月和零日。
  • 年份和月份,日期为 0(例如,信用卡失效日期)。

相关类型:

JSON 表示法
{
  "year": integer,
  "month": integer,
  "day": integer
}
字段
year

integer

日期。必须介于 1 到 9999 之间,如果为 0,则可以指定不带年份的日期。

month

integer

一年中的月。必须是 1 到 12 之间的数字,如果输入 0,则不指定月份和日期。

day

integer

一个月中的第几天。必须是 1 到 31 之间的数字,并且对于年份和月份有效,如果为 0,则表示只指定年份;如果日期不重要,则直接指定年份和月份。

StatusReportingSettings

用于控制状态报告行为的设置。

JSON 表示法
{
  "applicationReportsEnabled": boolean,
  "deviceSettingsEnabled": boolean,
  "softwareInfoEnabled": boolean,
  "memoryInfoEnabled": boolean,
  "networkInfoEnabled": boolean,
  "displayInfoEnabled": boolean,
  "powerManagementEventsEnabled": boolean,
  "hardwareStatusEnabled": boolean,
  "systemPropertiesEnabled": boolean,
  "applicationReportingSettings": {
    object (ApplicationReportingSettings)
  },
  "commonCriteriaModeEnabled": boolean
}
字段
applicationReportsEnabled

boolean

是否启用了应用报告

deviceSettingsEnabled

boolean

是否启用了设备设置报告功能。

softwareInfoEnabled

boolean

是否启用了软件信息报告。

memoryInfoEnabled

boolean

是否启用了内存事件报告。

networkInfoEnabled

boolean

是否启用了网络信息报告功能。

displayInfoEnabled

boolean

是否启用了展示广告报告功能。无法为装有工作资料的个人自有设备提供报告数据。

powerManagementEventsEnabled

boolean

是否启用了电源管理事件报告功能。无法为装有工作资料的个人自有设备提供报告数据。

hardwareStatusEnabled

boolean

是否启用硬件状态报告功能。无法为装有工作资料的个人自有设备提供报告数据。

systemPropertiesEnabled

boolean

是否启用了系统属性报告功能。

applicationReportingSettings

object (ApplicationReportingSettings)

应用报告设置。仅在 applicationReportsEnabled 为 true 时适用。

commonCriteriaModeEnabled

boolean

是否启用了 Common Criteria Mode 报告。

ApplicationReportingSettings

用于控制应用报告行为的设置。

JSON 表示法
{
  "includeRemovedApps": boolean
}
字段
includeRemovedApps

boolean

是否在应用报告中纳入已移除的应用。

PackageNameList

软件包名称列表。

JSON 表示法
{
  "packageNames": [
    string
  ]
}
字段
packageNames[]

string

软件包名称列表。

BatteryPluggedMode

各种充电模式。

枚举
BATTERY_PLUGGED_MODE_UNSPECIFIED 系统会忽略此值。
AC 电源是交流电源充电器。
USB 电源是 USB 端口。
WIRELESS 电源为无线电源。

ProxyInfo

HTTP 代理的配置信息。对于直接代理,请设置 hostportexcludedHosts 字段。对于 PAC 脚本代理,请设置 pacUri 字段。

JSON 表示法
{
  "host": string,
  "port": integer,
  "excludedHosts": [
    string
  ],
  "pacUri": string
}
字段
host

string

直接代理的主机。

port

integer

直接代理的端口。

excludedHosts[]

string

对于直接代理,会绕过代理的主机。主机名可能包含通配符,例如 *.example.com。

pacUri

string

用于配置代理的 PAC 脚本的 URI。

ChoosePrivateKeyRule

控制应用对私钥的访问权限。该规则可确定 Android Device Policy 向指定应用授予哪个私钥(如果有)。当应用调用 KeyChain.choosePrivateKeyAlias(或任何重载)以请求给定网址的私钥别名时,或并非特定于网址的规则(即,如果 urlPattern 未设置或设为空字符串或 .*)在 Android 11 及更高版本中直接授予相关权限,以便应用无需先调用 KeyChain.choosePrivateKeyAlias 即可调用 KeyChain.getPrivateKey

当应用调用 KeyChain.choosePrivateKeyAlias 时,如果有多个 choosePrivateKeyRules 匹配,则最后一个匹配规则将定义要返回的键别名。

JSON 表示法
{
  "urlPattern": string,
  "packageNames": [
    string
  ],
  "privateKeyAlias": string
}
字段
urlPattern

string

要与请求的网址匹配的网址格式。如果此政策未设置或为空,它将匹配所有网址。这使用正则表达式语法:java.util.regex.Pattern

packageNames[]

string

此规则适用的软件包名称。系统会对照 Play 提供的哈希验证每个应用的签名证书的哈希值。如果未指定软件包名称,系统会向所有调用 KeyChain.choosePrivateKeyAlias 或任何重载的应用提供别名(但不调用 KeyChain.choosePrivateKeyAlias,即使在 Android 11 及更高版本中也是如此)。与此处指定的软件包具有相同的 Android UID 的任何应用在调用 KeyChain.choosePrivateKeyAlias 时,都将具有访问权限。

privateKeyAlias

string

要使用的私钥的别名。

AlwaysOnVpnPackage

始终开启的 VPN 连接的配置。

JSON 表示法
{
  "packageName": string,
  "lockdownEnabled": boolean
}
字段
packageName

string

VPN 应用的软件包名称。

lockdownEnabled

boolean

禁止在未连接 VPN 时联网。

LocationMode

工作资料和完全受管设备上启用位置检测的程度。

枚举
LOCATION_MODE_UNSPECIFIED 默认为 LOCATION_USER_CHOICE
HIGH_ACCURACY

在 Android 8 及更低版本上,所有位置检测方法均已启用,包括 GPS、网络和其他传感器。在 Android 9 及更高版本中,这相当于 LOCATION_ENFORCED

SENSORS_ONLY

在 Android 8 及更低版本上,仅启用 GPS 和其他传感器。在 Android 9 及更高版本中,这相当于 LOCATION_ENFORCED

BATTERY_SAVING

在 Android 8 及更低版本中,仅启用网络位置信息提供程序。在 Android 9 及更高版本中,这相当于 LOCATION_ENFORCED

OFF

在 Android 8 及更低版本中,位置信息设置和精确度功能处于停用状态。在 Android 9 及更高版本中,这相当于 LOCATION_DISABLED

LOCATION_USER_CHOICE 此设备的位置信息设置不受限制。没有设置或强制执行特定行为。
LOCATION_ENFORCED 在设备上启用位置信息设置。
LOCATION_DISABLED 停用设备上的位置信息设置。

ComplianceRule

一条规则,用于声明当设备不符合政策时要采取哪些缓解措施。对于每条规则,始终都会有一项隐式缓解操作:针对 Device 资源将 policyCompliant 设为 false,并在设备上显示一条消息,指明设备不符合其政策。您也可以选择执行其他缓解操作,具体取决于规则中的字段值。

JSON 表示法
{
  "disableApps": boolean,
  "packageNamesToDisable": [
    string
  ],

  // Union field condition can be only one of the following:
  "nonComplianceDetailCondition": {
    object (NonComplianceDetailCondition)
  },
  "apiLevelCondition": {
    object (ApiLevelCondition)
  }
  // End of list of possible types for union field condition.
}
字段
disableApps

boolean

如果设为 true,该规则会包含用于停用应用的缓解操作,以便设备有效停用,但应用数据会保留下来。如果设备在锁定任务模式下运行应用,该应用将关闭,并且界面上会显示违规原因。

packageNamesToDisable[]

string

如果已设置,该规则会包含一项缓解操作,以停用列表中指定的应用,但会保留应用数据。

联合字段 condition。该条件满足后会触发规则中定义的缓解操作。必须且只能设置其中一个条件。condition 只能是下列其中一项:
nonComplianceDetailCondition

object (NonComplianceDetailCondition)

如果设备存在任何匹配的 NonComplianceDetail,则满足的条件。

apiLevelCondition

object (ApiLevelCondition)

如果设备上的 Android Framework API 级别不符合最低要求,则满足的条件。

NonComplianceDetailCondition

满足合规性规则条件(如果设备存在任何匹配的 NonComplianceDetail)。如果在 NonComplianceDetailCondition 中设置的所有字段都与相应的 NonComplianceDetail 字段匹配,则 NonComplianceDetailNonComplianceDetailCondition 匹配。

JSON 表示法
{
  "settingName": string,
  "nonComplianceReason": enum (NonComplianceReason),
  "packageName": string
}
字段
settingName

string

政策设置的名称。这是顶级 Policy 字段的 JSON 字段名称。如果未设置,此条件将与任何设置名称匹配。

nonComplianceReason

enum (NonComplianceReason)

设备不符合相关设置的原因。如果未设置,则此条件匹配任何原因。

packageName

string

不符合政策规定的应用的软件包名称。如果未设置,此条件将与任何软件包名称匹配。

ApiLevelCondition

当设备上的 Android Framework API 级别不符合最低要求时,满足的合规性规则条件。每项政策只能有一条具有此类条件的规则。

JSON 表示法
{
  "minApiLevel": integer
}
字段
minApiLevel

integer

所需的最低 Android 框架 API 级别。如果设备不符合最低要求,则满足此条件。必须大于零。

AppAutoUpdatePolicy

建议的替代方案:autoUpdateMode(针对具体应用设置),可提高更新频率的灵活性。

autoUpdateMode 设置为 AUTO_UPDATE_POSTPONEDAUTO_UPDATE_HIGH_PRIORITY 时,此字段无效。

应用自动更新政策,用于控制何时可以应用自动更新。

枚举
APP_AUTO_UPDATE_POLICY_UNSPECIFIED 未设置自动更新政策。等同于 CHOICE_TO_THE_USER
CHOICE_TO_THE_USER 用户可以控制自动更新。
NEVER 应用永不自动更新。
WIFI_ONLY 应用仅通过 Wi-Fi 自动更新。
ALWAYS 应用会随时自动更新。这可能会产生流量费。

AppTrack

Google Play 应用发布轨道。

枚举
APP_TRACK_UNSPECIFIED 系统会忽略此值。
PRODUCTION 正式版轨道,提供最新的稳定版。
BETA Beta 版轨道,提供最新的 Beta 版。

EncryptionPolicy

加密类型

枚举
ENCRYPTION_POLICY_UNSPECIFIED 系统会忽略此值,即无需加密
ENABLED_WITHOUT_PASSWORD 需要加密,但无需密码即可启动
ENABLED_WITH_PASSWORD 需要加密才能启动设备并输入密码

PlayStoreMode

“Play 商店模式”政策的可能值。

枚举
PLAY_STORE_MODE_UNSPECIFIED 未指定。默认为 WHITELIST。
WHITELIST 只有此政策中涵盖的应用可用,且任何未受此政策的应用都将自动从设备上卸载。
BLACKLIST 所有应用都可用,任何不应在设备上安装的应用都应在 applications 政策中明确标记为“已屏蔽”。

SetupAction

在设置期间执行的操作。

JSON 表示法
{
  "title": {
    object (UserFacingMessage)
  },
  "description": {
    object (UserFacingMessage)
  },

  // Union field action can be only one of the following:
  "launchApp": {
    object (LaunchAppAction)
  }
  // End of list of possible types for union field action.
}
字段
title

object (UserFacingMessage)

此操作的标题。

description

object (UserFacingMessage)

此操作的说明。

联合字段 action。在设置期间执行的操作。action 只能是下列其中一项:
launchApp

object (LaunchAppAction)

用于启动应用的操作。该应用将通过一个包含 extra 的 intent 启动,该 extra 的键 com.google.android.apps.work.clouddpc.EXTRA_LAUNCHED_AS_SETUP_ACTION 设置为布尔值 true,以表明这是一个设置操作流程。如果 SetupAction 引用某个应用,则必须将应用政策中的相应 installType 设置为 REQUIRED_FOR_SETUP,否则上述设置将失败。

LaunchAppAction

用于启动应用的操作。

JSON 表示法
{

  // Union field launch can be only one of the following:
  "packageName": string
  // End of list of possible types for union field launch.
}
字段
联合字段 launch。要执行的启动操作的说明 launch 只能是下列其中一项:
packageName

string

要启动的应用的软件包名称

PolicyEnforcementRule

一条规则,用于指定在设备或工作资料不符合 settingName 中指定的政策时要执行的操作。如果有多个强制执行规则或触发了多个强制执行规则,系统将进行合并,并执行最严重的处置措施。不过,系统仍会跟踪所有触发的规则,其中包括初始触发时间和所有相关的违规详情。在满足最严格的违规处置规则的情况下,将应用下一个最合适的措施。

JSON 表示法
{
  "blockAction": {
    object (BlockAction)
  },
  "wipeAction": {
    object (WipeAction)
  },

  // Union field trigger can be only one of the following:
  "settingName": string
  // End of list of possible types for union field trigger.
}
字段
blockAction

object (BlockAction)

用于禁止访问公司自有设备或工作资料中的应用和数据的操作。此操作还会触发面向用户的通知,其中包含有关如何纠正合规性问题的信息(如果可能)。注意:还必须指定 wipeAction

wipeAction

object (WipeAction)

用于重置公司自有设备或删除工作资料的操作。注意:还必须指定 blockAction

联合字段 trigger。会触发此规则的条件。trigger 只能是下列其中一项:
settingName

string

要强制执行的顶级政策。例如,applicationspasswordPolicies

BlockAction

一项操作,用于禁止访问完全受管设备或工作资料中的应用和数据。此操作还会触发设备或工作资料显示面向用户的通知,其中会尽可能提供关于如何纠正合规性问题的信息。注意:还必须指定 wipeAction

JSON 表示法
{
  "blockAfterDays": integer,
  "blockScope": enum (BlockScope)
}
字段
blockAfterDays

integer

设备或工作资料在多少天后不符合政策。如需立即禁止访问,请设为 0。“blockAfterDays”必须小于 wipeAfterDays

blockScope

enum (BlockScope)

指定此 BlockAction 的范围。此设置仅适用于公司自有设备。

BlockScope

指定 BlockAction 的范围。此设置仅适用于公司自有设备。

枚举
BLOCK_SCOPE_UNSPECIFIED 未指定。默认为 BLOCK_SCOPE_WORK_PROFILE
BLOCK_SCOPE_WORK_PROFILE 屏蔽操作只会应用于工作资料中的应用。个人资料中的应用不受影响。
BLOCK_SCOPE_DEVICE 屏蔽操作会应用于整个设备,包括个人资料中的应用。

WipeAction

用于重置公司自有设备或删除工作资料的操作。注意:还必须指定 blockAction

JSON 表示法
{
  "wipeAfterDays": integer,
  "preserveFrp": boolean
}
字段
wipeAfterDays

integer

设备或工作资料在多少天后不符合政策,才会被擦除。“wipeAfterDays”必须大于 blockAfterDays

preserveFrp

boolean

是否在设备上保留恢复出厂设置保护数据。此设置不适用于工作资料。

KioskCustomization

用于控制自助服务终端模式下设备行为的设置。要启用自助服务终端模式,请将 kioskCustomLauncherEnabled 设为 true,或使用 installType KIOSK 在政策中指定应用。

JSON 表示法
{
  "powerButtonActions": enum (PowerButtonActions),
  "systemErrorWarnings": enum (SystemErrorWarnings),
  "systemNavigation": enum (SystemNavigation),
  "statusBar": enum (StatusBar),
  "deviceSettings": enum (DeviceSettings)
}
字段
powerButtonActions

enum (PowerButtonActions)

设置处于自助服务终端模式的设备在用户按住(长按)电源按钮时的行为。

systemErrorWarnings

enum (SystemErrorWarnings)

指定在自助服务终端模式下是否屏蔽关于崩溃或无响应的应用的系统错误对话框。屏蔽后,系统会强行停止应用,就像用户在界面中选择了“关闭应用”选项一样。

systemNavigation

enum (SystemNavigation)

指定在自助服务终端模式下启用哪些导航功能(如主屏幕、“概览”按钮)。

statusBar

enum (StatusBar)

指定在自助服务终端模式下是否停用系统信息和通知。

deviceSettings

enum (DeviceSettings)

指定是否允许在自助服务终端模式下使用“设置”应用。

PowerButtonActions

设置处于自助服务终端模式的设备在用户按住(长按)电源按钮时的行为。

枚举
POWER_BUTTON_ACTIONS_UNSPECIFIED 未指定,默认为 POWER_BUTTON_AVAILABLE
POWER_BUTTON_AVAILABLE 当用户在自助服务终端模式下长按设备的电源按钮时,系统会显示电源菜单(例如“关机”、“重启”)。
POWER_BUTTON_BLOCKED 当用户在自助服务终端模式下长按设备的电源按钮时,系统不会显示电源菜单(例如“关机”、“重启”)。注意:这可能会阻止用户关闭设备。

SystemErrorWarnings

指定在自助服务终端模式下是否屏蔽关于崩溃或无响应的应用的系统错误对话框。

枚举
SYSTEM_ERROR_WARNINGS_UNSPECIFIED 未指定,默认为 ERROR_AND_WARNINGS_MUTED
ERROR_AND_WARNINGS_ENABLED 系统会显示所有系统错误对话框,例如崩溃和应用无响应 (ANR)。
ERROR_AND_WARNINGS_MUTED 系统会屏蔽所有系统错误对话框,例如崩溃和应用无响应 (ANR)。被屏蔽后,系统会强行停止应用,就像用户从界面关闭应用一样。

SystemNavigation

指定在自助服务终端模式下启用哪些导航功能(如主屏幕、“概览”按钮)。

枚举
SYSTEM_NAVIGATION_UNSPECIFIED 未指定,默认为 NAVIGATION_DISABLED
NAVIGATION_ENABLED 已启用“主页”和“概览”按钮。
NAVIGATION_DISABLED 无法使用“主页”和“概览”按钮。
HOME_BUTTON_ONLY 只有主屏幕按钮处于启用状态。

StatusBar

指定在自助服务终端模式下是否停用系统信息和通知。

枚举
STATUS_BAR_UNSPECIFIED 未指定,默认为 INFO_AND_NOTIFICATIONS_DISABLED
NOTIFICATIONS_AND_SYSTEM_INFO_ENABLED

在自助服务终端模式中,系统信息和通知会显示在状态栏上。

注意:为使此政策生效,必须使用 kioskCustomization.systemNavigation 启用设备的主屏幕按钮。

NOTIFICATIONS_AND_SYSTEM_INFO_DISABLED 在自助服务终端模式下,系统会停用系统信息和通知。
SYSTEM_INFO_ONLY 状态栏上仅显示系统信息。

DeviceSettings

指定用户是否可以在自助服务终端模式下访问设备的“设置”应用。

枚举
DEVICE_SETTINGS_UNSPECIFIED 未指定,默认为 SETTINGS_ACCESS_ALLOWED
SETTINGS_ACCESS_ALLOWED 可在自助服务终端模式下访问“设置”应用。
SETTINGS_ACCESS_BLOCKED 自助服务终端模式下不允许访问“设置”应用。

AdvancedSecurityOverrides

高级安全设置。在大多数情况下,您无需进行这些设置。

JSON 表示法
{
  "untrustedAppsPolicy": enum (UntrustedAppsPolicy),
  "googlePlayProtectVerifyApps": enum (GooglePlayProtectVerifyApps),
  "developerSettings": enum (DeveloperSettings),
  "commonCriteriaMode": enum (CommonCriteriaMode),
  "personalAppsThatCanReadWorkNotifications": [
    string
  ],
  "mtePolicy": enum (MtePolicy)
}
字段
untrustedAppsPolicy

enum (UntrustedAppsPolicy)

在设备上强制执行的不受信任的应用(来自未知来源的应用)的政策。取代了“installUnknownSourcesAllowed (deprecated).

googlePlayProtectVerifyApps

enum (GooglePlayProtectVerifyApps)

是否强制执行 Google Play 保护机制验证。取代 ensureVerifyAppsEnabled(已废弃)。

developerSettings

enum (DeveloperSettings)

控制对开发者设置的访问权限:“开发者选项”和安全启动。取代了 safeBootDisabled(已废弃)和 debuggingFeaturesAllowed(已废弃)。

commonCriteriaMode

enum (CommonCriteriaMode)

控制 Common Criteria 模式(信息技术安全评估通用标准 (CC) 中定义的安全标准)。启用 Common Criteria 模式会增强设备上的某些安全组件,包括蓝牙长期密钥的 AES-GCM 加密和 Wi-Fi 配置存储区。

警告:通用标准模式会强制执行严格的安全模型,通常只有国家安全系统和其他高度敏感的组织使用的 IT 产品才需要使用该模型。标准设备的使用可能会受到影响。仅在必要时启用。

personalAppsThatCanReadWorkNotifications[]

string

可通过 NotificationListenerService 读取工作资料通知的个人应用。默认情况下,任何个人应用(系统应用除外)都无法读取工作通知。列表中的每个值都必须是软件包名称。

mtePolicy

enum (MtePolicy)

可选。控制设备上的内存标记扩展 (MTE)。需要重新启动设备才能将更改应用于 MTE 政策。

UntrustedAppsPolicy

在设备上强制执行的不受信任的应用(来自未知来源的应用)的政策。取代了“installUnknownSourcesAllowed (deprecated).

枚举
UNTRUSTED_APPS_POLICY_UNSPECIFIED 未指定。默认为 DISALLOW_INSTALL。
DISALLOW_INSTALL 默认。禁止在整个设备上安装不受信任的应用。
ALLOW_INSTALL_IN_PERSONAL_PROFILE_ONLY 对于具有工作资料的设备,仅允许在设备的个人资料中安装不受信任的应用。
ALLOW_INSTALL_DEVICE_WIDE 允许在整个设备上安装不受信任的应用。

GooglePlayProtectVerifyApps

是否强制执行 Google Play 保护机制验证。取代 ensureVerifyAppsEnabled(已废弃)。

枚举
GOOGLE_PLAY_PROTECT_VERIFY_APPS_UNSPECIFIED 未指定。默认为 VERIFY_APPS_ENFORCED。
VERIFY_APPS_ENFORCED 默认。强制启用应用验证。
VERIFY_APPS_USER_CHOICE 允许用户选择是否启用应用验证。

DeveloperSettings

控制对开发者设置的访问权限:“开发者选项”和安全启动。取代了 safeBootDisabled(已废弃)和 debuggingFeaturesAllowed(已废弃)。

枚举
DEVELOPER_SETTINGS_UNSPECIFIED 未指定。默认为 DEVELOPER_SETTINGS_DISABLED。
DEVELOPER_SETTINGS_DISABLED 默认。停用所有开发者设置,并阻止用户访问这些设置。
DEVELOPER_SETTINGS_ALLOWED 允许所有开发者设置。用户可以访问这些设置并视需要进行配置。

CommonCriteriaMode

控制 Common Criteria 模式(信息技术安全评估通用标准 (CC) 中定义的安全标准)。启用 Common Criteria 模式会增强设备上的某些安全组件,包括蓝牙长期密钥的 AES-GCM 加密和 Wi-Fi 配置存储区。

警告:通用标准模式会强制执行严格的安全模型,通常只有国家安全系统和其他高度敏感的组织使用的 IT 产品才需要使用该模型。标准设备的使用可能会受到影响。仅在必要时启用。如果在之前启用 Common Criteria 模式后将其关闭,则所有用户配置的 Wi-Fi 网络可能会丢失,并且所有需要用户输入的企业配置的 Wi-Fi 网络可能需要重新配置。

枚举
COMMON_CRITERIA_MODE_UNSPECIFIED 未指定。默认为 COMMON_CRITERIA_MODE_DISABLED。
COMMON_CRITERIA_MODE_DISABLED 默认。停用 Common Criteria 模式。
COMMON_CRITERIA_MODE_ENABLED 启用 Common Criteria 模式。

MtePolicy

控制设备上的内存标记扩展 (MTE)

枚举
MTE_POLICY_UNSPECIFIED 未指定。默认为 MTE_USER_CHOICE
MTE_USER_CHOICE 用户可以选择在设备上启用或停用 MTE(如果设备支持)。
MTE_ENFORCED

在设备上启用了 MTE,并且用户无法更改此设置。您可以在完全受管设备和公司自有设备上的工作资料中进行此设置。对于其他管理模式,系统会报告值为 MANAGEMENT_MODEnonComplianceDetail。如果设备不支持 MTE,系统会报告包含 DEVICE_INCOMPATIBLEnonComplianceDetail

适用于 Android 14 及更高版本。如果 Android 版本低于 14,系统会报告包含 API_LEVELnonComplianceDetail

MTE_DISABLED

设备已停用 MTE,且用户无法更改此设置。此设置仅适用于完全受管设备。在其他情况下,系统会报告值为 MANAGEMENT_MODEnonComplianceDetail。如果设备不支持 MTE,系统会报告包含 DEVICE_INCOMPATIBLEnonComplianceDetail

适用于 Android 14 及更高版本。如果 Android 版本低于 14,系统会报告包含 API_LEVELnonComplianceDetail

PersonalUsagePolicies

控制装有工作资料的公司自有设备上的个人使用情况的政策。

JSON 表示法
{
  "cameraDisabled": boolean,
  "screenCaptureDisabled": boolean,
  "accountTypesWithManagementDisabled": [
    string
  ],
  "maxDaysWithWorkOff": integer,
  "personalPlayStoreMode": enum (PlayStoreMode),
  "personalApplications": [
    {
      object (PersonalApplicationPolicy)
    }
  ]
}
字段
cameraDisabled

boolean

如果为 true,则会在个人资料上停用相机。

screenCaptureDisabled

boolean

如果为 true,系统会为所有用户停用屏幕截图功能。

accountTypesWithManagementDisabled[]

string

用户无法管理的账号类型。

maxDaysWithWorkOff

integer

控制工作资料可以保持关闭状态的时间。最短时长不得少于 3 天。其他详细信息如下:

  • 如果时长设置为 0,系统会关闭该功能。
  • 如果时长设置为小于时长下限的值,则特征会返回错误。
注意:如果您希望避免个人资料在长时间关闭后被暂停,则可以暂时将此参数设置为较大的值。

personalPlayStoreMode

enum (PlayStoreMode)

personalApplications 搭配使用,以控制允许或屏蔽个人资料中的应用。

personalApplications[]

object (PersonalApplicationPolicy)

应用于个人资料中应用的政策。

PlayStoreMode

personalApplications 搭配使用,以控制允许或屏蔽个人资料中的应用。

枚举
PLAY_STORE_MODE_UNSPECIFIED 未指定。默认为 BLOCKLIST
BLACKLIST

所有 Play 商店应用都可以安装在个人资料中,但installTypepersonalApplications中为BLOCKED的应用除外。

BLOCKLIST 所有 Play 商店应用都可以安装在个人资料中,但installTypepersonalApplications中为BLOCKED的应用除外。
ALLOWLIST 只允许在个人资料中安装 personalApplications 中明确指定并将 installType 设置为 AVAILABLE 的应用。

PersonalApplicationPolicy

适用于设有工作资料的公司自有设备的个人资料中应用的政策。

JSON 表示法
{
  "packageName": string,
  "installType": enum (InstallType)
}
字段
packageName

string

应用的软件包名称。

installType

enum (InstallType)

要执行的安装类型。

InstallType

个人资料应用可以具有的安装行为类型。

枚举
INSTALL_TYPE_UNSPECIFIED 未指定。默认为 AVAILABLE
BLOCKED 该应用已被屏蔽,无法在个人资料中安装。如果之前已安装在设备中的应用,系统会将其卸载。
AVAILABLE 该应用可在个人资料中安装。

AutoDateAndTimeZone

是否在公司自有设备上启用了自动日期、时间和时区功能。

枚举
AUTO_DATE_AND_TIME_ZONE_UNSPECIFIED 未指定。默认为 AUTO_DATE_AND_TIME_ZONE_USER_CHOICE
AUTO_DATE_AND_TIME_ZONE_USER_CHOICE 日期、时间和时区由用户自行选择。
AUTO_DATE_AND_TIME_ZONE_ENFORCED 强制在设备上自动设置日期、时间和时区。

OncCertificateProvider

此功能尚未正式发布。

JSON 表示法
{
  "certificateReferences": [
    string
  ],

  // Union field endpoint can be only one of the following:
  "contentProviderEndpoint": {
    object (ContentProviderEndpoint)
  }
  // End of list of possible types for union field endpoint.
}
字段
certificateReferences[]

string

此功能尚未正式发布。

联合字段 endpoint

此功能尚未正式发布。endpoint 只能是下列其中一项:

contentProviderEndpoint

object (ContentProviderEndpoint)

此功能尚未正式发布。

ContentProviderEndpoint

此功能尚未正式发布。

JSON 表示法
{
  "uri": string,
  "packageName": string,
  "signingCertsSha256": [
    string
  ]
}
字段
uri

string

此功能尚未正式发布。

packageName

string

此功能尚未正式发布。

signingCertsSha256[]

string

必需。此功能尚未正式发布。

CrossProfilePolicies

控制工作资料中的数据可通过个人资料访问,反之亦然。如果设备没有工作资料,系统会报告值为 MANAGEMENT_MODEnonComplianceDetail

JSON 表示法
{
  "showWorkContactsInPersonalProfile": enum (ShowWorkContactsInPersonalProfile),
  "crossProfileCopyPaste": enum (CrossProfileCopyPaste),
  "crossProfileDataSharing": enum (CrossProfileDataSharing),
  "workProfileWidgetsDefault": enum (WorkProfileWidgetsDefault),
  "exemptionsToShowWorkContactsInPersonalProfile": {
    object (PackageNameList)
  }
}
字段
showWorkContactsInPersonalProfile

enum (ShowWorkContactsInPersonalProfile)

个人应用是否可以访问工作资料中存储的联系人。

另请参阅 exemptionsToShowWorkContactsInPersonalProfile

crossProfileCopyPaste

enum (CrossProfileCopyPaste)

是否可以将从一份个人资料中复制的文字(个人资料或工作资料)粘贴到另一份资料中。

crossProfileDataSharing

enum (CrossProfileDataSharing)

一份个人资料(个人资料或工作资料)中的数据是否可以与另一份个人资料中的应用分享。具体而言,控制通过 intent 进行的简单数据共享。其他跨资料通信渠道(例如联系人搜索、复制/粘贴或关联的工作和个人应用)的管理需单独配置。

workProfileWidgetsDefault

enum (WorkProfileWidgetsDefault)

指定工作资料 widget 的默认行为。如果政策没有为特定应用指定 workProfileWidgets,则该应用的行为将取决于此处指定的值。

exemptionsToShowWorkContactsInPersonalProfile

object (PackageNameList)

ShowWorkContactsInPersonalProfile 设置中排除的应用的列表。如需设置此属性,必须将 ShowWorkContactsInPersonalProfile 设为以下某个值:

适用于 Android 14 及更高版本。如果 Android 版本低于 14,系统会报告包含 API_LEVELnonComplianceDetail

ShowWorkContactsInPersonalProfile

个人应用是否可以访问工作资料通讯录(包括联系人搜索和来电)

注意:一旦任何个人应用访问了工作联系人,就无法保证该联系人仍使用同一应用,因为此联系人可能会被分享或转移到任何其他应用,具体取决于所允许应用的行为。

枚举
SHOW_WORK_CONTACTS_IN_PERSONAL_PROFILE_UNSPECIFIED

未指定。默认为 SHOW_WORK_CONTACTS_IN_PERSONAL_PROFILE_ALLOWED

设置此值后,不得设置 exemptionsToShowWorkContactsInPersonalProfile

SHOW_WORK_CONTACTS_IN_PERSONAL_PROFILE_DISALLOWED

禁止个人应用访问工作资料通讯录和查找工作联系人。

启用此设置后,exemptionsToShowWorkContactsInPersonalProfile 中指定的个人应用会列入许可名单,可直接访问工作资料通讯录。

此设置适用于 Android 7.0 及更高版本。如果 Android 版本低于 7.0,系统会报告包含 API_LEVELnonComplianceDetail

SHOW_WORK_CONTACTS_IN_PERSONAL_PROFILE_ALLOWED

默认。允许个人资料中的应用访问工作资料通讯录,包括联系人搜索和来电。

启用此设置后,exemptionsToShowWorkContactsInPersonalProfile 中指定的个人应用将列入屏蔽名单,且无法直接访问工作资料通讯录。

此设置适用于 Android 7.0 及更高版本。如果 Android 版本低于 7.0,系统会报告包含 API_LEVELnonComplianceDetail

SHOW_WORK_CONTACTS_IN_PERSONAL_PROFILE_DISALLOWED_EXCEPT_SYSTEM

阻止大多数个人应用访问工作资料通讯录,包括联系人搜索和来电,但 OEM 默认拨号器、“信息”和“通讯录”应用除外。用户配置的拨号器、“信息”和“通讯录”应用,以及任何其他系统应用或 Play 安装的应用均无法直接查询工作联系人。

启用此设置后,exemptionsToShowWorkContactsInPersonalProfile 中指定的个人应用会列入许可名单,并且可以访问工作资料通讯录。

适用于 Android 14 及更高版本。如果在 Android 版本低于 14 的设备上设置了此属性,则行为会回退到 SHOW_WORK_CONTACTS_IN_PERSONAL_PROFILE_DISALLOWED,并报告值为 API_LEVELnonComplianceDetail

CrossProfileCopyPaste

是否可以将从一份个人资料中复制的文字(个人资料或工作资料)粘贴到另一份资料中。

枚举
CROSS_PROFILE_COPY_PASTE_UNSPECIFIED 未指定。默认为 COPY_FROM_WORK_TO_PERSONAL_DISALLOWED
COPY_FROM_WORK_TO_PERSONAL_DISALLOWED 默认。禁止用户将工作资料文本内容粘贴到从工作资料中复制的个人资料中。您可以将从个人资料中复制的文字粘贴到工作资料中,将工作资料中复制的文字粘贴到工作资料中。
CROSS_PROFILE_COPY_PASTE_ALLOWED 可将在任一配置文件中复制的文字粘贴到另一条配置文件中。

CrossProfileDataSharing

一份个人资料(个人资料或工作资料)中的数据是否可以与另一份个人资料中的应用分享。具体而言,控制通过 intent 进行的简单数据共享。其他跨资料通信渠道(例如联系人搜索、复制/粘贴或关联的工作和个人应用)的管理需单独配置。

枚举
CROSS_PROFILE_DATA_SHARING_UNSPECIFIED 未指定。默认为 DATA_SHARING_FROM_WORK_TO_PERSONAL_DISALLOWED。
CROSS_PROFILE_DATA_SHARING_DISALLOWED 防止个人资料同时分享到工作资料和工作资料中的数据。
DATA_SHARING_FROM_WORK_TO_PERSONAL_DISALLOWED 默认。禁止用户将工作资料中的数据与个人资料中的应用共享。个人数据可与工作应用分享。
CROSS_PROFILE_DATA_SHARING_ALLOWED 两个配置文件中的数据可以共享给另一个配置文件。

WorkProfileWidgetsDefault

控制是否允许工作资料应用将微件添加到主屏幕(其中未定义应用专用政策)。否则,应用专属政策的优先级将高于此政策。

枚举
WORK_PROFILE_WIDGETS_DEFAULT_UNSPECIFIED 未指定。默认为 WORK_PROFILE_WidgetS_DEFAULT_DISALLOWED。
WORK_PROFILE_WIDGETS_DEFAULT_ALLOWED 默认情况下,系统允许使用工作资料微件。这意味着,如果此政策未将 workProfileWidgets 指定为应用的 WORK_PROFILE_WIDGETS_DISALLOWED,它能向主屏幕添加 widget。
WORK_PROFILE_WIDGETS_DEFAULT_DISALLOWED 默认情况下,系统不允许使用工作资料微件。这意味着,如果此政策未将 workProfileWidgets 指定为应用的 WORK_PROFILE_WIDGETS_ALLOWED,它将无法向主屏幕添加 widget。

PreferentialNetworkService

控制是否为工作资料启用首选网络服务。详情请参见 preferentialNetworkService

枚举
PREFERENTIAL_NETWORK_SERVICE_UNSPECIFIED 未指定。默认为 PREFERENTIAL_NETWORK_SERVICES_DISABLED
PREFERENTIAL_NETWORK_SERVICE_DISABLED 工作资料已停用首选网络服务。
PREFERENTIAL_NETWORK_SERVICE_ENABLED 已为工作资料启用首选网络服务。

UsageLog

控制从设备收集并通过 Pub/Sub 通知报告的设备活动日志的类型。

JSON 表示法
{
  "enabledLogTypes": [
    enum (LogType)
  ],
  "uploadOnCellularAllowed": [
    enum (LogType)
  ]
}
字段
enabledLogTypes[]

enum (LogType)

指定启用的日志类型。请注意,启用使用情况日志记录后,用户会收到设备上的消息。

uploadOnCellularAllowed[]

enum (LogType)

指定可以通过移动数据网络上传哪些类型的已启用日志。默认情况下,当设备连接到 Wi-Fi 时,日志会排队等待上传。

LogType

设备报告的设备活动日志的类型。

枚举
LOG_TYPE_UNSPECIFIED 未使用此值。
SECURITY_LOGS 启用记录设备端安全性事件的功能,例如当设备密码输入错误或装载了可移动存储设备时。如需查看所记录安全性事件的完整说明,请参阅 UsageLogEvent。搭载 Android 7 及更高版本的全代管式设备支持此功能。此设置适用于运行 Android 12 及更高版本且装有工作资料的公司自有设备,此类设备仅会记录工作资料中的安全性事件。可以被应用委托范围 SECURITY_LOGS 替换
NETWORK_ACTIVITY_LOGS 启用设备端网络事件(例如 DNS 查找和 TCP 连接)的记录功能。如需查看所记录网络事件的完整说明,请参阅 UsageLogEvent。搭载 Android 8 及更高版本的全代管式设备支持此功能。此设置适用于运行 Android 12 及更高版本且装有工作资料的公司自有设备,此类设备仅会记录工作资料中的网络事件。可以被应用委托范围 NETWORK_ACTIVITY_LOGS 替换

CameraAccess

控制摄像头的使用以及用户是否有权访问摄像头访问切换开关。Android 12 及更高版本上提供了相机访问权限切换开关。一般原则是,停用相机这一可能性适用于完全受管设备,并且仅适用于具有工作资料的设备的工作资料。停用摄像头访问权限切换开关的选项仅适用于完全受管设备,在这种情况下,此设置会应用于整个设备。有关详细信息,请参阅枚举值。

枚举
CAMERA_ACCESS_UNSPECIFIED 如果 cameraDisabled 为 true,则等同于 CAMERA_ACCESS_DISABLED。否则,这相当于 CAMERA_ACCESS_USER_CHOICE
CAMERA_ACCESS_USER_CHOICE 系统会忽略字段 cameraDisabled。这是默认的设备行为:设备上的所有摄像头都可用。在 Android 12 及更高版本中,用户可以使用相机访问权限切换开关。
CAMERA_ACCESS_DISABLED

系统会忽略字段 cameraDisabled。设备上的所有摄像头都会停用(对于完全受管设备,此设置会应用于整个设备;对于工作资料,此设置仅适用于工作资料)。

在 Android 12 及更高版本中,没有对摄像头访问权限切换开关设定明确的限制:在全代管式设备上,摄像头访问权限切换开关不起作用,因为所有摄像头都处于停用状态。在具有工作资料的设备上,此切换开关对工作资料中的应用没有影响,但会影响工作资料之外的应用。

CAMERA_ACCESS_ENFORCED 系统会忽略字段 cameraDisabled。设备上的所有摄像头都可用。在搭载 Android 12 及更高版本的全代管式设备上,用户无法使用相机访问权限切换开关。在搭载 Android 11 或更低版本的设备上,这相当于 CAMERA_ACCESS_USER_CHOICE

MicrophoneAccess

在完全受管设备上,控制麦克风的使用以及用户是否可以使用麦克风使用权限切换开关。此设置对非完全受管设备没有任何影响。Android 12 及更高版本上提供了麦克风使用权限切换开关。

枚举
MICROPHONE_ACCESS_UNSPECIFIED 如果 unmuteMicrophoneDisabled 为 true,则等同于 MICROPHONE_ACCESS_DISABLED。否则,这相当于 MICROPHONE_ACCESS_USER_CHOICE
MICROPHONE_ACCESS_USER_CHOICE 系统会忽略字段 unmuteMicrophoneDisabled。这是默认的设备行为:设备上的麦克风可用。在 Android 12 及更高版本中,用户可以使用麦克风访问切换开关。
MICROPHONE_ACCESS_DISABLED

系统会忽略字段 unmuteMicrophoneDisabled。设备上的麦克风处于停用状态(对于完全受管设备,此设置会应用于整个设备)。

由于麦克风已停用,因此麦克风使用权限切换开关无效。

MICROPHONE_ACCESS_ENFORCED 系统会忽略字段 unmuteMicrophoneDisabled。设备上的麦克风可用。在搭载 Android 12 及更高版本的设备上,用户无法使用麦克风访问权限切换开关。在搭载 Android 11 或更低版本的设备上,这相当于 MICROPHONE_ACCESS_USER_CHOICE

DeviceConnectivityManagement

包含设备连接控件,例如 Wi-Fi、USB 数据访问、键盘/鼠标连接等。

JSON 表示法
{
  "usbDataAccess": enum (UsbDataAccess),
  "configureWifi": enum (ConfigureWifi),
  "wifiDirectSettings": enum (WifiDirectSettings),
  "tetheringSettings": enum (TetheringSettings)
}
字段
usbDataAccess

enum (UsbDataAccess)

控制可通过 USB 传输哪些文件和/或数据。此设置仅适用于公司自有设备。

configureWifi

enum (ConfigureWifi)

控制 Wi-Fi 配置权限。根据设置的选项,用户在配置 Wi-Fi 网络时将拥有完全或受限的控制权。

wifiDirectSettings

enum (WifiDirectSettings)

控制 WLAN 直连设置的配置和使用。在搭载 Android 13 及更高版本的公司自有设备上受支持。

tetheringSettings

enum (TetheringSettings)

控制网络共享设置。根据所设置的值,系统可部分或完全禁止用户使用其他形式的网络共享。

UsbDataAccess

控制可通过 USB 传输哪些文件和/或数据。不会影响充电功能。此设置仅适用于公司自有设备。

枚举
USB_DATA_ACCESS_UNSPECIFIED 未指定。默认为 DISALLOW_USB_FILE_TRANSFER
ALLOW_USB_DATA_TRANSFER 允许传输所有类型的 USB 数据。系统会忽略 usbFileTransferDisabled
DISALLOW_USB_FILE_TRANSFER 不允许通过 USB 传输文件。此外,允许使用其他类型的 USB 数据连接,例如鼠标和键盘连接。系统会忽略 usbFileTransferDisabled
DISALLOW_USB_DATA_TRANSFER 设置此政策后,系统将禁止使用所有类型的 USB 数据传输。适用于搭载 Android 12 或更高版本且支持 USB HAL 1.3 或更高版本的设备。如果该设置不受支持,系统将会设置 DISALLOW_USB_FILE_TRANSFER。如果 Android 版本低于 12,系统会报告包含 API_LEVELnonComplianceDetail。如果设备未启用 USB HAL 1.3 或更高版本,则系统会报告包含 DEVICE_INCOMPATIBLEnonComplianceDetail。系统会忽略 usbFileTransferDisabled

ConfigureWifi

控制 Wi-Fi 配置权限。根据设置的选项,用户在配置 Wi-Fi 网络时将拥有完全或受限的控制权。

枚举
CONFIGURE_WIFI_UNSPECIFIED 未指定。默认值为 ALLOW_CONFIGURING_WIFI,除非 wifiConfigDisabled 设置为 true。如果 wifiConfigDisabled 设置为 true,则等同于 DISALLOW_CONFIGURING_WIFI
ALLOW_CONFIGURING_WIFI 允许用户配置 Wi-Fi。系统会忽略 wifiConfigDisabled
DISALLOW_ADD_WIFI_CONFIG 不允许添加新的 Wi-Fi 配置。用户只能在已配置的网络之间切换。此设置适用于搭载 Android 13 及更高版本的设备、全代管式设备和公司自有设备上的工作资料。如果该设置不受支持,则设为 ALLOW_CONFIGURING_WIFI。如果 Android 版本低于 13,系统会报告包含 API_LEVELnonComplianceDetail。系统会忽略 wifiConfigDisabled
DISALLOW_CONFIGURING_WIFI 禁止配置 Wi-Fi 网络。如果设置了此值,系统会忽略 wifiConfigDisabled 设置。在所有受支持的 API 级别下,完全受管设备和公司自有设备上的工作资料支持。对于完全受管设备,执行此设置会移除所有已配置的网络,仅保留使用 openNetworkConfiguration 政策配置的网络。对于公司自有设备上的工作资料,现有的已配置网络不受影响,并且不允许用户添加、移除或修改 Wi-Fi 网络。注意:如果在启动时无法连接到网络,并且配置 Wi-Fi 已停用,那么系统会显示网络应急方法,以刷新设备政策(请参阅 networkEscapeHatchEnabled)。

WifiDirectSettings

控制 WLAN 直连设置。在搭载 Android 13 及更高版本的公司自有设备上受支持。

枚举
WIFI_DIRECT_SETTINGS_UNSPECIFIED 未指定。默认设置为 ALLOW_WIFI_DIRECT
ALLOW_WIFI_DIRECT 用户可以使用 Wi-Fi 直连。
DISALLOW_WIFI_DIRECT 系统不允许该用户使用 Wi-Fi 直连。如果 Android 版本低于 13,系统会报告包含 API_LEVELnonComplianceDetail

TetheringSettings

控制允许用户使用不同形式的网络共享(例如 Wi-Fi 网络共享、蓝牙网络共享等)的程度。

枚举
TETHERING_SETTINGS_UNSPECIFIED 未指定。默认值为 ALLOW_ALL_TETHERING,除非 tetheringConfigDisabled 设置为 true。如果 tetheringConfigDisabled 设置为 true,则等同于 DISALLOW_ALL_TETHERING
ALLOW_ALL_TETHERING 允许配置和使用各种形式的网络共享。系统会忽略 tetheringConfigDisabled
DISALLOW_WIFI_TETHERING 禁止用户使用 Wi-Fi 网络共享。在搭载 Android 13 及更高版本的公司自有设备上受支持。如果该设置不受支持,系统将会设置 ALLOW_ALL_TETHERING。如果 Android 版本低于 13,系统会报告包含 API_LEVELnonComplianceDetail。系统会忽略 tetheringConfigDisabled
DISALLOW_ALL_TETHERING 禁止任何形式的网络共享。支持在所有受支持的 Android 版本上使用,完全受管设备和公司自有设备上的工作资料。系统会忽略 tetheringConfigDisabled 设置。

DeviceRadioState

设备无线装置设置控件。

JSON 表示法
{
  "wifiState": enum (WifiState),
  "airplaneModeState": enum (AirplaneModeState),
  "ultraWidebandState": enum (UltraWidebandState),
  "cellularTwoGState": enum (CellularTwoGState),
  "minimumWifiSecurityLevel": enum (MinimumWifiSecurityLevel)
}
字段
wifiState

enum (WifiState)

控制 Wi-Fi 的当前状态,以及用户是否可以更改其状态。

airplaneModeState

enum (AirplaneModeState)

控制用户是否可以切换飞行模式。

ultraWidebandState

enum (UltraWidebandState)

控制超宽带设置的状态以及用户能否开启或关闭超宽带设置。

cellularTwoGState

enum (CellularTwoGState)

控制用户是否可以切换移动网络 2G 设置。

minimumWifiSecurityLevel

enum (MinimumWifiSecurityLevel)

设备可连接的 Wi-Fi 网络所需的最低安全等级。

WifiState

以状态的形式控制 Wi-Fi 是开启还是关闭,以及用户能否更改该状态。在搭载 Android 13 及更高版本的公司自有设备上受支持。

枚举
WIFI_STATE_UNSPECIFIED 未指定。默认设置为 WIFI_STATE_USER_CHOICE
WIFI_STATE_USER_CHOICE 允许用户启用/停用 Wi-Fi。
WIFI_ENABLED Wi-Fi 已开启,并且不允许用户关闭 Wi-Fi。如果 Android 版本低于 13,系统会报告值为 API_LEVELnonComplianceDetail
WIFI_DISABLED Wi-Fi 已关闭,并且不允许用户开启它。如果 Android 版本低于 13,系统会报告包含 API_LEVELnonComplianceDetail

AirplaneModeState

控制飞行模式的状态,以及用户是否可以开启或关闭该模式。支持 Android 9 及更高版本。完全受管设备和公司自有设备上的工作资料。

枚举
AIRPLANE_MODE_STATE_UNSPECIFIED 未指定。默认为 AIRPLANE_MODE_USER_CHOICE
AIRPLANE_MODE_USER_CHOICE 用户可以开启或关闭飞行模式。
AIRPLANE_MODE_DISABLED 飞行模式已停用。不允许用户开启飞行模式。如果 Android 版本低于 9,系统会报告包含 API_LEVELnonComplianceDetail

UltraWidebandState

控制超宽带设置的状态,以及用户是否可以开启/关闭超宽带设置。支持 Android 14 及更高版本。完全受管设备和公司自有设备上的工作资料。

枚举
ULTRA_WIDEBAND_STATE_UNSPECIFIED 未指定。默认为 ULTRA_WIDEBAND_USER_CHOICE
ULTRA_WIDEBAND_USER_CHOICE 用户可以开启或关闭超宽带。
ULTRA_WIDEBAND_DISABLED 超宽带已停用。用户无法通过设置开启超宽带。如果 Android 版本低于 14,系统会报告包含 API_LEVELnonComplianceDetail

CellularTwoGState

控制移动网络 2G 设置的状态,以及用户是否可以开启或关闭该设置。支持 Android 14 及更高版本。完全受管设备和公司自有设备上的工作资料。

枚举
CELLULAR_TWO_G_STATE_UNSPECIFIED 未指定。默认为 CELLULAR_TWO_G_USER_CHOICE
CELLULAR_TWO_G_USER_CHOICE 用户可以开启或关闭 2G 移动网络。
CELLULAR_TWO_G_DISABLED 移动网络 2G 已停用。用户无法通过设置开启 2G 移动网络。如果 Android 版本低于 14,系统会报告包含 API_LEVELnonComplianceDetail

MinimumWifiSecurityLevel

指定连接到 Wi-Fi 网络所需的不同最低 Wi-Fi 安全等级。适用于 Android 13 及更高版本。完全受管设备和公司自有设备上的工作资料。

枚举
MINIMUM_WIFI_SECURITY_LEVEL_UNSPECIFIED 默认值为 OPEN_NETWORK_SECURITY,这意味着设备可以连接到所有类型的 Wi-Fi 网络。
OPEN_NETWORK_SECURITY 该设备将可以连接到所有类型的 Wi-Fi 网络。
PERSONAL_NETWORK_SECURITY 个人网络(例如 WEP、WPA2-PSK)是所需的最低安全性要求。设备将无法连接到开放的 Wi-Fi 网络。这一要求比 OPEN_NETWORK_SECURITY 严格。如果 Android 版本低于 13,系统会报告包含 API_LEVELnonComplianceDetail
ENTERPRISE_NETWORK_SECURITY 企业 EAP 网络是所需的最低安全等级。设备将无法连接到低于此安全级别的 WLAN 网络。这一要求比 PERSONAL_NETWORK_SECURITY 严格。如果 Android 版本低于 13,系统会报告包含 API_LEVELnonComplianceDetail
ENTERPRISE_BIT192_NETWORK_SECURITY 192 位企业网络是所需的最低安全等级。设备将无法连接到低于此安全级别的 WLAN 网络。这一要求比 ENTERPRISE_NETWORK_SECURITY 严格。如果 Android 版本低于 13,系统会报告包含 API_LEVELnonComplianceDetail

CredentialProviderPolicyDefault

控制哪些应用可以作为 Android 14 及更高版本的凭据提供程序。这些应用会存储凭据,请参阅此处此处了解详情。另请参阅 credentialProviderPolicy

枚举
CREDENTIAL_PROVIDER_POLICY_DEFAULT_UNSPECIFIED 未指定。默认为 CREDENTIAL_PROVIDER_DEFAULT_DISALLOWED。
CREDENTIAL_PROVIDER_DEFAULT_DISALLOWED 未指定 credentialProviderPolicy 的应用不能充当凭据提供程序。
CREDENTIAL_PROVIDER_DEFAULT_DISALLOWED_EXCEPT_SYSTEM 未指定 credentialProviderPolicy 的应用不得充当凭据提供程序,但 OEM 默认凭据提供程序除外。OEM 默认凭据提供程序始终可以充当凭据提供程序。

PrintingPolicy

控制是否允许打印。搭载 Android 9 及更高版本的设备支持此功能。

枚举
PRINTING_POLICY_UNSPECIFIED 未指定。默认为 PRINTING_ALLOWED
PRINTING_DISALLOWED 不允许打印。如果 Android 版本低于 9,系统会报告包含 API_LEVELnonComplianceDetail
PRINTING_ALLOWED 允许打印。

方法

delete

删除政策。

get

获取政策。

list

列出指定企业的政策。

patch

更新或创建政策。