文档管理中心
您当前正在浏览HarmonyOS最新文档,覆盖已发布的所有API版本,可在API参考中筛选您使用的API版本。详细的版本配套关系请参考版本说明
开发与测试开放能力API系统基础功能MDM Kit(企业设备管理服务)ArkTS API@ohos.enterprise.networkManager(网络管理)

@ohos.enterprise.networkManager(网络管理)

Phone12+PC/2in113+Tablet12+

本模块提供设备网络管理能力,包括查询设备IP地址、MAC地址信息、管理网络接口状态、配置网络全局代理、管理防火墙规则和域名过滤规则、控制移动数据网络、管理APN配置、配置以太网网络等。适用于企业IT管理员对设备网络进行集中管理和安全管控,帮助企业实现网络访问策略统一管理、防止网络攻击和数据泄露、降低网络管理成本。

说明

本模块首批接口从API version 12开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。

本模块接口仅可在Stage模型下使用。

本模块接口仅对设备管理应用开放,且调用接口前需激活设备管理应用,具体请参考MDM Kit开发指南

导入模块

收起
自动换行
深色代码主题
复制
  1. import { networkManager } from '@kit.MDMKit';

networkManager.getAllNetworkInterfacesSync

Phone12+PC/2in113+Tablet12+

getAllNetworkInterfacesSync(admin: Want): Array<string>

获取所有激活的有线网络接口。适用于企业网络管理场景,例如查看当前设备可用的网络连接、审计网络接口状态、为后续网络配置操作做准备,帮助企业了解设备网络连接状态,便于集中管理网络资源和排查网络问题。

需要权限: ohos.permission.ENTERPRISE_MANAGE_NETWORK

系统能力: SystemCapability.Customization.EnterpriseDeviceManager

模型约束: 此接口仅可在Stage模型下使用。

参数:

展开
参数名 类型 必填 说明
admin Want 企业设备管理扩展组件。Want中必须包含企业设备管理扩展能力的abilityName和所在应用的bundleName。

返回值:

展开
类型 说明
Array<string> 返回所有激活的有线网络接口名称数组。

错误码

以下错误码的详细介绍请参见企业设备管理错误码通用错误码

展开
错误码ID 错误信息
9200001 The application is not an administrator application of the device.
9200002 The administrator application does not have permission to manage the device.
201 Permission verification failed. The application does not have the permission required to call the API.
401 Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types; 3. Parameter verification failed.

示例:

收起
自动换行
深色代码主题
复制
  1. import { networkManager } from '@kit.MDMKit';
  2. import { Want } from '@kit.AbilityKit';
  3. let wantTemp: Want = {
  4. // 需根据实际情况进行替换
  5. bundleName: 'com.example.myapplication',
  6. abilityName: 'EnterpriseAdminAbility'
  7. };
  8. try {
  9. let result: Array<string> = networkManager.getAllNetworkInterfacesSync(wantTemp);
  10. console.info(`Succeeded in getting all network interfaces, result : ${JSON.stringify(result)}`);
  11. } catch (err) {
  12. console.error(`Failed to get all network interfaces. Code: ${err.code}, message: ${err.message}`);
  13. }

networkManager.getIpAddressSync

Phone12+PC/2in113+Tablet12+

getIpAddressSync(admin: Want, networkInterface: string): string

根据网络接口获取设备IP地址。适用于企业网络管理场景,例如网络审计、设备定位、网络连接问题排查、IP地址分配管理,帮助企业IT管理员了解设备网络配置,便于网络管理和故障诊断。

需要权限: ohos.permission.ENTERPRISE_MANAGE_NETWORK

系统能力: SystemCapability.Customization.EnterpriseDeviceManager

模型约束: 此接口仅可在Stage模型下使用。

参数:

展开
参数名 类型 必填 说明
admin Want 企业设备管理扩展组件。Want中必须包含企业设备管理扩展能力的abilityName和所在应用的bundleName。
networkInterface string 指定网络接口。

返回值:

展开
类型 说明
string 返回设备指定网络接口的IP地址。

错误码

以下错误码的详细介绍请参见企业设备管理错误码通用错误码

展开
错误码ID 错误信息
9200001 The application is not an administrator application of the device.
9200002 The administrator application does not have permission to manage the device.
201 Permission verification failed. The application does not have the permission required to call the API.
401 Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types; 3. Parameter verification failed.

示例:

收起
自动换行
深色代码主题
复制
  1. import { networkManager } from '@kit.MDMKit';
  2. import { Want } from '@kit.AbilityKit';
  3. let wantTemp: Want = {
  4. // 需根据实际情况进行替换
  5. bundleName: 'com.example.myapplication',
  6. abilityName: 'EnterpriseAdminAbility'
  7. };
  8. try {
  9. // 参数需根据实际情况进行替换
  10. let result: string = networkManager.getIpAddressSync(wantTemp, 'eth0');
  11. console.info(`Succeeded in getting ip address, result : ${result}`);
  12. } catch (err) {
  13. console.error(`Failed to get ip address. Code: ${err.code}, message: ${err.message}`);
  14. }

networkManager.getMacSync

Phone12+PC/2in113+Tablet12+

getMacSync(admin: Want, networkInterface: string): string

根据网络接口获取设备MAC地址。适用于企业网络管理场景,例如设备识别、网络准入控制、MAC地址审计、设备资产管理,帮助企业识别和追踪设备,实现精细化的网络访问控制。

需要权限: ohos.permission.ENTERPRISE_MANAGE_NETWORK

系统能力: SystemCapability.Customization.EnterpriseDeviceManager

模型约束: 此接口仅可在Stage模型下使用。

参数:

展开
参数名 类型 必填 说明
admin Want 企业设备管理扩展组件。Want中必须包含企业设备管理扩展能力的abilityName和所在应用的bundleName。
networkInterface string 指定网络接口。

返回值:

展开
类型 说明
string 返回设备指定网络接口的MAC地址。

错误码

以下错误码的详细介绍请参见企业设备管理错误码通用错误码

展开
错误码ID 错误信息
9200001 The application is not an administrator application of the device.
9200002 The administrator application does not have permission to manage the device.
201 Permission verification failed. The application does not have the permission required to call the API.
401 Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types; 3. Parameter verification failed.

示例:

收起
自动换行
深色代码主题
复制
  1. import { networkManager } from '@kit.MDMKit';
  2. import { Want } from '@kit.AbilityKit';
  3. let wantTemp: Want = {
  4. // 需根据实际情况进行替换
  5. bundleName: 'com.example.myapplication',
  6. abilityName: 'EnterpriseAdminAbility'
  7. };
  8. try {
  9. // 参数需根据实际情况进行替换
  10. let result: string = networkManager.getMacSync(wantTemp, 'eth0');
  11. console.info(`Succeeded in getting mac, result : ${result}`);
  12. } catch (err) {
  13. console.error(`Failed to get mac. Code: ${err.code}, message: ${err.message}`);
  14. }

networkManager.isNetworkInterfaceDisabledSync

Phone12+PC/2in113+Tablet12+

isNetworkInterfaceDisabledSync(admin: Want, networkInterface: string): boolean

查询指定网络接口是否被禁用。适用于企业网络管理场景,例如检查网络接口状态、审计网络接口使用情况、验证网络策略执行效果,帮助企业确认网络接口管理策略是否生效,便于策略调整和问题排查。

本接口通过传入Want查询对应企业设备管理应用设置的策略,如需查询实际生效的策略,请使用networkManager.isNetworkInterfaceDisabledSync接口。

需要权限: ohos.permission.ENTERPRISE_MANAGE_NETWORK

系统能力: SystemCapability.Customization.EnterpriseDeviceManager

模型约束: 此接口仅可在Stage模型下使用。

参数:

展开
参数名 类型 必填 说明
admin Want 企业设备管理扩展组件。Want中必须包含企业设备管理扩展能力的abilityName和所在应用的bundleName。
networkInterface string 指定网络接口。

返回值:

展开
类型 说明
boolean 返回指定网络接口是否被禁用,true表示该网络接口被禁用,false表示该网络接口未被禁用。

错误码

以下错误码的详细介绍请参见企业设备管理错误码通用错误码

展开
错误码ID 错误信息
9200001 The application is not an administrator application of the device.
9200002 The administrator application does not have permission to manage the device.
201 Permission verification failed. The application does not have the permission required to call the API.
401 Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types; 3. Parameter verification failed.

