0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

一分钟了解鸿蒙OS 应用权限管理

王程 来源:jf_75796907 作者:jf_75796907 2024-01-26 15:23 次阅读

HarmonyOS 中所有的应用均在应用沙盒内运行。默认情况下,应用只能访问有限的系统资源,系统负责管理应用对资源的访问权限。

应用权限管理是由接口提供方(Ability)、接口使用方(应用)、系统(包括云侧和端侧)以及用户等多方共同参与的整个流程,保证受限接口是在约定好的规则下被正常使用,避免接口被滥用而导致用户、应用和设备受损。

权限声明

应用需要在 config.json 中使用“reqPermissions”属性对需要的权限逐个进行声明。

若使用到的三方库也涉及权限使用,也需统一在应用的config.json中逐个声明。

没有在config.json中声明的权限,应用就无法获得此权限的授权。

动态申请敏感权限

动态申请敏感权限基于用户可知可控的原则,需要应用在运行时主动调用系统动态申请权限的接口,系统弹框由用户授权,用户结合应用运行场景的上下文,识别出应用申请相应敏感权限的合理性,从而做出正确的选择。

即使用户向应用授予了请求的权限,应用在调用受此权限管控的接口前,也应该先检查自己有无此权限,而不能把之前授予的状态持久化,因为用户在动态授予后还可以通过设置取消应用的权限。

有关于应用动态申请敏感权限的详细信息,请参阅动态申请权限。

自定义权限

HarmonyOS 为了保证应用对外提供的接口不被恶意调用,需要对调用接口的调用者进行鉴权。

大多情况下,系统已定义的权限满足了应用的基本需要,若有特殊的访问控制需要,应用可在config.json中以"defPermissions": []属性来定义新的权限,并通过“availableScope”和“grantMode”两个属性分别确定权限的开放范围和授权方式,使得权限定义更加灵活且易于理解。有关 HarmonyOS 权限开放范围和授权方式详细的描述,请参阅权限授予方式字段说明和权限限制范围字段说明。

为了避免应用自定义新权限出现重名的情况,建议应用对新权限的命名以包名的前两个字段开头,这样可以防止不同开发者的应用间出现自定义权限重名的情况。

权限保护方法

保护 Ability:通过在config.json里对应的 Ability 中配置"permissions": [“权限名”]属性,即可实现保护整个 Ability 的目的,无指定权限的应用不能访问此 Ability。

保护 API:若 Ability 对外提供的数据或能力有多种,且开放范围或保护级别也不同,可以针对不同的数据或能力在接口代码实现中通过verifyPermission(String permissionName, int pid, int uid)来对 uid 标识的调用者进行鉴权。

权限使用原则

权限申请最小化。跟用户提供的功能无关的权限,不要申请;尽量采用其他无需权限的操作来实现相应功能(如:通过intent拉起系统 UI 界面由用户交互、应用自己生成uuid代替设备 ID 等)。

权限申请完整。应用所需权限(包括应用调用到的三方库依赖的权限)都要逐个在应用的config.json中按格式声明。
满足用户可知。应用申请的敏感权限的目的需要真实准确告知用户。

权限就近申请。应用在用户触发相关业务功能时,就近提示用户授予实现此功能所需的权限。

权限不扩散。在用户未授权的情况下,不允许提供给其他应用使用。

应用自定义权限防止重名。建议以包名为前缀来命名权限,防止跟系统定义的权限重名。

审核编辑 黄宇

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 鸿蒙
    +关注

    关注

    57

    文章

    2347

    浏览量

    42827
  • HarmonyOS
    +关注

    关注

    79

    文章

    1974

    浏览量

    30159
