权限分类分级模型

HarmonyOS 的应用权限严格按照权限分类分级模型进行定义,如[图1]所示,具体过程可分为三步:

根据不同应用所需实现的功能,明确接口是否需要对外开放。

根据接口所涉数据的敏感程度或所涉能力的安全威胁影响,对所有的开放接口进行分级(包括中、低、高、严重)。不对外开放的接口均为严重级别。

根据不同的分级,确定权限的开放范围与授权方式。

图1 权限分类分级模型

375ff56e90f5cf0d393a9b663d78fb32.png

HarmonyOS 已定义的权限列表详见《API 参考》中的“ohos.security.SystemPermission”。下面重点介绍对所有应用开放的 HarmonyOS 的应用权限。

敏感权限

敏感权限的申请需要按照动态申请流程向用户申请授权。

权限分类名称

权限名

说明

位置

ohos.permission.LOCATION

允许应用在前台运行时获取位置信息。如果应用在后台运行时也要获取位置信息,则需要同时申请 ohos.permission.LOCATION_IN_BACKGROUND 权限。

ohos.permission.LOCATION_IN_BACKGROUND

允许应用在后台运行时获取位置信息,需要同时申请 ohos.permission.LOCATION 权限。

相机

ohos.permission.CAMERA

允许应用使用相机拍摄照片和录制视频。

麦克风

ohos.permission.MICROPHONE

允许应用使用麦克风进行录音。

日历

ohos.permission.READ_CALENDAR

允许应用读取日历信息。

ohos.permission.WRITE_CALENDAR

允许应用在设备上添加、移除或修改日历活动。

健身运动

ohos.permission.ACTIVITY_MOTION

允许应用读取用户当前的运动状态。

健康

ohos.permission.READ_HEALTH_DATA

允许应用读取用户的健康数据。

媒体

ohos.permission.MEDIA_LOCATION

允许应用访问用户媒体文件中的地理位置信息。

ohos.permission.READ_MEDIA

允许应用读取用户外部存储中的媒体文件信息。

ohos.permission.WRITE_MEDIA

允许应用读写用户外部存储中的媒体文件信息。

帐号

ohos.permission.GET_APP_ACCOUNTS

允许应用访问系统帐号的分布式信息权限。

非敏感权限

非敏感权限不涉及用户的敏感数据或危险操作,仅需在config.json 中声明,应用安装后即被授权。

权限名

说明

ohos.permission.GET_NETWORK_INFO

允许应用获取数据网络信息。

ohos.permission.GET_WIFI_INFO

允许获取 WLAN 信息。

ohos.permission.USE_BLUETOOTH

允许应用查看蓝牙的配置。

ohos.permission.DISCOVER_BLUETOOTH

允许应用配置本地蓝牙,并允许其查找远端设备且与之配对连接。

ohos.permission.SET_NETWORK_INFO

允许应用控制数据网络。

ohos.permission.SET_WIFI_INFO

允许配置 WLAN 设备。

ohos.permission.SPREAD_STATUS_BAR

允许应用以缩略图方式呈现在状态栏。

ohos.permission.INTERNET

允许使用网络 socket。

ohos.permission.MODIFY_AUDIO_SETTINGS

允许应用程序修改音频设置。

ohos.permission.RECEIVER_STARTUP_COMPLETED

允许应用接收设备启动完成广播。

ohos.permission.RUNNING_LOCK

允许申请休眠运行锁,并执行相关操作。

ohos.permission.ACCESS_BIOMETRIC

允许应用使用生物识别能力进行身份认证。

ohos.permission.RCV_NFC_TRANSACTION_EVENT

允许应用接收卡模拟交易事件。

ohos.permission.COMMONEVENT_STICKY

允许发布粘性公共事件的权限。

ohos.permission.SYSTEM_FLOAT_WINDOW

提供显示悬浮窗的能力。

ohos.permission.VIBRATE

允许应用程序使用马达。

ohos.permission.USE_TRUSTCIRCLE_MANAGER

允许调用设备间认证能力。

ohos.permission.USE_WHOLE_SCREEN

允许通知携带一个全屏 IntentAgent。

ohos.permission.SET_WALLPAPER

允许设置静态壁纸。

ohos.permission.SET_WALLPAPER_DIMENSION

允许设置壁纸尺寸。

ohos.permission.REARRANGE__MISSIONS

允许调整任务栈。

ohos.permission.CLEAN_BACKGROUND_PROCESSES

允许根据包名清理相关后台进程。

ohos.permission.KEEP_BACKGROUND_RUNNING

允许 Service Ability 在后台继续运行。

ohos.permission.GET_BUNDLE_INFO

查询其他应用的信息。

ohos.permission.ACCELEROMETER

允许应用程序读取加速度传感器的数据。

ohos.permission.GYROSCOPE

允许应用程序读取陀螺仪传感器的数据。

ohos.permission.MULTIMODAL_INTERACTIVE

允许应用订阅语音或手势事件。

ohos.permission.radio.ACCESS_FM_AM

允许用户获取收音机相关服务。

ohos.permission.NFC_TAG

允许应用读写 Tag 卡片。

ohos.permission.NFC_CARD_EMULATION

允许应用实现卡模拟功能。

受限开放的权限

受限开放的权限通常是不允许三方应用申请的。如果有特殊场景需要使用,请提供相关申请材料到应用市场申请相应权限证书。如果应用未申请相应的权限证书,却试图在 config.json 文件中声明此类权限,将会导致应用安装失败。另外,由于此类权限涉及到用户敏感数据或危险操作,当应用申请到权限证书后,还需按照动态申请权限的流程向用户申请授权。

权限分类名称

权限名

说明

信息

ohos.permission.READ_MESSAGES

允许应用读取短信息。

ohos.permission.RECEIVE_MMS

允许应用接收彩信。

ohos.permission.RECEIVE_SMS

允许应用接收短信息。

ohos.permission.RECEIVE_WAP_MESSAGES

允许应用接收WAP消息。

ohos.permission.SEND_MESSAGES

允许应用发送短信。

ohos.permission.READ_CELL_MESSAGES

允许应用读取小区广播消息。

通话记录

ohos.permission.READ_CALL_LOG

允许应用读取通话记录。

ohos.permission.WRITE_CALL_LOG

允许应用在设备上添加、修改和删除通话记录。

通讯录

ohos.permission.READ_CONTACTS

允许应用读取联系人数据。

ohos.permission.WRITE_CONTACTS

允许应用添加、移除和更改联系人数据。

电话

ohos.permission.ANSWER_CALL

允许应用接听来电。

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