示例:

收起
自动换行
深色代码主题
复制
  1. import { networkManager } from '@kit.MDMKit';
  2. import { Want } from '@kit.AbilityKit';
  3. let wantTemp: Want = {
  4. // 需根据实际情况进行替换
  5. bundleName: 'com.example.myapplication',
  6. abilityName: 'EnterpriseAdminAbility'
  7. };
  8. try {
  9. // 参数需根据实际情况进行替换
  10. let result: boolean = networkManager.isNetworkInterfaceDisabledSync(wantTemp, 'eth0');
  11. console.info(`Succeeded in querying network interface is disabled or not, result : ${result}`);
  12. } catch (err) {
  13. console.error(`Failed to query network interface is disabled or not. Code: ${err.code}, message: ${err.message}`);
  14. }

networkManager.isNetworkInterfaceDisabledSync

Phone26.0.0+PC/2in126.0.0+Tablet26.0.0+

isNetworkInterfaceDisabledSync(admin: Want | null, networkInterface: string): boolean

查询指定网络接口是否被禁用。适用于企业网络管理场景,例如检查网络接口状态、审计网络接口使用情况、验证网络策略执行效果,帮助企业确认网络接口管理策略是否生效,便于策略调整和问题排查。

起始版本: 26.0.0

需要权限: ohos.permission.ENTERPRISE_MANAGE_NETWORK

系统能力: SystemCapability.Customization.EnterpriseDeviceManager

模型约束: 此接口仅可在Stage模型下使用。

参数:

展开
参数名 类型 必填 说明
admin Want | null

企业设备管理扩展组件。Want中必须包含企业设备管理扩展能力的abilityName和所在应用的bundleName。

当设备存在多个MDM应用时,传入Want时查询对应企业设备管理应用设置的策略,传入null时查询实际生效的策略。

networkInterface string 指定网络接口。

返回值:

展开
类型 说明
boolean 返回指定网络接口是否被禁用,true表示该网络接口被禁用,false表示该网络接口未被禁用。

错误码

以下错误码的详细介绍请参见企业设备管理错误码通用错误码

展开
错误码ID 错误信息
9200001 The application is not an administrator application of the device.
9200002 The administrator application does not have permission to manage the device.
201 Permission verification failed. The application does not have the permission required to call the API.
401 Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types; 3. Parameter verification failed.

示例:

收起
自动换行
深色代码主题
复制
  1. import { networkManager } from '@kit.MDMKit';
  2. try {
  3. // 参数需根据实际情况进行替换
  4. // 参数需根据实际情况进行替换
  5. let result: boolean = networkManager.isNetworkInterfaceDisabledSync(null, 'eth0');
  6. console.info(`Succeeded in querying network interface is disabled or not, result : ${result}`);
  7. } catch (err) {
  8. console.error(`Failed to query network interface is disabled or not. Code: ${err.code}, message: ${err.message}`);
  9. }

networkManager.setNetworkInterfaceDisabledSync

Phone12+PC/2in113+Tablet12+

setNetworkInterfaceDisabledSync(admin: Want, networkInterface: string, isDisabled: boolean): void

禁止设备使用指定网络接口。适用于企业网络安全管控场景,例如禁用高风险网络接口、限制设备使用特定网络连接、防止通过网络接口进行数据泄露,帮助企业降低网络安全风险,防止通过特定网络接口进行的攻击或数据外泄。

需要权限: ohos.permission.ENTERPRISE_MANAGE_NETWORK

系统能力: SystemCapability.Customization.EnterpriseDeviceManager

模型约束: 此接口仅可在Stage模型下使用。

冲突规则: 从严管控

参数:

展开
参数名 类型 必填 说明
admin Want 企业设备管理扩展组件。Want中必须包含企业设备管理扩展能力的abilityName和所在应用的bundleName。
networkInterface string 指定网络接口。
isDisabled boolean true表示禁用该网络接口,false表示开启该网络接口。

错误码

以下错误码的详细介绍请参见企业设备管理错误码通用错误码

展开
错误码ID 错误信息
9200001 The application is not an administrator application of the device.
9200002 The administrator application does not have permission to manage the device.
201 Permission verification failed. The application does not have the permission required to call the API.
401 Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types; 3. Parameter verification failed.

示例:

收起
自动换行
深色代码主题
复制
  1. import { networkManager } from '@kit.MDMKit';
  2. import { Want } from '@kit.AbilityKit';
  3. let wantTemp: Want = {
  4. // 需根据实际情况进行替换
  5. bundleName: 'com.example.myapplication',
  6. abilityName: 'EnterpriseAdminAbility'
  7. };
  8. try {
  9. // 参数需根据实际情况进行替换
  10. networkManager.setNetworkInterfaceDisabledSync(wantTemp, 'eth0', true);
  11. console.info(`Succeeded in setting network interface disabled`);
  12. } catch (err) {
  13. console.error(`Failed to set network interface disabled. Code: ${err.code}, message: ${err.message}`);
  14. }

networkManager.setGlobalProxySync

Phone12+PC/2in113+Tablet12+

setGlobalProxySync(admin: Want, httpProxy: connection.HttpProxy): void

设置网络全局代理。适用于企业网络管理场景,例如设置企业统一的网络代理、实现网络访问审计、控制网络访问路径、优化网络性能,帮助企业集中管理网络访问,实现网络访问的可审计和可控制。

需要权限: ohos.permission.ENTERPRISE_MANAGE_NETWORK

系统能力: SystemCapability.Customization.EnterpriseDeviceManager

模型约束: 此接口仅可在Stage模型下使用。

冲突规则: 配置

参数:

展开
参数名 类型 必填 说明
admin Want 企业设备管理扩展组件。Want中必须包含企业设备管理扩展能力的abilityName和所在应用的bundleName。
httpProxy connection.HttpProxy 网络全局HTTP代理配置信息。

错误码

以下错误码的详细介绍请参见企业设备管理错误码通用错误码

展开
错误码ID 错误信息
9200001 The application is not an administrator application of the device.
9200002 The administrator application does not have permission to manage the device.
201 Permission verification failed. The application does not have the permission required to call the API.
401 Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types; 3. Parameter verification failed.

示例:

收起
自动换行
深色代码主题
复制
  1. import { networkManager } from '@kit.MDMKit';
  2. import { Want } from '@kit.AbilityKit';
  3. import { connection } from '@kit.NetworkKit';
  4. let wantTemp: Want = {
  5. // 需根据实际情况进行替换
  6. bundleName: 'com.example.myapplication',
  7. abilityName: 'EnterpriseAdminAbility'
  8. };
  9. // 需根据实际情况进行替换
  10. let exclusionStr: string = "192.168,baidu.com";
  11. let exclusionArray: Array<string> = exclusionStr.split(',');
  12. let httpProxy: connection.HttpProxy = {
  13. host: "192.168.xx.xxx",
  14. port: 8080,
  15. exclusionList: exclusionArray
  16. };
  17. try {
  18. networkManager.setGlobalProxySync(wantTemp, httpProxy);
  19. console.info(`Succeeded in setting network global proxy.`);
  20. } catch (err) {
  21. console.error(`Failed to set network global proxy. Code: ${err.code}, message: ${err.message}`);
  22. }

networkManager.setGlobalProxyForAccount15+

PC/2in115+

setGlobalProxyForAccount(admin: Want, httpProxy: connection.HttpProxy, accountId: number): void

设置指定用户下的网络代理。适用于企业多用户环境下的网络管理场景,例如为不同用户设置不同的网络代理策略、实现用户级网络访问控制、满足不同用户的网络访问需求,帮助企业实现精细化的用户级网络管理。

需要权限: ohos.permission.ENTERPRISE_MANAGE_NETWORK

系统能力: SystemCapability.Customization.EnterpriseDeviceManager

设备行为差异: 该接口在PC/2in1设备中可正常调用,在其他设备中返回801错误码。

模型约束: 此接口仅可在Stage模型下使用。

冲突规则: 配置

参数:

展开
参数名 类型 必填 说明
admin Want 企业设备管理扩展组件。Want中必须包含企业设备管理扩展能力的abilityName和所在应用的bundleName。
httpProxy connection.HttpProxy 网络代理配置信息。
accountId number

用户ID,取值范围:大于等于0。