收藏 人收藏

    评论

    相关推荐

    一分钟了解安科瑞AMC系列电表

    、有功功率、无功功率、视在功率、频率和功率因数等,同时还具备电能监测和考核管理功能‌。 AMC系列电表采用高亮度[LED/LCD]显示界面,通过按键实现参数设置和控制,适用于实时电力监控系统。它能够直接取代常规电力变送器及测量仪表,广泛应用于各种
    的头像 发表于 10-09 11:01 247次阅读
    <b class='flag-5'>一分钟</b><b class='flag-5'>了解</b>安科瑞AMC系列电表

    用现代移位寄存器克服最后一分钟的特征蠕变

    电子发烧友网站提供《用现代移位寄存器克服最后一分钟的特征蠕变.pdf》资料免费下载
    发表于 09-21 11:20 0次下载
    用现代移位寄存器克服最后<b class='flag-5'>一分钟</b>的特征蠕变

    波型输出正常,但工作不到一分钟时间TPA3221总是无故烧毁,为什么?

    波型输出正常,但工作不到一分钟时间TPA3221总是无故烧毁,绝对不是过流或过热。
    发表于 08-14 07:50

    INA199A3 3脚和4脚短路接24V输入,不到一分钟就烧了,为什么?

    INA199A3 3脚和4脚短路接24V输入,取样电阻是33毫欧,插上电源24V,VOUT可以输出14V,INA199A3不到一分钟就烧了,试了两个都是样的问题;后面把3脚接到7550输出5V
    发表于 08-02 06:45

    一分钟了解企业通用制品库 JFrog Artifactory

     什么是二进制软件制品仓库 软件制品是指可在服务器上直接运行的二进制形式的文件,通常称之为二进制软件制品。不同开发语言所产生的制品的获取、使用、共享方式不同,二进制制品仓库能够统一管理所有开发语言
    的头像 发表于 06-18 13:25 310次阅读
    <b class='flag-5'>一分钟</b><b class='flag-5'>了解</b>企业通用制品库 JFrog Artifactory

    中兴2400 (v4.3)维修求助

    机子改过0-230V可调,正常的时候满载(230V、12A)接着负载(电池)直接通电后机子电压直跳不上去,最多只能到60多V,僵持一分钟左右后炸管,后面换了管,换管后电压最高还是只能到60多V,直硬升压的话过
    发表于 06-05 16:18

    一分钟了解能耗监测管理系统

    故障快速诊断能耗监测管理系统可以根据实时采集的数据快速诊断出设备运行中出现的各种故障情况 高效使用资源通过对用电情况进行实时监测和分析,可以帮助企业有效地使用公司的资源
    发表于 04-09 14:36 605次阅读
    <b class='flag-5'>一分钟</b><b class='flag-5'>了解</b>能耗监测<b class='flag-5'>管理</b>系统

    一分钟看完看懂电机的接线方法

    今天给大家讲解下,看懂电机的接线方法,一分钟看完,看就懂!。 电机的接线方法无外乎以下两种 1a星形接法(实物图)
    发表于 03-31 15:40 3631次阅读
    <b class='flag-5'>一分钟</b>看完看懂电机的接线方法

    M8连接器挑选起来并不复杂,一分钟完成选型

    M8连接器挑选起来并不复杂,德索精密工业教您一分钟完成选型!德索精密工业,专业生产M8连接器十八年,欢迎前来采购M8相关产品。选择合适自己使用的连接器非常重要,在日后的使用中可以避免许多麻烦,那么究竟该如何选择呢?今天就来为大家详细介绍下。
    的头像 发表于 03-18 17:06 453次阅读
    M8连接器挑选起来并不复杂,<b class='flag-5'>一分钟</b>完成选型

    M8连接器受什么因素影响,一分钟即可读懂!

    M8连接器受什么因素影响,德索一分钟让您明白!随着时候的发展,M8连接器的使用范围越来越广泛,那么,如何才能购买到质量好、价格低的M8连接器呢?其实,影响M8连接器主要影响的因素包括温度、电压,电流,绝缘,防水防湿等等。
    的头像 发表于 03-02 17:29 395次阅读
    M8连接器受什么因素影响,<b class='flag-5'>一分钟</b>即可读懂!

    TC1728在擦除Flash时,STM中断会暂停一分钟然后恢复,请问是什么原因呢?

    TC1728在擦除Flash时,STM中断会暂停一分钟,然后恢复,请问是什么原因呢?
    发表于 02-02 12:15

    鸿蒙OS和开源鸿蒙什么关系?

    开源鸿蒙(Open Harmony) 鸿蒙系统愿来的设计初衷,就是让所有设备都可以运行个系统,但是每个设备的运算能力和功能都不同,所以内核的设计上,采用了微内核的设计,除了最基础的功能放在
    的头像 发表于 01-30 15:44 1133次阅读
    <b class='flag-5'>鸿蒙</b><b class='flag-5'>OS</b>和开源<b class='flag-5'>鸿蒙</b>什么关系?

    什么是一分四功器?

    一分四功器是种电子设备,用于将个输入信号分成四个输出信号,并且可以分别调节每个输出信号的功率。
    的头像 发表于 01-22 18:08 1182次阅读

    一分钟,自动完成Redis数据迁移

    NineData提供了高效、安全的Redis不停机数据迁移方案。与传统迁移方案相比,NineData具备简单易用、强劲性能和高可靠性的优势。通过优化核心技术,NineData的迁移性能达到了16万个key/秒,是开源工具的两倍以上。同时,NineData提供了新型断点、异常诊断和修复手段,大大提高了迁移的成功率。除了迁移能力,NineData还提供了对比功能,保障数据质量。配置任务简单,全自动化的数据迁移过程。NineData还提供了观测和干预能力,帮助用户追踪迁移进展,并提供诊断和迁移限流能力,保障迁移的稳定性。除了Redis,NineData还支持多种常见数据库的迁移复制,满足业务场景需求。
    的头像 发表于 01-08 11:34 423次阅读
    <b class='flag-5'>一分钟</b>,自动完成Redis数据迁移

    关于触摸芯片的那些事

    一分钟简单了解触摸芯片
    的头像 发表于 01-03 16:56 1181次阅读