HarmonyOS NEXT鸿蒙开发:应用权限介绍

介绍

官网指南

系统提供了一种允许应用访问系统资源(如:通讯录等)和系统能力(如:访问摄像头、麦克风等)的通用权限访问方式,来保护系统数据(包括用户个人数据)或功能,避免它们被不当或恶意使用。

分类

应用权限保护的对象可以分为 数据 和 功能:

  • 数据包括个人数据(如照片、通讯录、日历、位置等)、设备数据(如设备标识、相机、麦克风等)。

  • 功能包括设备功能(如访问摄像头/麦克风、打电话、联网等)、应用功能(如弹出悬浮窗、创建快捷方式等)。

授权分类

根据授权方式的不同,权限类型可分为 system_grant(系统授权)和 user_grant(用户授权)。

system_grant(系统授权)

system_grant 指的是系统授权类型,在该类型的权限许可下,应用被允许访问的数据 不会 涉及到 用户或设备的敏感信息,应用被允许执行的操作对系统或者其他应用产生的影响可控。

如果在应用中申请了 system_grant 权限,那么系统会 在用户安装应用时,自动把相应权限授予给应用。

应用场景

震动、联网

user_grant(用户授权)

user_grant 指的是用户授权类型,在该类型的权限许可下,应用被允许访问的数据将会 涉及 到 用户 或 设备 的 敏感信息,应用被允许执行的操作可能对系统或者其他应用产生严重的影响。

该类型权限不仅 需要在安装包中申请权限,还需要 在应用动态运行时,通过发送弹窗的方式请求用户授权。在用户手动允许授权后,应用才会真正获取相应权限,从而成功访问操作目标对象。

应用场景

在应用权限列表中,麦克风 和 摄像头 对应的权限都是属于 用户授权权限,列表中给出了详细的权限使用理由。应用需要在应用商店的详情页面,向用户展示所申请的 user_grant 权限列表。

TokenID

系统采用 TokenID(Token identity)作为应用的 唯一标识。权限管理服务通过应用的 TokenID 来管理应用的 AT(Access Token) 信息,包括应用身份标识 APP ID、子用户ID、应用分身索引信息、应用APL、应用权限授权状态等。

应用场景

app 运行时,校验是否拥有某个权限

APL等级

为了防止应用 过度索取和滥用权限,系统基于 APL(Ability Privilege Level,元能力权限等级)等级,配置了不同的权限开放范围。

元能力权限等级APL指的是应用的权限申请优先级的定义,不同APL等级的应用能够申请的权限等级不同。

应用APL等级

应用的等级可以分为以下三个等级,等级依次提高。

  • normal:默认情况下,应用的APL等级都为normal等级。
  • system_basic:该等级的应用服务提供系统基础服务。
  • system_core:该等级的应用服务提供操作系统核心能力。应用APL等级不允许配置为 system_core

原文出处:/show_1GW3j635nON.html