accountId可以通过@ohos.account.osAccount中的getOsAccountLocalId等接口来获取。

错误码

以下错误码的详细介绍请参见企业设备管理错误码通用错误码

展开
错误码ID 错误信息
9200001 The application is not an administrator application of the device.
9200002 The administrator application does not have permission to manage the device.
201 Permission verification failed. The application does not have the permission required to call the API.
401 Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types; 3. Parameter verification failed.
801 Capability not supported. Failed to call the API due to limited device capabilities.

示例:

收起
自动换行
深色代码主题
复制
  1. import { networkManager } from '@kit.MDMKit';
  2. import { Want } from '@kit.AbilityKit';
  3. import { connection } from '@kit.NetworkKit';
  4. let wantTemp: Want = {
  5. // 需根据实际情况进行替换
  6. bundleName: 'com.example.myapplication',
  7. abilityName: 'EnterpriseAdminAbility'
  8. };
  9. let httpProxy: connection.HttpProxy = {
  10. // 需根据实际情况进行替换
  11. host: '192.168.xx.xxx',
  12. port: 8080,
  13. exclusionList: ['192.168', 'baidu.com']
  14. };
  15. try {
  16. // 参数需根据实际情况进行替换
  17. networkManager.setGlobalProxyForAccount(wantTemp, httpProxy, 100);
  18. console.info(`Succeeded in setting network global proxy.`);
  19. } catch (err) {
  20. console.error(`Failed to set network global proxy. Code: ${err.code}, message: ${err.message}`);
  21. }

networkManager.getGlobalProxySync

Phone12+PC/2in113+Tablet12+

getGlobalProxySync(admin: Want): connection.HttpProxy

获取网络全局代理。适用于企业网络管理场景,例如审计当前网络代理配置、验证代理策略是否生效、排查网络访问问题,帮助企业检查网络代理设置,确保网络访问策略正确执行。

需要权限: ohos.permission.ENTERPRISE_MANAGE_NETWORK

系统能力: SystemCapability.Customization.EnterpriseDeviceManager

模型约束: 此接口仅可在Stage模型下使用。

参数:

展开
参数名 类型 必填 说明
admin Want 企业设备管理扩展组件。Want中必须包含企业设备管理扩展能力的abilityName和所在应用的bundleName。

返回值:

展开
类型 说明
connection.HttpProxy 返回网络全局HTTP代理配置信息。

错误码

以下错误码的详细介绍请参见企业设备管理错误码通用错误码

展开
错误码ID 错误信息
9200001 The application is not an administrator application of the device.
9200002 The administrator application does not have permission to manage the device.
201 Permission verification failed. The application does not have the permission required to call the API.
401 Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types; 3. Parameter verification failed.

示例:

收起
自动换行
深色代码主题
复制
  1. import { networkManager } from '@kit.MDMKit';
  2. import { Want } from '@kit.AbilityKit';
  3. import { connection } from '@kit.NetworkKit';
  4. let wantTemp: Want = {
  5. // 需根据实际情况进行替换
  6. bundleName: 'com.example.myapplication',
  7. abilityName: 'EnterpriseAdminAbility'
  8. };
  9. try {
  10. let result: connection.HttpProxy = networkManager.getGlobalProxySync(wantTemp);
  11. console.info(`Succeeded in getting network global proxy, result : ${JSON.stringify(result)}`);
  12. } catch (err) {
  13. console.error(`Failed to get network global proxy. Code: ${err.code}, message: ${err.message}`);
  14. }

networkManager.getGlobalProxyForAccount15+

PC/2in115+

getGlobalProxyForAccount(admin: Want | null, accountId: number): connection.HttpProxy

获取指定用户下的网络代理。适用于企业多用户环境下的网络管理场景,例如审计用户级网络代理配置、验证用户网络访问策略、排查用户网络访问问题,帮助企业检查和验证用户级网络管理策略。

说明

本接口用于获取通过setGlobalProxyForAccount设置的、指定用户的代理配置。如果需要获取应用于所有用户的全局代理配置,建议使用getGlobalProxySync接口。

需要权限: ohos.permission.ENTERPRISE_MANAGE_NETWORK

系统能力: SystemCapability.Customization.EnterpriseDeviceManager

设备行为差异: 该接口在PC/2in1设备中可正常调用,在其他设备中返回801错误码。

模型约束: 此接口仅可在Stage模型下使用。

参数:

展开
参数名 类型 必填 说明
admin Want | null 企业设备管理扩展组件。Want中必须包含企业设备管理扩展能力的abilityName和所在应用的bundleName。API version 20之前,调用本接口获取指定用户下的网络代理。当设备存在多个MDM应用时,传入admin查询对应admin设置的策略。从API version 20开始,admin新增支持传入null,传入null时查询整机实际生效的策略。
accountId number

用户ID,取值范围:大于等于0。

accountId可以通过@ohos.account.osAccount中的getOsAccountLocalId等接口来获取。

返回值:

展开
类型 说明
connection.HttpProxy 网络代理配置信息。

错误码

以下错误码的详细介绍请参见企业设备管理错误码通用错误码

展开
错误码ID 错误信息
9200001 The application is not an administrator application of the device.
9200002 The administrator application does not have permission to manage the device.
201 Permission verification failed. The application does not have the permission required to call the API.
801

Capability not supported. Failed to call the API due to limited device capabilities.

适用版本:20+

示例:

收起
自动换行
深色代码主题
复制
  1. import { networkManager } from '@kit.MDMKit';
  2. import { Want } from '@kit.AbilityKit';
  3. import { connection } from '@kit.NetworkKit';
  4. let wantTemp: Want = {
  5. // 需根据实际情况进行替换
  6. bundleName: 'com.example.myapplication',
  7. abilityName: 'EnterpriseAdminAbility'
  8. };
  9. try {
  10. // 参数需根据实际情况进行替换
  11. let result: connection.HttpProxy = networkManager.getGlobalProxyForAccount(wantTemp, 100);
  12. console.info(`Succeeded in getting network global proxy, result : ${JSON.stringify(result)}`);
  13. } catch (err) {
  14. console.error(`Failed to get network global proxy. Code: ${err.code}, message: ${err.message}`);
  15. }

networkManager.addFirewallRule

Phone12+PC/2in113+Tablet12+

addFirewallRule(admin: Want, firewallRule: FirewallRule): void

为设备添加防火墙过滤规则。调用此接口前,此设备必须通过HEM商用部署。适用于企业网络安全管控场景,例如限制特定IP地址的网络访问、防止恶意网络攻击、控制应用程序的网络通信、实现网络访问的允许名单或禁用名单管理,帮助企业精细化控制网络访问,防止网络攻击和数据泄露。

API version 21及之前版本,仅支持IPv4。从API version 22开始,支持IPv4和IPv6。

从API version 23开始,支持LogType

说明
  • 添加了Action为ALLOW规则后,将会默认添加DENY规则,不在ALLOW规则之内的网络数据包将会被丢弃或拦截。
  • 设备重启,将会清空防火墙过滤规则。
  • 规则匹配顺序:先匹配域名过滤规则(由addDomainFilterRule添加),再匹配本接口添加的IP防火墙规则;在域名规则或IP规则中,均按Action为ALLOW、DENY、REJECT的顺序进行匹配。
  • 若规则配置了appUid,仅允许或禁止该应用的防火墙访问权限。若未配置appUid,则对所有应用生效。
  • 若设备同时支持IPv4和IPv6,需要分别添加对应的IPv4和IPv6防火墙过滤规则。

需要权限: ohos.permission.ENTERPRISE_MANAGE_NETWORK

系统能力: SystemCapability.Customization.EnterpriseDeviceManager

模型约束: 此接口仅可在Stage模型下使用。

冲突规则: 配置

参数:

展开
参数名 类型 必填 说明
admin Want 企业设备管理扩展组件。Want中必须包含企业设备管理扩展能力的abilityName和所在应用的bundleName。
firewallRule FirewallRule 添加防火墙过滤规则。

错误码

以下错误码的详细介绍请参见企业设备管理错误码通用错误码

展开
错误码ID 错误信息
9200001 The application is not an administrator application of the device.
9200002 The administrator application does not have permission to manage the device.
201 Permission verification failed. The application does not have the permission required to call the API.
401 Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types; 3. Parameter verification failed.

示例:

