# 应用权限管理 ## 简介 OpenHarmony中应用和系统服务均运行在独立的沙箱中,进程空间和程序数据都是相互隔离的,以保护应用数据的安全性;但是运行在独立沙箱中的服务或应用同时需要对外提供一些API以实现所需功能,其他独立沙箱中的应用在跨进程访问这些API时,需要系统提供一种权限管理机制对这些API的访问者进行授权。 - 应用权限管理提供了权限定义机制,允许系统服务和应用为自己的敏感API定义新的权限,其他应用必须申请此权限才能访问此敏感API; - 应用权限管理提供了权限申请机制,允许应用申请权限,这些权限由系统或者其他应用定义,权限申请通过后就能访问这个权限相关的系统或其他应用提供的敏感API; - 应用权限管理也为用户提供了一些必须的功能,方便用户查看和管理权限授予情况。 **图 1** 应用权限管理架构  应用权限管理为用户程序框架子系统提供权限管理功能,并且为上层应用提供权限申请和授权状态查询接口。本次开源的应用权限管理功能适用于轻量系统、小型系统和标准系统。 - 轻量系统(mini system)面向MCU类处理器例如Arm Cortex-M、RISC-V 32位的设备,硬件资源极其有限,参考内存≥128KiB,可以提供多种轻量级网络协议,轻量级的图形框架,以及丰富的IOT总线读写部件等。可支撑的产品如智能家居领域的连接类模组、传感器设备、穿戴类设备等。 - 小型系统(small system)面向应用处理器例如Arm Cortex-A的设备,参考内存≥1MiB,可以提供更高的安全能力、标准的图形框架、视频编解码的多媒体能力。可支撑的产品如智能家居领域的IP Camera、电子猫眼、路由器以及智慧出行域的行车记录仪等。 ## 目录 ``` /base/security/permission_lite ├── interfaces # 接口层 │ ├── innerkits # 内部接口层 │ └── kits # 外部接口层 └── services # 服务层 ├── ipc_auth # IPC通信鉴权 ├── js_api # JS API封装 ├── pms # 权限管理逻辑和服务端 ├── pms_base # 服务注册 └── pms_client # 权限管理服务的客户端 ``` ## 使用 ### 接口说明 **轻量系统、小型系统应用权限管理**:当前仅供系统应用和系统服务调用,具体API接口如下:
int GetCommunicationStrategy(RegParams params, PolicyTrans **policies, unsigned int *policyNum) |
|