interface_sdk-js/api/@ohos.enterprise.securityManager.d.ts
huangxiao 56f7a161c7 [EDM]水印策略api
Signed-off-by: huangxiao <1286409928@qq.com>
2024-09-21 15:07:31 +08:00

398 lines
18 KiB
TypeScript

/*
* Copyright (c) 2023-2024 Huawei Device Co., Ltd.
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
/**
* @file
* @kit MDMKit
*/
import type Want from './@ohos.app.ability.Want';
import type image from './@ohos.multimedia.image';
/**
* This module provides the capability to manage the security of the enterprise devices.
*
* @namespace securityManager
* @syscap SystemCapability.Customization.EnterpriseDeviceManager
* @stagemodelonly
* @since 11
*/
declare namespace securityManager {
/**
* The device encryption status.
*
* @typedef DeviceEncryptionStatus
* @syscap SystemCapability.Customization.EnterpriseDeviceManager
* @systemapi
* @stagemodelonly
* @since 11
*/
export interface DeviceEncryptionStatus {
/**
* True indicates device is encrypted.
*
* @type { boolean }
* @syscap SystemCapability.Customization.EnterpriseDeviceManager
* @systemapi
* @stagemodelonly
* @since 11
*/
isEncrypted: boolean;
}
/**
* User certificate data.
*
* @typedef CertBlob
* @syscap SystemCapability.Customization.EnterpriseDeviceManager
* @stagemodelonly
* @since 12
*/
export interface CertBlob {
/**
* The certificate content
*
* @type { Uint8Array }
* @syscap SystemCapability.Customization.EnterpriseDeviceManager
* @stagemodelonly
* @since 12
*/
inData: Uint8Array;
/**
* The certificate alias
*
* @type { string }
* @syscap SystemCapability.Customization.EnterpriseDeviceManager
* @stagemodelonly
* @since 12
*/
alias: string;
}
/**
* Gets device security patch tag.
* This function can be called by a super administrator.
*
* @permission ohos.permission.ENTERPRISE_MANAGE_SECURITY
* @param { Want } admin - admin indicates the enterprise admin extension ability information.
* The admin must have the corresponding permission.
* @returns { string } the security patch tag of the device.
* @throws { BusinessError } 9200001 - The application is not an administrator application of the device.
* @throws { BusinessError } 9200002 - The administrator application does not have permission to manage the device.
* @throws { BusinessError } 201 - Permission verification failed. The application does not have the permission required to call the API.
* @throws { BusinessError } 202 - Permission verification failed. A non-system application calls a system API.
* @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
* 2. Incorrect parameter types; 3. Parameter verification failed.
* @syscap SystemCapability.Customization.EnterpriseDeviceManager
* @systemapi
* @stagemodelonly
* @since 11
*/
function getSecurityPatchTag(admin: Want): string;
/**
* Gets device encryption status.
* This function can be called by a super administrator.
*
* @permission ohos.permission.ENTERPRISE_MANAGE_SECURITY
* @param { Want } admin - admin indicates the enterprise admin extension ability information.
* The admin must have the corresponding permission.
* @returns { DeviceEncryptionStatus } device encryption status.
* @throws { BusinessError } 9200001 - The application is not an administrator application of the device.
* @throws { BusinessError } 9200002 - The administrator application does not have permission to manage the device.
* @throws { BusinessError } 201 - Permission verification failed. The application does not have the permission required to call the API.
* @throws { BusinessError } 202 - Permission verification failed. A non-system application calls a system API.
* @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
* 2. Incorrect parameter types; 3. Parameter verification failed.
* @syscap SystemCapability.Customization.EnterpriseDeviceManager
* @systemapi
* @stagemodelonly
* @since 11
*/
function getDeviceEncryptionStatus(admin: Want): DeviceEncryptionStatus;
/**
* Gets device security policy of the specific type.
* This function can be called by a super administrator.
*
* @permission ohos.permission.ENTERPRISE_MANAGE_SECURITY
* @param { Want } admin - admin indicates the enterprise admin extension ability information.
* The admin must have the corresponding permission.
* @param { string } item - item indicates the specified security policy that needs to be obtained, including patch and encryption.
* patch means the device security patch tag, and encryption means the device encryption status.
* @returns { string } security policy of the specific type.
* @throws { BusinessError } 9200001 - The application is not an administrator application of the device.
* @throws { BusinessError } 9200002 - The administrator application does not have permission to manage the device.
* @throws { BusinessError } 201 - Permission verification failed. The application does not have the permission required to call the API.
* @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
* 2. Incorrect parameter types; 3. Parameter verification failed.
* @syscap SystemCapability.Customization.EnterpriseDeviceManager
* @stagemodelonly
* @since 12
*/
function getSecurityStatus(admin: Want, item: string): string;
/**
* Install user certificate.
* This function can be called by a super administrator.
*
* @permission ohos.permission.ENTERPRISE_MANAGE_CERTIFICATE
* @param { Want } admin - admin indicates the enterprise admin extension ability information.
* The admin must have the corresponding permission.
* @param { CertBlob } certificate - certificate file content and alias. It cannot be empty or more than 40 characters.
* @returns { Promise<string> } the promise carries the uri of the certificate used to uninstall
* @throws { BusinessError } 9200001 - The application is not an administrator application of the device.
* @throws { BusinessError } 9200002 - The administrator application does not have permission to manage the device.
* @throws { BusinessError } 9201001 - Failed to manage the certificate.
* @throws { BusinessError } 201 - Permission verification failed. The application does not have the permission required to call the API.
* @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
* 2. Incorrect parameter types; 3. Parameter verification failed.
* @syscap SystemCapability.Customization.EnterpriseDeviceManager
* @stagemodelonly
* @since 12
*/
function installUserCertificate(admin: Want, certificate: CertBlob): Promise<string>;
/**
* Uninstall user certificate.
* This function can be called by a super administrator.
*
* @permission ohos.permission.ENTERPRISE_MANAGE_CERTIFICATE
* @param { Want } admin - admin indicates the enterprise admin extension ability information.
* The admin must have the corresponding permission.
* @param { string } certUri - uri of the certificate. It cannot be empty or more than 64 characters.
* @returns { Promise<void> } the promise returned by the uninstallUserCertificate.
* @throws { BusinessError } 9200001 - The application is not an administrator application of the device.
* @throws { BusinessError } 9200002 - The administrator application does not have permission to manage the device.
* @throws { BusinessError } 9201001 - Failed to manage the certificate.
* @throws { BusinessError } 201 - Permission verification failed. The application does not have the permission required to call the API.
* @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
* 2. Incorrect parameter types; 3. Parameter verification failed.
* @syscap SystemCapability.Customization.EnterpriseDeviceManager
* @stagemodelonly
* @since 12
*/
function uninstallUserCertificate(admin: Want, certUri: string): Promise<void>;
/**
* Sets the password policy of the device.
*
* @permission ohos.permission.ENTERPRISE_MANAGE_SECURITY
* @param { Want } admin - admin indicates the enterprise admin extension ability information.
* The admin must have the corresponding permission.
* @param { PasswordPolicy } policy - password policy to be set.
* @throws { BusinessError } 9200001 - The application is not an administrator application of the device.
* @throws { BusinessError } 9200002 - The administrator application does not have permission to manage the device.
* @throws { BusinessError } 201 - Permission verification failed. The application does not have the permission required to call the API.
* @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
* 2. Incorrect parameter types; 3. Parameter verification failed.
* @syscap SystemCapability.Customization.EnterpriseDeviceManager
* @stagemodelonly
* @since 12
*/
function setPasswordPolicy(admin: Want, policy: PasswordPolicy): void;
/**
* Gets the password policy of the device.
*
* @permission ohos.permission.ENTERPRISE_MANAGE_SECURITY
* @param { Want } admin - admin indicates the enterprise admin extension ability information.
* The admin must have the corresponding permission.
* @returns { PasswordPolicy } the password policy of the device.
* @throws { BusinessError } 9200001 - The application is not an administrator application of the device.
* @throws { BusinessError } 9200002 - The administrator application does not have permission to manage the device.
* @throws { BusinessError } 201 - Permission verification failed. The application does not have the permission required to call the API.
* @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
* 2. Incorrect parameter types; 3. Parameter verification failed.
* @syscap SystemCapability.Customization.EnterpriseDeviceManager
* @stagemodelonly
* @since 12
*/
function getPasswordPolicy(admin: Want): PasswordPolicy;
/**
* Gets the password policy of the device.
*
* @returns { PasswordPolicy } the password policy of the device.
* @throws { BusinessError } 202 - Permission verification failed. A non-system application calls a system API.
* @syscap SystemCapability.Customization.EnterpriseDeviceManager
* @systemapi
* @stagemodelonly
* @since 12
*/
function getPasswordPolicy(): PasswordPolicy;
/**
* Sets the application's clipboard policy of the device.
*
* @permission ohos.permission.ENTERPRISE_MANAGE_SECURITY
* @param { Want } admin - admin indicates the administrator ability information.
* @param { number } tokenId - tokenId indicates the token id of the application.
* @param { ClipboardPolicy } policy - clipboard policy to be set.
* @throws { BusinessError } 9200001 - The application is not an administrator application of the device.
* @throws { BusinessError } 9200002 - The administrator application does not have permission to manage the device.
* @throws { BusinessError } 201 - Permission verification failed. The application does not have the permission required to call the API.
* @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
* 2. Incorrect parameter types; 3. Parameter verification failed.
* @syscap SystemCapability.Customization.EnterpriseDeviceManager
* @stagemodelonly
* @since 12
*/
function setAppClipboardPolicy(admin: Want, tokenId: number, policy: ClipboardPolicy): void;
/**
* Gets the application's clipboard policy of the device.
*
* @permission ohos.permission.ENTERPRISE_MANAGE_SECURITY
* @param { Want } admin - admin indicates the administrator ability information.
* @param { number } [tokenId] - tokenId indicates the token id of the application.
* @returns { string } the json string of clipboard policy for each application of the device.
* @throws { BusinessError } 9200001 - The application is not an administrator application of the device.
* @throws { BusinessError } 9200002 - The administrator application does not have permission to manage the device.
* @throws { BusinessError } 201 - Permission verification failed. The application does not have the permission required to call the API.
* @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
* 2. Incorrect parameter types; 3. Parameter verification failed.
* @syscap SystemCapability.Customization.EnterpriseDeviceManager
* @stagemodelonly
* @since 12
*/
function getAppClipboardPolicy(admin: Want, tokenId?: number): string;
/**
* Sets the watermark image displayed during the application running.
*
* @permission ohos.permission.ENTERPRISE_MANAGE_SECURITY
* @param { Want } admin - admin indicates the administrator ability information.
* @param { string } bundleName - the bundle name of the application to be set watermark.
* @param { string | image.PixelMap } source - watermark's pixelMap or its url.
* @param { number } accountId - indicates the accountID.
* @throws { BusinessError } 9200001 - The application is not an administrator application of the device.
* @throws { BusinessError } 9200002 - The administrator application does not have permission to manage the device.
* @throws { BusinessError } 201 - Permission verification failed. The application does not have the permission required to call the API.
* @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
* 2. Incorrect parameter types; 3. Parameter verification failed.
* @syscap SystemCapability.Customization.EnterpriseDeviceManager
* @stagemodelonly
* @since 14
*/
function setWatermarkImage(admin: Want, bundleName: string, source: string | image.PixelMap, accountId: number): void;
/**
* Cancels the watermark image displayed during the application running.
*
* @permission ohos.permission.ENTERPRISE_MANAGE_SECURITY
* @param { Want } admin - admin indicates the administrator ability information.
* @param { string } bundleName - the bundle name of the application to be set watermark.
* @param { number } accountId - indicates the accountID.
* @throws { BusinessError } 9200001 - The application is not an administrator application of the device.
* @throws { BusinessError } 9200002 - The administrator application does not have permission to manage the device.
* @throws { BusinessError } 201 - Permission verification failed. The application does not have the permission required to call the API.
* @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
* 2. Incorrect parameter types; 3. Parameter verification failed.
* @syscap SystemCapability.Customization.EnterpriseDeviceManager
* @stagemodelonly
* @since 14
*/
function cancelWatermarkImage(admin: Want, bundleName: string, accountId: number): void;
/**
* Password policy.
*
* @typedef PasswordPolicy
* @syscap SystemCapability.Customization.EnterpriseDeviceManager
* @stagemodelonly
* @since 12
*/
export interface PasswordPolicy {
/**
* The regex of complexity
*
* @type { ?string }
* @syscap SystemCapability.Customization.EnterpriseDeviceManager
* @stagemodelonly
* @since 12
*/
complexityRegex?: string;
/**
* Period of validity
*
* @type { ?number }
* @syscap SystemCapability.Customization.EnterpriseDeviceManager
* @stagemodelonly
* @since 12
*/
validityPeriod?: number;
/**
* Other supplementary description
*
* @type { ?string }
* @syscap SystemCapability.Customization.EnterpriseDeviceManager
* @stagemodelonly
* @since 12
*/
additionalDescription?: string;
}
/**
* Clipboard policy.
*
* @enum { number } ClipboardPolicy
* @syscap SystemCapability.Customization.EnterpriseDeviceManager
* @stagemodelonly
* @since 12
*/
export enum ClipboardPolicy {
/**
* Policy default
*
* @syscap SystemCapability.Customization.EnterpriseDeviceManager
* @stagemodelonly
* @since 12
*/
DEFAULT = 0,
/**
* Policy indicates that the clipboard can be used on the same application
*
* @syscap SystemCapability.Customization.EnterpriseDeviceManager
* @stagemodelonly
* @since 12
*/
IN_APP = 1,
/**
* Policy indicates that the clipboard can be used on the same device
*
* @syscap SystemCapability.Customization.EnterpriseDeviceManager
* @stagemodelonly
* @since 12
*/
LOCAL_DEVICE = 2,
/**
* Policy indicates that the clipboard can be used across device
*
* @syscap SystemCapability.Customization.EnterpriseDeviceManager
* @stagemodelonly
* @since 12
*/
CROSS_DEVICE = 3,
}
}
export default securityManager;