收起
自动换行
深色代码主题
复制
  1. import { networkManager } from '@kit.MDMKit';
  2. import { Want } from '@kit.AbilityKit';
  3. let wantTemp: Want = {
  4. // 需根据实际情况进行替换
  5. bundleName: 'com.example.myapplication',
  6. abilityName: 'EnterpriseAdminAbility'
  7. };
  8. let firewallRule: networkManager.FirewallRule = {
  9. // 需根据实际情况进行替换
  10. "srcAddr": "192.168.1.1-192.168.22.66",
  11. "destAddr": "10.1.1.1",
  12. "srcPort": "8080",
  13. "destPort": "8080",
  14. "appUid": "9696",
  15. "direction": networkManager.Direction.OUTPUT,
  16. "action": networkManager.Action.DENY,
  17. "protocol": networkManager.Protocol.UDP,
  18. "family": 1,
  19. "logType": networkManager.LogType.NFLOG
  20. };
  21. try {
  22. networkManager.addFirewallRule(wantTemp, firewallRule);
  23. console.info('Succeeded in adding firewall rule.');
  24. } catch (err) {
  25. console.error(`Failed to add firewall rule. Code: ${err.code}, message: ${err.message}`);
  26. }

networkManager.removeFirewallRule

Phone12+PC/2in113+Tablet12+

removeFirewallRule(admin: Want, firewallRule?: FirewallRule): void

移除设备防火墙过滤规则。适用于企业网络安全策略调整场景,例如取消某些网络访问限制、调整防火墙策略、清理过时或无效的规则,帮助企业灵活调整网络安全策略,确保网络访问控制策略与实际需求保持一致。

API version 21及之前版本,仅支持IPv4。从API version 22开始,支持IPv4和IPv6。

从API version 23开始,支持LogType

移除规则后如果不存在Action为ALLOW规则后,会将addFirewallRule添加的默认DENY规则清空。

需要权限: ohos.permission.ENTERPRISE_MANAGE_NETWORK

系统能力: SystemCapability.Customization.EnterpriseDeviceManager

模型约束: 此接口仅可在Stage模型下使用。

冲突规则: 配置

参数:

展开
参数名 类型 必填 说明
admin Want 企业设备管理扩展组件。Want中必须包含企业设备管理扩展能力的abilityName和所在应用的bundleName。
firewallRule FirewallRule 移除防火墙过滤规则。值为空时,清空所有的防火墙规则。

错误码

以下错误码的详细介绍请参见企业设备管理错误码通用错误码

展开
错误码ID 错误信息
9200001 The application is not an administrator application of the device.
9200002 The administrator application does not have permission to manage the device.
201 Permission verification failed. The application does not have the permission required to call the API.
401 Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types; 3. Parameter verification failed.

示例:

收起
自动换行
深色代码主题
复制
  1. import { networkManager } from '@kit.MDMKit';
  2. import { Want } from '@kit.AbilityKit';
  3. let wantTemp: Want = {
  4. // 需根据实际情况进行替换
  5. bundleName: 'com.example.myapplication',
  6. abilityName: 'EnterpriseAdminAbility'
  7. };
  8. let firewallRule: networkManager.FirewallRule = {
  9. // 需根据实际情况进行替换
  10. "srcAddr": "192.168.1.1-192.168.22.66",
  11. "destAddr": "10.1.1.1",
  12. "srcPort": "8080",
  13. "destPort": "8080",
  14. "appUid": "9696",
  15. "direction": networkManager.Direction.OUTPUT,
  16. "action": networkManager.Action.DENY,
  17. "protocol": networkManager.Protocol.UDP,
  18. "family": 1,
  19. "logType": networkManager.LogType.NFLOG
  20. };
  21. // 移除指定的规则
  22. try {
  23. networkManager.removeFirewallRule(wantTemp, firewallRule);
  24. console.info('Succeeded in removing firewall rule.');
  25. } catch (err) {
  26. console.error(`Failed to remove firewall rule. Code: ${err.code}, message: ${err.message}`);
  27. }
  28. // 清空IP协议版本为IPv4的所有规则
  29. try {
  30. networkManager.removeFirewallRule(wantTemp);
  31. console.info('Succeeded in removing all firewall rule.');
  32. } catch (err) {
  33. console.error(`Failed to remove all firewall rule. Code: ${err.code}, message: ${err.message}`);
  34. }

networkManager.getFirewallRules

Phone12+PC/2in113+Tablet12+

getFirewallRules(admin: Want): Array<FirewallRule>

查询设备防火墙过滤规则。适用于企业网络安全审计场景,例如检查当前防火墙策略配置、审计网络访问控制规则、验证防火墙规则是否正确执行、排查网络访问问题,帮助企业审核和验证网络安全策略,确保网络访问控制符合安全要求。

API version 21及之前版本,仅支持IPv4。从API version 22开始,支持IPv4和IPv6。

从API version 23开始,支持LogType

需要权限: ohos.permission.ENTERPRISE_MANAGE_NETWORK

系统能力: SystemCapability.Customization.EnterpriseDeviceManager

模型约束: 此接口仅可在Stage模型下使用。

参数:

展开
参数名 类型 必填 说明
admin Want 企业设备管理扩展组件。Want中必须包含企业设备管理扩展能力的abilityName和所在应用的bundleName。

返回值:

展开
类型 说明
Array<FirewallRule> 返回当前设备配置的防火墙过滤规则列表,当方法调用错误时会抛出异常。

错误码

以下错误码的详细介绍请参见企业设备管理错误码通用错误码

展开
错误码ID 错误信息
9200001 The application is not an administrator application of the device.
9200002 The administrator application does not have permission to manage the device.
201 Permission verification failed. The application does not have the permission required to call the API.
401 Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types; 3. Parameter verification failed.

示例:

收起
自动换行
深色代码主题
复制
  1. import { networkManager } from '@kit.MDMKit';
  2. import { Want } from '@kit.AbilityKit';
  3. let wantTemp: Want = {
  4. // 需根据实际情况进行替换
  5. bundleName: 'com.example.myapplication',
  6. abilityName: 'EnterpriseAdminAbility'
  7. };
  8. let firewallRule: Array<networkManager.FirewallRule>;
  9. try {
  10. firewallRule = networkManager.getFirewallRules(wantTemp);
  11. console.info('Succeeded in getting firewall rules');
  12. } catch (err) {
  13. console.error(`Failed to get firewall rules. Code: ${err.code}, message: ${err.message}`);
  14. }

networkManager.addDomainFilterRule

Phone12+PC/2in113+Tablet12+

addDomainFilterRule(admin: Want, domainFilterRule: DomainFilterRule): void

为设备添加域名过滤规则。调用此接口前,此设备必须通过HEM商用部署

API version 21及之前版本,仅支持IPv4。从API version 22开始,支持IPv4和IPv6。

从API version 23开始,支持LogType

说明
  • 添加Action为ALLOW规则后会自动添加默认DENY规则,不在ALLOW规则之内的域名解析数据包将被丢弃或拦截。
  • 添加的规则在设备重启后会被清空。
  • 为避免DNS缓存导致拦截规则失效,建议系统启动后立即配置域名过滤规则。若已因DNS缓存导致拦截失效,重启系统可清除缓存,恢复拦截功能。
  • 规则匹配顺序:先匹配本接口添加的域名过滤规则,再匹配IP防火墙规则(由addFirewallRule添加);在域名规则或IP规则中,均按Action为ALLOW、DENY、REJECT的顺序进行匹配。
  • 若规则配置了appUid,仅允许或禁止该应用的域名访问权限。若未配置appUid,则对所有应用生效。
  • 若设备同时支持IPv4和IPv6,需要分别添加对应的IPv4和IPv6域名过滤规则。

需要权限: ohos.permission.ENTERPRISE_MANAGE_NETWORK

系统能力: SystemCapability.Customization.EnterpriseDeviceManager

模型约束: 此接口仅可在Stage模型下使用。

冲突规则: 配置

参数:

展开
参数名 类型 必填 说明
admin Want 企业设备管理扩展组件。Want中必须包含企业设备管理扩展能力的abilityName和所在应用的bundleName。
domainFilterRule DomainFilterRule 域名过滤规则对象,包含域名、应用UID、IP协议版本等配置项。

错误码

以下错误码的详细介绍请参见企业设备管理错误码通用错误码

