• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1# @ohos.enterprise.securityManager(安全管理)(系统接口)
2<!--Kit: MDM Kit-->
3<!--Subsystem: Customization-->
4<!--Owner: @huanleima-->
5<!--Designer: @liuzuming-->
6<!--Tester: @lpw_work-->
7<!--Adviser: @Brilliantry_Rui-->
8
9本模块提供设备安全管理的能力,包括查询安全补丁状态、查询文件加密状态等。
10
11> **说明:**
12>
13> 本模块首批接口从API version 11开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。
14>
15> 本模块接口仅可在Stage模型下使用。
16>
17> 本模块接口仅对[设备管理应用](../../mdm/mdm-kit-term.md#mdm应用设备管理应用)开放,需将[设备管理应用激活](js-apis-enterprise-adminManager-sys.md#adminmanagerenableadmin-2)后调用。
18>
19> 当前页面仅包含本模块的系统接口,其他公开接口参见。其他公开接口参见[@ohos.enterprise.securityManager](js-apis-enterprise-securityManager.md)。
20
21## 导入模块
22
23```ts
24import { securityManager } from '@kit.MDMKit';
25```
26
27## securityManager.getSecurityPatchTag
28
29getSecurityPatchTag(admin: Want): string
30
31查询设备安全补丁Tag。
32
33**需要权限:** ohos.permission.ENTERPRISE_MANAGE_SECURITY
34
35**系统能力:** SystemCapability.Customization.EnterpriseDeviceManager
36
37**模型约束:** 此接口仅可在Stage模型下使用。
38
39**系统接口:** 此接口为系统接口。
40
41**参数:**
42
43| 参数名 | 类型                                                    | 必填 | 说明                   |
44| ------ | ------------------------------------------------------- | ---- | ---------------------- |
45| admin  | [Want](../apis-ability-kit/js-apis-app-ability-want.md) | 是   | 企业设备管理扩展组件。 |
46
47**返回值:**
48
49| 类型                   | 说明                      |
50| --------------------- | ------------------------- |
51| string | 补丁Tag结果,返回补丁Tag字符串。 |
52
53**错误码**:
54
55以下错误码的详细介绍请参见[企业设备管理错误码](errorcode-enterpriseDeviceManager.md)和[通用错误码](../errorcode-universal.md)。
56
57| 错误码ID | 错误信息                                                                     |
58| ------- | ---------------------------------------------------------------------------- |
59| 9200001 | The application is not an administrator application of the device. |
60| 9200002 | The administrator application does not have permission to manage the device. |
61| 201 | Permission verification failed. The application does not have the permission required to call the API. |
62| 202 | Permission verification failed. A non-system application calls a system API. |
63| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types; 3. Parameter verification failed. |
64
65**示例:**
66
67```ts
68import { securityManager } from '@kit.MDMKit';
69import { Want } from '@kit.AbilityKit';
70
71let wantTemp: Want = {
72  // 需根据实际情况进行替换
73  bundleName: 'com.example.myapplication',
74  abilityName: 'EntryAbility'
75};
76
77try {
78    let res: string = securityManager.getSecurityPatchTag(wantTemp);
79    console.info(`Succeeded in getting security patch tag. tag: ${res}`);
80} catch(err) {
81    console.error(`Failed to get security patch tag. Code: ${err.code}, message: ${err.message}`);
82}
83```
84## securityManager.getDeviceEncryptionStatus
85
86getDeviceEncryptionStatus(admin: Want): DeviceEncryptionStatus
87
88查询设备文件系统加密状态。
89
90**需要权限:** ohos.permission.ENTERPRISE_MANAGE_SECURITY
91
92**系统能力:** SystemCapability.Customization.EnterpriseDeviceManager
93
94**模型约束:** 此接口仅可在Stage模型下使用。
95
96**系统接口:** 此接口为系统接口。
97
98**参数:**
99
100| 参数名      | 类型                                       | 必填   | 说明                       |
101| -------- | ---------------------------------------- | ---- | ------------------------------- |
102| admin    | [Want](../apis-ability-kit/js-apis-app-ability-want.md)     | 是    | 企业设备管理扩展组件。            |
103
104**返回值:**
105
106| 类型                                              | 说明                                                   |
107| ------------------------------------------------- | ------------------------------------------------------ |
108| [DeviceEncryptionStatus](#deviceencryptionstatus) | 文件加密状态结构体,现只含有是否进行加密字段(bool)。 |
109
110**错误码**:
111
112以下错误码的详细介绍请参见[企业设备管理错误码](errorcode-enterpriseDeviceManager.md)和[通用错误码](../errorcode-universal.md)。
113
114| 错误码ID | 错误信息                                                                       |
115| ------- | ---------------------------------------------------------------------------- |
116| 9200001 | The application is not an administrator application of the device. |
117| 9200002 | The administrator application does not have permission to manage the device. |
118| 201 | Permission verification failed. The application does not have the permission required to call the API. |
119| 202 | Permission verification failed. A non-system application calls a system API. |
120| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types; 3. Parameter verification failed. |
121
122**示例:**
123
124```ts
125import { securityManager } from '@kit.MDMKit';
126import { Want } from '@kit.AbilityKit';
127
128let wantTemp: Want = {
129  // 需根据实际情况进行替换
130  bundleName: 'com.example.myapplication',
131  abilityName: 'EntryAbility'
132};
133
134try {
135    let result: securityManager.DeviceEncryptionStatus = securityManager.getDeviceEncryptionStatus(wantTemp);
136    console.info(`Succeeded in getting device encryption status. isEncrypted: ${result.isEncrypted}`);
137} catch(err) {
138    console.error(`Failed to get device encryption status. Code: ${err.code}, message: ${err.message}`);
139}
140```
141
142## securityManager.getPasswordPolicy<sup>12+</sup>
143
144getPasswordPolicy(): PasswordPolicy
145
146获取设备口令策略。
147
148**系统能力:** SystemCapability.Customization.EnterpriseDeviceManager
149
150**模型约束:** 此接口仅可在Stage模型下使用。
151
152**系统接口:** 此接口为系统接口。
153
154**返回值:**
155
156| 类型                   | 说明                      |
157| --------------------- | ------------------------- |
158| [PasswordPolicy](./js-apis-enterprise-securityManager.md#passwordpolicy) | 设备口令策略。 |
159
160**错误码**:
161
162以下错误码的详细介绍请参见[通用错误码](../errorcode-universal.md)。
163
164| 错误码ID | 错误信息                                                                       |
165| ------- | ---------------------------------------------------------------------------- |
166| 202 | Permission verification failed. A non-system application calls a system API. |
167
168**示例:**
169
170```ts
171import { securityManager } from '@kit.MDMKit';
172
173try {
174    let result: securityManager.PasswordPolicy = securityManager.getPasswordPolicy();
175    console.info(`Succeeded in getting password policy, result : ${JSON.stringify(result)}`);
176} catch(err) {
177    console.error(`Failed to get password policy. Code: ${err.code}, message: ${err.message}`);
178}
179```
180
181## DeviceEncryptionStatus
182
183设备管理应用的文件系统加密状态。
184
185**系统能力:** SystemCapability.Customization.EnterpriseDeviceManager
186
187**模型约束:** 此接口仅可在Stage模型下使用。
188
189**系统接口:** 此接口为系统接口。
190
191| 名称         | 类型     | 只读 | 可选 |  说明                            |
192| ----------- | --------| ---- | ----| ---------------------------- |
193| isEncrypted | boolean | 否   | 否 | 表示设备的文件系统是否加密。true:表示已加密。false:表示未加密。 |
194