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中按格式声明。
满足用户可知。应用申请的敏感权限的目的需要真实准确告知用户。

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

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

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

审核编辑 黄宇

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

    关注

    60

    文章

    3021

    浏览量

    46178
  • HarmonyOS
    +关注

    关注

    80

    文章

    2157

    浏览量

    36294
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    一分钟带你了解:导热硅脂

    、什么是导热硅脂导热硅脂,又叫导热膏,是种常用于电子设备散热系统中的关键材料。它的主要作用是填充CPU、GPU等发热元件与散热器之间的微小空隙,减少空气热阻,提高热传导效率。虽然它看起来只是
    的头像 发表于 02-05 17:28 979次阅读
    <b class='flag-5'>一分钟</b>带你<b class='flag-5'>了解</b>:导热硅脂

    一分钟带你了解:导热胶

    、什么是导热胶在电子设备日益高性能化的今天,散热管理成为影响设备稳定运行的重要因素。除了我们熟知的导热硅脂和导热片,还有种常被用于工业和高端电子产品中的导热材料——导热胶。它不仅具备导热功能
    的头像 发表于 02-05 17:25 584次阅读
    <b class='flag-5'>一分钟</b>带你<b class='flag-5'>了解</b>:导热胶

    一分钟带你了解:导热片

    、什么是导热片在电子设备日益高性能、小型化的今天,散热问题成为影响设备稳定运行的关键因素。除了导热硅脂和导热胶,还有种常被用于电脑、手机、LED灯具和新能源汽车等产品中的导热材料——导热片。它是
    的头像 发表于 02-05 17:10 770次阅读
    <b class='flag-5'>一分钟</b>带你<b class='flag-5'>了解</b>:导热片

    开源鸿蒙技术大会2025丨OS内核与视窗论坛:筑基开源鸿蒙核心内核,共拓视窗技术边界

    开源鸿蒙技术大会2025 OS内核与视窗论坛在湖南长沙国际会议中心圆满举行。来自西北工业大学、浙江大学、厦门大学、华为等高校和企业的学者专家齐聚堂,围绕
    的头像 发表于 11-20 17:29 1093次阅读
    开源<b class='flag-5'>鸿蒙</b>技术大会2025丨<b class='flag-5'>OS</b>内核与视窗<b class='flag-5'>分</b>论坛:筑基开源<b class='flag-5'>鸿蒙</b>核心内核,共拓视窗技术边界

    开源鸿蒙技术大会2025丨OS原生智能论坛圆满举办

    开源鸿蒙技术大会2025 OS原生智能论坛在湖南长沙国际会议中心圆满举行。来自学术界与产业界的多位专家学者齐聚堂,围绕端侧AI、智能体(Agent)技术、大模型高效推理等前沿议题展
    的头像 发表于 11-20 17:28 921次阅读
    开源<b class='flag-5'>鸿蒙</b>技术大会2025丨<b class='flag-5'>OS</b>原生智能<b class='flag-5'>分</b>论坛圆满举办

    如何看懂GPU架构?一分钟带你了解GPU参数指标

    GPU架构参数如CUDA核心数、显存带宽、TensorTFLOPS、互联方式等,并非“冰冷的数字”,而是直接关系设备能否满足需求、如何发挥最大价值、是否避免资源浪费等问题的核心要素。本篇文章将全面分析GPU核心参数体系:算力、显存大小、显存带宽、热门架构特性等关键指标,旨在帮您理解不同应用场景下,如何选择最合适的GPU算力解决方案。1、算力GPU执行浮点运算
    的头像 发表于 10-09 09:28 1541次阅读
    如何看懂GPU架构?<b class='flag-5'>一分钟</b>带你<b class='flag-5'>了解</b>GPU参数指标

    一分钟教程】用ZMC600E实现关节机器人±180度精准转动

    一分钟速览:从设备连接到编程控制,演示关节机器人的±180度精准转动。关节机器人±180度转动例程在科技高度发达今天,越来越多的智能机器人进入我们的日常生活中。究竟这些机器人是如何实现运动?工程师
    的头像 发表于 08-15 11:36 967次阅读
    【<b class='flag-5'>一分钟</b>教程】用ZMC600E实现关节机器人±180度精准转动

    技术文章 | Ubuntu权限管理攻略

    将从基础原理到实战操作,全面解析Ubuntu权限管理的核心知识。权限管理三角:用户、组与权限
    的头像 发表于 08-14 12:02 1155次阅读
    技术文章 | Ubuntu<b class='flag-5'>权限</b><b class='flag-5'>管理</b>攻略

    先进封装中的RDL技术是什么

    前面分享了先进封装的四要素一分钟让你明白什么是先进封装,今天分享下先进封装四要素中的再布线(RDL)。
    的头像 发表于 07-09 11:17 5211次阅读
    先进封装中的RDL技术是什么

    先进封装中的TSV分类及工艺流程

    前面分享了先进封装的四要素一分钟让你明白什么是先进封装,今天分享下先进封装中先进性最高的TSV。
    的头像 发表于 07-08 14:32 4763次阅读
    先进封装中的TSV分类及工艺流程

    光纤光谱仪是什么?一分钟读懂它的原理与结构

    光纤光谱仪是什么?一分钟读懂它的原理与结构 在现代科学仪器中,光谱仪是分析光的重要工具。而光纤光谱仪,作为其中的种紧凑型分支,正在被广泛应用于环境监测、生物医疗、半导体制造、食品安全、材料分析等
    的头像 发表于 07-07 14:27 1370次阅读

    一分钟了解电磁流量计的世界

    电磁流量计是种广泛应用于工业流体测量领域的仪表,其基本原理是法拉第电磁感应定律。它通过测量导电液体在磁场中运动时产生的感应电势来推算流量,具有测量准确、响应速度快、可靠性高等优点,因此在液体流量
    的头像 发表于 06-06 14:40 1064次阅读
    <b class='flag-5'>一分钟</b><b class='flag-5'>了解</b>电磁流量计的世界

    一分钟了解晶振的负载电容

    负载电容
    扬兴科技
    发布于 :2025年05月15日 18:39:47

    一分钟了解FFC排线在NFC中的应用

    双品电子FFC排线在NFC中的应用:技术解析与创新实践摘要本文深入探讨了FFC排线在NFC技术领域中的关键应用。首先介绍了双品电子FFC排线和NFC技术的基本概念与原理;随后详细阐述双品电子FFC排线在NFC设备中的具体应用场景,包括移动支付、数据传输、设备配对等。通过分析其应用优势,如良好的柔韧性、轻薄特性、可靠的电气性能等,展现双品电子FFC排线对NFC
    的头像 发表于 05-09 11:37 1272次阅读
    <b class='flag-5'>一分钟</b><b class='flag-5'>了解</b>FFC排线在NFC中的应用

    Linux权限管理基础入门

    在Linux的广阔天空中,权限管理犹如只翱翔的雄鹰,掌控着系统的安全与秩序。掌握Linux权限,不仅能让你的系统管理更加得心应手,还能有效
    的头像 发表于 05-06 13:44 917次阅读
    Linux<b class='flag-5'>权限</b><b class='flag-5'>管理</b>基础入门