展开
错误码ID 错误信息
9200001 The application is not an administrator application of the device.
9200002 The administrator application does not have permission to manage the device.
201 Permission verification failed. The application does not have the permission required to call the API.
401 Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types; 3. Parameter verification failed.

示例:

收起
自动换行
深色代码主题
复制
  1. import { networkManager } from '@kit.MDMKit';
  2. import { Want } from '@kit.AbilityKit';
  3. let wantTemp: Want = {
  4. // 需根据实际情况进行替换
  5. bundleName: 'com.example.myapplication',
  6. abilityName: 'EnterpriseAdminAbility'
  7. };
  8. let domainFilterRule: networkManager.DomainFilterRule = {
  9. // 需根据实际情况进行替换
  10. "domainName": "www.example.com",
  11. "appUid": "9696",
  12. "action": networkManager.Action.DENY,
  13. "family": 1,
  14. "logType": networkManager.LogType.NFLOG
  15. };
  16. try {
  17. networkManager.addDomainFilterRule(wantTemp, domainFilterRule);
  18. console.info('Succeeded in adding domain filter rules');
  19. } catch (err) {
  20. console.error(`Failed to add domain filter rules. Code: ${err.code}, message: ${err.message}`);
  21. }

networkManager.removeDomainFilterRule

Phone12+PC/2in113+Tablet12+

removeDomainFilterRule(admin: Want, domainFilterRule?: DomainFilterRule): void

移除设备域名过滤规则。适用于企业网络安全策略调整场景,例如取消某些域名访问限制、调整域名过滤策略、清理过时或无效的规则、解决误拦截问题,帮助企业灵活调整域名访问策略,确保网络访问控制策略符合实际需求。

API version 21及之前版本,仅支持IPv4。从API version 22开始,支持IPv4和IPv6。

从API version 23开始,支持LogType

移除规则后如果不存在Action为ALLOW规则后,会将addDomainFilterRule添加的默认DENY规则清空。

需要权限: ohos.permission.ENTERPRISE_MANAGE_NETWORK

系统能力: SystemCapability.Customization.EnterpriseDeviceManager

模型约束: 此接口仅可在Stage模型下使用。

冲突规则: 配置

参数:

展开
参数名 类型 必填 说明
admin Want 企业设备管理扩展组件。Want中必须包含企业设备管理扩展能力的abilityName和所在应用的bundleName。
domainFilterRule DomainFilterRule 移除域名过滤规则。值为空时,清空所有的域名规则。

错误码

以下错误码的详细介绍请参见企业设备管理错误码通用错误码

展开
错误码ID 错误信息
9200001 The application is not an administrator application of the device.
9200002 The administrator application does not have permission to manage the device.
201 Permission verification failed. The application does not have the permission required to call the API.
401 Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types; 3. Parameter verification failed.

示例:

收起
自动换行
深色代码主题
复制
  1. import { networkManager } from '@kit.MDMKit';
  2. import { Want } from '@kit.AbilityKit';
  3. let wantTemp: Want = {
  4. // 需根据实际情况进行替换
  5. bundleName: 'com.example.myapplication',
  6. abilityName: 'EnterpriseAdminAbility'
  7. };
  8. let domainFilterRule: networkManager.DomainFilterRule = {
  9. // 需根据实际情况进行替换
  10. "domainName": "www.example.com",
  11. "appUid": "9696",
  12. "action": networkManager.Action.DENY,
  13. "family": 1,
  14. "logType": networkManager.LogType.NFLOG
  15. };
  16. // 移除指定的规则
  17. try {
  18. networkManager.removeDomainFilterRule(wantTemp, domainFilterRule);
  19. console.info('Succeeded in removing domain filter rules');
  20. } catch (err) {
  21. console.error(`Failed to remove domain filter rules. Code: ${err.code}, message: ${err.message}`);
  22. }
  23. // 清空IP协议版本为IPv4的所有规则
  24. try {
  25. networkManager.removeDomainFilterRule(wantTemp);
  26. console.info('Succeeded in removing all domain filter rules');
  27. } catch (err) {
  28. console.error(`Failed to remove all domain filter rules. Code: ${err.code}, message: ${err.message}`);
  29. }

networkManager.getDomainFilterRules

Phone12+PC/2in113+Tablet12+

getDomainFilterRules(admin: Want): Array<DomainFilterRule>

查询设备域名过滤规则。适用于企业网络安全审计场景,例如检查当前域名过滤策略配置、审计域名访问控制规则、验证域名过滤规则是否正确执行、排查域名访问问题,帮助企业审核和验证域名访问控制策略,确保网络访问控制符合安全要求。

API version 21及之前版本,仅支持IPv4。从API version 22开始,支持IPv4和IPv6。

从API version 23开始,支持LogType

需要权限: ohos.permission.ENTERPRISE_MANAGE_NETWORK

系统能力: SystemCapability.Customization.EnterpriseDeviceManager

模型约束: 此接口仅可在Stage模型下使用。

参数:

展开
参数名 类型 必填 说明
admin Want 企业设备管理扩展组件。Want中必须包含企业设备管理扩展能力的abilityName和所在应用的bundleName。

返回值:

展开
类型 说明
Array<DomainFilterRule> 返回当前设备配置的域名过滤规则列表,当方法调用错误时会抛出异常。

错误码

以下错误码的详细介绍请参见企业设备管理错误码通用错误码

展开
错误码ID 错误信息
9200001 The application is not an administrator application of the device.
9200002 The administrator application does not have permission to manage the device.
201 Permission verification failed. The application does not have the permission required to call the API.
401 Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types; 3. Parameter verification failed.

示例:

收起
自动换行
深色代码主题
复制
  1. import { networkManager } from '@kit.MDMKit';
  2. import { Want } from '@kit.AbilityKit';
  3. let wantTemp: Want = {
  4. // 需根据实际情况进行替换
  5. bundleName: 'com.example.myapplication',
  6. abilityName: 'EnterpriseAdminAbility'
  7. };
  8. let domainFilterRule: Array<networkManager.DomainFilterRule>;
  9. try {
  10. domainFilterRule = networkManager.getDomainFilterRules(wantTemp);
  11. console.info('Succeeded in getting domain filter rules');
  12. } catch (err) {
  13. console.error(`Failed to get domain filter rules. Code: ${err.code}, message: ${err.message}`);
  14. }

networkManager.turnOnMobileData20+

Phone20+PC/2in120+Tablet20+

turnOnMobileData(admin: Want, isForce: boolean): void

开启移动数据网络。

需要权限: ohos.permission.ENTERPRISE_MANAGE_NETWORK

系统能力: SystemCapability.Customization.EnterpriseDeviceManager

模型约束: 此接口仅可在Stage模型下使用。

冲突规则: 任意MDM应用通过setDisallowedPolicy接口禁用了移动数据网络,则无法通过本接口直接开启移动数据网络。

参数:

展开
参数名 类型 必填 说明
admin Want 企业设备管理扩展组件。Want中必须包含企业设备管理扩展能力的abilityName和所在应用的bundleName。
isForce boolean 是否强制打开移动数据网络。true表示强制开启,强制开启后不支持用户在设备上手动关闭,必须采用turnOffMobileData接口关闭。false表示非强制开启,此时用户可以在设备上手动操作关闭移动数据网络。适用于企业网络安全管控场景,例如防止通过移动数据网络进行数据泄露、控制网络连接方式、降低通信成本、确保设备仅使用企业网络,帮助企业控制设备网络访问方式,防止通过移动数据网络的安全风险和数据外泄。

错误码

以下错误码的详细介绍请参见企业设备管理错误码通用错误码

展开
错误码ID 错误信息
9200001 The application is not an administrator application of the device.
9200002 The administrator application does not have permission to manage the device.
201 Permission verification failed. The application does not have the permission required to call the API.

示例:

收起
自动换行
深色代码主题
复制
  1. import { networkManager } from '@kit.MDMKit';
  2. import { Want } from '@kit.AbilityKit';
  3. let wantTemp: Want = {
  4. // 需根据实际情况进行替换
  5. bundleName: 'com.example.myapplication',
  6. abilityName: 'EnterpriseAdminAbility'
  7. };
  8. try {
  9. networkManager.turnOnMobileData(wantTemp, true);
  10. console.info(`Turn on mobile data succeeded`);
  11. } catch (err) {
  12. console.error(`Failed to turn on mobile data. Code: ${err.code}, message: ${err.message}`);
  13. }

networkManager.turnOffMobileData20+

Phone20+PC/2in120+Tablet20+

turnOffMobileData(admin: Want): void

关闭移动数据网络。

需要权限: ohos.permission.ENTERPRISE_MANAGE_NETWORK

系统能力: SystemCapability.Customization.EnterpriseDeviceManager

模型约束: 此接口仅可在Stage模型下使用。

冲突规则: 任意MDM应用通过setDisallowedPolicy接口禁用了移动数据网络,则无法通过本接口直接关闭移动数据网络。

参数:

展开
参数名 类型 必填 说明
admin Want 企业设备管理扩展组件。Want中必须包含企业设备管理扩展能力的abilityName和所在应用的bundleName。

错误码

以下错误码的详细介绍请参见企业设备管理错误码通用错误码

展开
错误码ID 错误信息
9200001 The application is not an administrator application of the device.
9200002 The administrator application does not have permission to manage the device.
201 Permission verification failed. The application does not have the permission required to call the API.

示例:

收起
自动换行
深色代码主题
复制
  1. import { networkManager } from '@kit.MDMKit';
  2. import { Want } from '@kit.AbilityKit';
  3. let wantTemp: Want = {
  4. // 需根据实际情况进行替换
  5. bundleName: 'com.example.myapplication',
  6. abilityName: 'EnterpriseAdminAbility'
  7. };
  8. try {
  9. networkManager.turnOffMobileData(wantTemp);
  10. console.info(`Turn off mobile data succeeded`);
  11. } catch (err) {
  12. console.error(`Failed to turn off mobile data. Code: ${err.code}, message: ${err.message}`);
  13. }

networkManager.addApn20+

Phone20+Tablet20+

addApn(admin: Want, apnInfo: Record<string, string>): void

添加APN(Access Point Name,接入点名称)。

需要权限: ohos.permission.ENTERPRISE_MANAGE_APN

系统能力: SystemCapability.Customization.EnterpriseDeviceManager

模型约束: 此接口仅可在Stage模型下使用。

冲突规则: 配置

参数:

展开
参数名 类型 必填 说明
admin Want 企业设备管理扩展组件。Want中必须包含企业设备管理扩展能力的abilityName和所在应用的bundleName。
apnInfo Record<string, string>

需要添加的APN参数信息。设置后系统将使用这些参数配置移动数据网络的接入点,影响网络连接方式和数据传输路径。

- apnName:APN配置的名称标识符,必选。

- mcc:3位数字的移动国家代码,必选。

- mnc:2-3位数字的移动网络代码,必选。

- apn:接入点名称,必选。

- type:APN的服务类型,可选。

- user:APN身份验证的用户名,可选。

- password:APN身份验证的密码,可选。

- proxy:普通数据连接的代理服务器地址,可选。

- mmsproxy:彩信服务的专用代理地址,可选。

- authType:APN的认证协议类型,可选。

错误码

以下错误码的详细介绍请参见企业设备管理错误码通用错误码

展开
错误码ID 错误信息
9200001 The application is not an administrator application of the device.
9200002 The administrator application does not have permission to manage the device.
201 Permission verification failed. The application does not have the permission required to call the API.

示例:

收起
自动换行
深色代码主题
复制
  1. import { Want } from '@kit.AbilityKit';
  2. import { networkManager } from '@kit.MDMKit';
  3. let wantTemp: Want = {
  4. // 需根据实际情况进行替换
  5. bundleName: 'com.example.myapplication',
  6. abilityName: 'EnterpriseAdminAbility'
  7. };
  8. let apnInfo: Record<string, string> = {
  9. // 需根据实际情况进行替换
  10. "apnName": "CTNET",
  11. "apn": "CTNET",
  12. "mnc": "11",
  13. "mcc": "460"
  14. };
  15. try {
  16. networkManager.addApn(wantTemp, apnInfo);
  17. console.info(`Succeeded in adding apn.`);
  18. } catch (err) {
  19. console.error(`Failed to add apn. Code: ${err.code}, message: ${err.message}`);
  20. }

networkManager.deleteApn20+

Phone20+Tablet20+

deleteApn(admin: Want, apnId: string): void

删除APN。适用于企业移动网络配置管理场景,例如清理无效的APN配置、调整移动网络接入点配置、防止使用错误的APN配置,帮助企业维护正确的移动网络配置,确保设备使用正确的接入点连接移动网络。

需要权限: ohos.permission.ENTERPRISE_MANAGE_APN

系统能力: SystemCapability.Customization.EnterpriseDeviceManager

模型约束: 此接口仅可在Stage模型下使用。

冲突规则: 配置

参数:

展开
参数名 类型 必填 说明
admin Want 企业设备管理扩展组件。Want中必须包含企业设备管理扩展能力的abilityName和所在应用的bundleName。
apnId string 需要删除的APN ID。设置后系统将移除该APN配置,对应的接入点将不再可用。可以通过networkManager.queryApn获取设备APN信息。

错误码

以下错误码的详细介绍请参见企业设备管理错误码通用错误码

展开
错误码ID 错误信息
9200001 The application is not an administrator application of the device.
9200002 The administrator application does not have permission to manage the device.
201 Permission verification failed. The application does not have the permission required to call the API.

示例:

收起
自动换行
深色代码主题
复制
  1. import { Want } from '@kit.AbilityKit';
  2. import { networkManager } from '@kit.MDMKit';
  3. let wantTemp: Want = {
  4. // 需根据实际情况进行替换
  5. bundleName: 'com.example.myapplication',
  6. abilityName: 'EnterpriseAdminAbility'
  7. };
  8. let apnId: string = "1"; // 需根据实际情况进行替换
  9. try {
  10. networkManager.deleteApn(wantTemp, apnId);
  11. console.info(`Succeeded in deleting apn.`);
  12. } catch (err) {
  13. console.error(`Failed to delete apn. Code: ${err.code}, message: ${err.message}`);
  14. }

networkManager.updateApn20+

Phone20+Tablet20+

updateApn(admin: Want, apnInfo: Record<string, string>, apnId: string): void

更新APN。适用于企业移动网络配置管理场景,例如修改APN配置参数、调整运营商设置、优化移动网络连接性能,帮助企业灵活调整移动网络配置,确保设备移动网络连接参数符合实际需求。

需要权限: ohos.permission.ENTERPRISE_MANAGE_APN

系统能力: SystemCapability.Customization.EnterpriseDeviceManager

模型约束: 此接口仅可在Stage模型下使用。

冲突规则: 配置

参数:

展开
参数名 类型 必填 说明
admin Want 企业设备管理扩展组件。Want中必须包含企业设备管理扩展能力的abilityName和所在应用的bundleName。
apnInfo Record<string, string>

需要更新的APN参数信息。设置后系统将使用更新后的参数修改对应APN配置,影响网络连接方式和数据传输路径。

- apnName:APN配置的名称标识符,可选。

- mcc:3位数字的移动国家代码,可选。

- mnc:2-3位数字的移动网络代码,可选。

- APN:接入点名称,可选。

- type:APN的服务类型,可选。

- user:APN身份验证的用户名,可选。

- password:APN身份验证的密码,可选。

- proxy:普通数据连接的代理服务器地址,可选。

- mmsproxy:彩信服务的专用代理地址,可选。

- authType:APN的认证协议类型,可选。

apnId string 需要更新的APN ID。可以通过networkManager.queryApn获取设备APN信息。

错误码

以下错误码的详细介绍请参见企业设备管理错误码通用错误码

展开
错误码ID 错误信息
9200001 The application is not an administrator application of the device.
9200002 The administrator application does not have permission to manage the device.
201 Permission verification failed. The application does not have the permission required to call the API.

示例:

收起
自动换行
深色代码主题
复制
  1. import { Want } from '@kit.AbilityKit';
  2. import { networkManager } from '@kit.MDMKit';
  3. let wantTemp: Want = {
  4. // 需根据实际情况进行替换
  5. bundleName: 'com.example.myapplication',
  6. abilityName: 'EnterpriseAdminAbility'
  7. };
  8. let apnInfo: Record<string, string> = {
  9. // 需根据实际情况进行替换
  10. "apnName": "CTNET",
  11. "apn": "CTNET",
  12. "mnc": "11",
  13. "mcc": "460"
  14. };
  15. let apnId: string = "1"; // 需根据实际情况进行替换
  16. try {
  17. networkManager.updateApn(wantTemp, apnInfo, apnId);
  18. console.info(`Succeeded in updating apn.`);
  19. } catch (err) {
  20. console.error(`Failed to update apn. Code: ${err.code}, message: ${err.message}`);
  21. }

networkManager.setPreferredApn20+

Phone20+Tablet20+

setPreferredApn(admin: Want, apnId: string): void

设置优选APN。

需要权限: ohos.permission.ENTERPRISE_MANAGE_APN

系统能力: SystemCapability.Customization.EnterpriseDeviceManager

模型约束: 此接口仅可在Stage模型下使用。

冲突规则: 配置

参数:

展开
参数名 类型 必填 说明
admin Want 企业设备管理扩展组件。Want中必须包含企业设备管理扩展能力的abilityName和所在应用的bundleName。
apnId string 需要设置成优选的APN ID。可以通过networkManager.queryApn获取设备APN信息。

错误码

以下错误码的详细介绍请参见企业设备管理错误码通用错误码

展开
错误码ID 错误信息
9200001 The application is not an administrator application of the device.
9200002 The administrator application does not have permission to manage the device.
201 Permission verification failed. The application does not have the permission required to call the API.

示例:

收起
自动换行
深色代码主题
复制
  1. import { Want } from '@kit.AbilityKit';
  2. import { networkManager } from '@kit.MDMKit';
  3. let wantTemp: Want = {
  4. // 需根据实际情况进行替换
  5. bundleName: 'com.example.myapplication',
  6. abilityName: 'EnterpriseAdminAbility'
  7. };
  8. let apnId: string = "1"; // 需根据实际情况进行替换
  9. try {
  10. networkManager.setPreferredApn(wantTemp, apnId);
  11. console.info(`Succeeded in setting preferred apn.`);
  12. } catch (err) {
  13. console.error(`Failed to set preferred apn. Code: ${err.code}, message: ${err.message}`);
  14. }

networkManager.queryApn20+

Phone20+Tablet20+

queryApn(admin: Want, apnInfo: Record<string, string>): Array<string>

查询符合特定APN信息的APN ID。适用于企业移动网络配置审计场景,例如查找特定配置的APN、验证APN配置是否存在、为APN管理操作提供APN ID参数,帮助企业查找和管理APN配置,为APN的更新和删除操作提供必要的参数信息。

需要权限: ohos.permission.ENTERPRISE_MANAGE_APN

系统能力: SystemCapability.Customization.EnterpriseDeviceManager

模型约束: 此接口仅可在Stage模型下使用。

参数:

展开
参数名 类型 必填 说明
admin Want 企业设备管理扩展组件。Want中必须包含企业设备管理扩展能力的abilityName和所在应用的bundleName。
apnInfo Record<string, string>

APN的查询条件。设置后系统将根据这些条件筛选匹配的APN配置,返回符合条件的APN ID列表。

- apnName:APN配置的名称标识符,可选。

- mcc:3位数字的移动国家代码,可选。

- mnc:2-3位数字的移动网络代码,可选。

- apn:接入点名称,可选。

- type:APN的服务类型,可选。

- user:APN身份验证的用户名,可选。

- proxy:普通数据连接的代理服务器地址,可选。

- mmsproxy:彩信服务的专用代理地址,可选。

- authType:APN的认证协议类型,可选。

返回值:

展开
类型 说明
Array<string> 满足要求的APN ID。

错误码

以下错误码的详细介绍请参见企业设备管理错误码通用错误码

展开
错误码ID 错误信息
9200001 The application is not an administrator application of the device.
9200002 The administrator application does not have permission to manage the device.
201 Permission verification failed. The application does not have the permission required to call the API.

示例:

收起
自动换行
深色代码主题
复制
  1. import { Want } from '@kit.AbilityKit';
  2. import { networkManager } from '@kit.MDMKit';
  3. let wantTemp: Want = {
  4. // 需根据实际情况进行替换
  5. bundleName: 'com.example.myapplication',
  6. abilityName: 'EnterpriseAdminAbility'
  7. };
  8. let apnInfo: Record<string, string> = {
  9. // 需根据实际情况进行替换
  10. "apnName": "CTNET",
  11. "apn": "CTNET",
  12. "mnc": "11",
  13. "mcc": "460"
  14. };
  15. try {
  16. let queryResult: Array<string> = networkManager.queryApn(wantTemp, apnInfo);
  17. console.info(`Succeeded in querying apn, result : ${JSON.stringify(queryResult)}`);
  18. } catch (err) {
  19. console.error(`Failed to query apn. Code: ${err.code}, message: ${err.message}`);
  20. }

networkManager.queryApn20+

Phone20+Tablet20+

queryApn(admin: Want, apnId: string): Record<string, string>

查询特定APN的APN参数信息。适用于企业移动网络配置审计场景,例如检查特定APN的配置参数、验证APN配置是否正确、审计移动网络接入点配置,帮助企业审核和验证APN配置,确保移动网络配置符合要求。

需要权限: ohos.permission.ENTERPRISE_MANAGE_APN

系统能力: SystemCapability.Customization.EnterpriseDeviceManager

模型约束: 此接口仅可在Stage模型下使用。

参数:

展开
参数名 类型 必填 说明
admin Want 企业设备管理扩展组件。Want中必须包含企业设备管理扩展能力的abilityName和所在应用的bundleName。
apnId string 指定的APN ID。设置后将查询该APN ID对应的详细参数配置信息。可以通过networkManager.queryApn获取设备信息。

返回值:

展开
类型 说明
Record<string, string>

指定APN ID的APN参数信息。

- apnName:APN配置的名称标识符。

- mcc:3位数字的移动国家代码。

- mnc:2-3位数字的移动网络代码。

- apn:接入点名称。

- type:APN的服务类型。

- user:APN身份验证的用户名。

- proxy:普通数据连接的代理服务器地址。

- mmsproxy:彩信服务的专用代理地址。

- authType:APN的认证协议类型。

错误码

以下错误码的详细介绍请参见企业设备管理错误码通用错误码

展开
错误码ID 错误信息
9200001 The application is not an administrator application of the device.
9200002 The administrator application does not have permission to manage the device.
201 Permission verification failed. The application does not have the permission required to call the API.

示例:

收起
自动换行
深色代码主题
复制
  1. import { Want } from '@kit.AbilityKit';
  2. import { networkManager } from '@kit.MDMKit';
  3. let wantTemp: Want = {
  4. // 需根据实际情况进行替换
  5. bundleName: 'com.example.myapplication',
  6. abilityName: 'EnterpriseAdminAbility'
  7. };
  8. let apnId: string = "1"; // 需根据实际情况进行替换
  9. try {
  10. let queryResult: Record<string, string> = networkManager.queryApn(wantTemp, apnId);
  11. console.info(`Succeeded in querying apn, result : ${JSON.stringify(queryResult)}`);
  12. } catch (err) {
  13. console.error(`Failed to query apn. Code: ${err.code}, message: ${err.message}`);
  14. }

networkManager.setEthernetConfig23+

Phone23+PC/2in123+Tablet23+

setEthernetConfig(admin: Want, networkInterface: string, config: InterfaceConfig): void

设置特定以太网网络接口的IP地址。适用于企业网络管理场景,例如配置设备静态IP地址、统一管理企业网络设备IP分配、设置网络参数,帮助企业集中管理网络配置,确保设备网络参数符合企业网络管理策略。

需要权限: ohos.permission.ENTERPRISE_MANAGE_NETWORK

系统能力: SystemCapability.Customization.EnterpriseDeviceManager

模型约束: 此接口仅可在Stage模型下使用。

冲突规则: 配置

参数:

展开
参数名 类型 必填 说明
admin Want 企业设备管理扩展组件。Want中必须包含企业设备管理扩展能力的abilityName和所在应用的bundleName。
networkInterface string 要设置的网络接口名。
config InterfaceConfig 要设置的网络接口配置信息。

错误码

以下错误码的详细介绍请参见企业设备管理错误码通用错误码

展开
错误码ID 错误信息
9200001 The application is not an administrator application of the device.
9200002 The administrator application does not have permission to manage the device.
9200012 Parameter verification failed.
9201010 Ethernet configuration failed. Ethernet device not connected.
201 Permission verification failed. The application does not have the permission required to call the API.

示例:

收起
自动换行
深色代码主题
复制
  1. import { Want } from '@kit.AbilityKit';
  2. import { networkManager } from '@kit.MDMKit';
  3. let wantTemp: Want = {
  4. // 需根据实际情况进行替换
  5. bundleName: 'com.example.myapplication',
  6. abilityName: 'EnterpriseAdminAbility'
  7. };
  8. let config: networkManager.InterfaceConfig = {
  9. // 需根据实际情况进行替换
  10. "ipSetMode": networkManager.IpSetMode.STATIC,
  11. "ipAddress": "192.168.1.121",
  12. "gateway": "192.168.1.1",
  13. "netMask": "255.255.255.0",
  14. "dnsServers": "192.168.1.1"
  15. };
  16. let networkInterface: string = "eth0"; // 需根据实际情况进行替换
  17. try {
  18. networkManager.setEthernetConfig(wantTemp, networkInterface, config);
  19. console.info('Succeeded in setting ethernet config.');
  20. } catch (err) {
  21. console.error(`Failed to set ethernet config. Code: ${err.code}, message: ${err.message}`);
  22. }

FirewallRule

Phone12+PC/2in113+Tablet12+

防火墙过滤规则。

API version 21及之前版本,仅支持IPv4。从API version 22开始,支持IPv4和IPv6。

从API version 23开始,支持LogType

系统能力: SystemCapability.Customization.EnterpriseDeviceManager

模型约束: 此接口仅可在Stage模型下使用。

展开
名称 类型 只读 可选 说明
srcAddr string IP源地址。支持IP段,例如:192.168.0.0/22或者192.168.1.100-192.168.1.200
destAddr string IP目标地址。支持IP段,例如:192.168.0.0/22或者192.168.1.100-192.168.1.200
srcPort string 源端口。
destPort string 目标端口。
appUid string 应用uid,可以通过接口bundleManager.getInstalledBundleList获取bundleInfo.appInfo.uid。
direction Direction

规则链。

添加防火墙过滤规则时必填;

移除防火墙时非必填,当值为空时,表示清空所有的Direction链,且srcAddr,destAddr,srcPort,destPort,appUid也必须传入空值。

action Action

接收或者丢弃数据包。

添加防火墙过滤规则时必填;

移除防火墙时非必填,当值为空时,表示清空所有的匹配Action规则的链,且srcAddr,destAddr,srcPort,destPort,appUid也必须传入空值。

protocol Protocol 网络协议。当值为ALL或者ICMP时,设置srcPort与destPort无效。
family22+ number IP协议版本。支持取值为1或2,取值为1表示IPv4,取值为2表示IPv6。
logType23+ LogType

日志类型,当前仅支持配置NFLOG类型,该参数仅支持PC/2in1设备。

添加防火墙过滤规则时,此参数非必填。若填写,仅在丢弃或拒绝数据包时生效。生效后,在访问被过滤目的地址时,会记录网络数据包日志,并向上层提供可查询的日志信息,可以通过订阅安全审计数据获取。

移除防火墙过滤规则时,当清空某条链时非必填,不影响整条链的清空;当移除单条规则时,是否填写必须与该规则一致,否则可能导致过滤规则已经移除,但是日志还在记录的问题;相同过滤规则移除时必须按添加时的顺序移除。

获取防火墙过滤规则时,仅日志生效的场景可以获取到logType字段。

DomainFilterRule

Phone12+PC/2in113+Tablet12+

域名过滤规则。

API version 21及之前版本,仅支持IPv4。从API version 22开始,支持IPv4和IPv6。

从API version 23开始,支持LogType

系统能力: SystemCapability.Customization.EnterpriseDeviceManager

模型约束: 此接口仅可在Stage模型下使用。

展开
名称 类型 只读 可选 说明
domainName string 域名。添加域名过滤规则时必填。支持域名分段匹配,例如,domainName传入example.com,那么example.com、www.example.com、www.test.example.com会被匹配,linkexample.com不会被匹配。
appUid string 应用uid,可以通过接口bundleManager.getInstalledBundleList获取bundleInfo.appInfo.uid。
action Action

接收或者丢弃数据包。

添加域名过滤规则时必填;

移除域名过滤规则时非必填,当值为空时,表示清空所有的匹配Action规则的链,且domainName,appUid也必须传入空值。

direction15+ Direction

规则链。

添加域名过滤规则时非必填;当值为空,以及设为输出链或输入链时,实际效果为输出链。设为转发链时,appUid需设置为空,否则会报401错误码。

移除域名过滤规则时非必填,当值为空时,表示清空所有的Direction链,且domainName,appUid也必须传入空值。

family22+ number IP协议版本。支持取值为1或2,取值为1表示IPv4,取值为2表示IPv6。
logType23+ LogType

日志类型,当前仅支持配置NFLOG类型,该参数仅支持PC/2in1设备。

添加域名过滤规则时,此参数非必填。若填写,仅在丢弃或拒绝数据包时生效。生效后,在访问被过滤域名时,会记录网络数据包日志,并向上层提供可查询的日志信息,可以通过订阅安全审计数据获取。

移除域名过滤规则时,当清空某条链时非必填,不影响整条链的清空;当移除单条规则时,是否填写必须与该规则一致,否则可能导致过滤规则已经移除,但是日志还在记录的问题;相同过滤规则移除时必须按添加时的顺序移除。

获取域名过滤规则时,仅日志生效的场景可以获取到logType字段。

Direction

Phone12+PC/2in113+Tablet12+

规则链。

系统能力: SystemCapability.Customization.EnterpriseDeviceManager

模型约束: 此接口仅可在Stage模型下使用。

展开
名称 说明
INPUT 0 输入链。
OUTPUT 1 输出链。
FORWARD15+ 2 转发链。

Action

Phone12+PC/2in113+Tablet12+

数据包的行为。

系统能力: SystemCapability.Customization.EnterpriseDeviceManager

模型约束: 此接口仅可在Stage模型下使用。

展开
名称 说明
ALLOW 0 接收数据包。
DENY 1 丢弃数据包。
REJECT15+ 2 拒绝数据包。

Protocol

Phone12+PC/2in113+Tablet12+

网络协议。

系统能力: SystemCapability.Customization.EnterpriseDeviceManager

模型约束: 此接口仅可在Stage模型下使用。

展开
名称 说明
ALL 0 全部网络协议。
TCP 1 网络协议TCP。
UDP 2 网络协议UDP。
ICMP 3 网络协议ICMP。

LogType23+

Phone23+PC/2in123+Tablet23+

日志类型。

系统能力: SystemCapability.Customization.EnterpriseDeviceManager

模型约束: 此接口仅可在Stage模型下使用。

展开
名称 说明
NFLOG 0 内核Netfilter框架中的数据包日志功能。

InterfaceConfig23+

Phone23+PC/2in123+Tablet23+

以太网的网络接口配置。仅支持IPv4。

系统能力: SystemCapability.Customization.EnterpriseDeviceManager

模型约束: 此接口仅可在Stage模型下使用。

展开
名称 类型 只读 可选 说明
ipSetMode IpSetMode 以太网连接配置模式。
ipAddress string 静态IP地址,地址值范围0.0.0.0到255.255.255.255(DHCP模式无需配置)。
gateway string 网关,地址值范围0.0.0.0到255.255.255.255(DHCP模式无需配置)。
netMask string 子网掩码,地址值范围0.0.0.0到255.255.255.255(DHCP模式无需配置)。
dnsServers string DNS服务地址,地址值范围0.0.0.0到255.255.255.255(DHCP模式无需配置),多地址间用“,”隔开。

IpSetMode23+

Phone23+PC/2in123+Tablet23+

以太网连接模式。

系统能力: SystemCapability.Customization.EnterpriseDeviceManager

模型约束: 此接口仅可在Stage模型下使用。

展开
名称 说明
STATIC 0 以太网连接静态配置网络信息,设置为该模式时,需要同步设置IP地址、子网掩码、默认网关、DNS服务器。
DHCP 1 以太网连接动态配置网络信息,设置为该模式时,由网络中的DHCP服务器自动分配IP地址等信息。
在 开发与测试 开放能力API 中进行搜索
请输入您想要搜索的关键词