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

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

3天内不再提示

鸿蒙开发Ability Kit程序框架服务:访问控制概述 程序访问控制

jf_46214456 来源:jf_46214456 作者:jf_46214456 2024-07-01 15:53 次阅读

访问控制概述

默认情况下,应用只能访问有限的系统资源。但某些情况下,应用存在扩展功能的诉求,需要访问额外的系统数据(包括用户个人数据)和功能,系统也必须以明确的方式对外提供接口来共享其数据或功能。

系统通过访问控制的机制,来避免数据或功能被不当或恶意使用。当前访问控制的机制涉及多方面,包括应用沙箱、应用权限、系统控件等方案。

应用沙箱

系统上运行的应用程序均部署在受保护的沙箱中,通过沙箱的安全隔离机制,可以限制应用程序的不当行为(如应用间非法访问数据、篡改设备等)。每个程序都拥有唯一的ID([TokenID]),系统基于此ID识别与限制应用的访问行为。

应用沙箱限定了只有目标受众才能访问应用内的数据,并限定了应用可访问的数据范围

应用权限

系统根据应用的[APL]等级设置进程域和数据域标签,并通过访问控制机制限制应用可访问的数据范围,从而实现在机制上消减应用数据泄露的风险。

不同APL等级的应用能够申请的权限等级不同,且不同的系统资源(如:通讯录等)或系统能力(如:访问摄像头、麦克风等)受不同的应用权限保护。通过严格的分层权限保护,有效抵御恶意攻击,确保系统安全可靠。

开发前请熟悉鸿蒙开发指导文档 :[gitee.com/li-shizhen-skin/harmony-os/blob/master/README.md]

鸿蒙文档.png

系统控件

系统提供了系统Picker、安全控件等临时授权的方式替代权限申请,在特定的场景中,应用无需向用户申请权限也可临时访问受限资源,实现精准化权限管控,更好地保护用户隐私。

  • [系统Picker]
    由系统独立进程实现,在应用拉起Picker,并由用户操作Picker后,应用可以获取Picker返回的资源或结果。举例说明,当应用需要读取用户图片时,可通过使用照片Picker,在用户选择所需要的图片资源后,直接返回该图片资源,而不需要授予应用读取图片文件的权限。
  • [安全控件]
    由系统提供UI控件,应用在界面内集成对应控件,用户点击后,应用将获得临时授权,从而执行相关操作。举例说明,当应用需要分享当前位置时,可使用位置控件,用户点击后,将会在本次前台期间获得精准定位的授权,可以调用位置服务获取精准定位。当发生灭屏、应用切后台、应用退出等任一情况时,临时授权结束
    审核编辑 黄宇
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 框架
    +关注

    关注

    0

    文章

    387

    浏览量

    17163
  • 鸿蒙
    +关注

    关注

    55

    文章

    2156

    浏览量

    42288
收藏 人收藏

    评论

    相关推荐

    鸿蒙开发Ability Kit程序访问控制:使用位置控件

    位置控件使用直观且易懂的通用标识,让用户明确地知道这是一个获取位置信息的按钮。这满足了授权场景需要匹配用户真实意图的需求。只有当用户主观愿意,并且明确了解使用场景后点击位置控件,应用才会获得临时的授权,获取位置信息并完成相应的服务功能。
    的头像 发表于 07-03 16:32 137次阅读
    <b class='flag-5'>鸿蒙</b><b class='flag-5'>开发</b><b class='flag-5'>Ability</b> <b class='flag-5'>Kit</b><b class='flag-5'>程序</b><b class='flag-5'>访问</b><b class='flag-5'>控制</b>:使用位置控件

    鸿蒙开发Ability Kit程序访问控制:使用保存控件

    保存控件是一种特殊的安全控件,它允许用户通过点击按钮临时获取存储权限,而无需通过权限弹框进行授权确认。
    的头像 发表于 07-03 14:40 78次阅读
    <b class='flag-5'>鸿蒙</b><b class='flag-5'>开发</b><b class='flag-5'>Ability</b> <b class='flag-5'>Kit</b><b class='flag-5'>程序</b><b class='flag-5'>访问</b><b class='flag-5'>控制</b>:使用保存控件

    鸿蒙开发Ability Kit程序访问控制:安全控件概述

    安全控件是系统提供的一组系统实现的ArkUI组件,应用集成这类组件就可以实现在用户点击后自动授权,而无需弹窗授权。它们可以作为一种“特殊的按钮”融入应用页面,实现用户点击即许可的设计思路。
    的头像 发表于 07-03 09:22 95次阅读
    <b class='flag-5'>鸿蒙</b><b class='flag-5'>开发</b><b class='flag-5'>Ability</b> <b class='flag-5'>Kit</b><b class='flag-5'>程序</b><b class='flag-5'>访问</b><b class='flag-5'>控制</b>:安全控件<b class='flag-5'>概述</b>

    鸿蒙开发Ability Kit程序访问控制:使用粘贴控件

    粘贴控件是一种特殊的系统安全控件,它允许应用在用户的授权下无提示地读取剪贴板数据。
    的头像 发表于 07-03 09:15 84次阅读
    <b class='flag-5'>鸿蒙</b><b class='flag-5'>开发</b><b class='flag-5'>Ability</b> <b class='flag-5'>Kit</b><b class='flag-5'>程序</b><b class='flag-5'>访问</b><b class='flag-5'>控制</b>:使用粘贴控件

    鸿蒙开发Ability Kit程序访问控制:向用户申请单次授权

    受限开放的权限通常是不允许三方应用申请的。当应用在申请权限来访问必要的资源时,发现部分权限的等级比应用APL等级高,开发者可以选择通过ACL方式来解决等级不匹配的问题,从而使用受限权限。
    的头像 发表于 07-02 17:48 199次阅读
    <b class='flag-5'>鸿蒙</b><b class='flag-5'>开发</b><b class='flag-5'>Ability</b> <b class='flag-5'>Kit</b><b class='flag-5'>程序</b><b class='flag-5'>访问</b><b class='flag-5'>控制</b>:向用户申请单次授权

    鸿蒙开发Ability Kit程序访问控制:申请使用受限权限

    受限开放的权限通常是不允许三方应用申请的。当应用在申请权限来访问必要的资源时,发现部分权限的等级比应用APL等级高,开发者可以选择通过ACL方式来解决等级不匹配的问题,从而使用受限权限。
    的头像 发表于 07-02 17:34 101次阅读
    <b class='flag-5'>鸿蒙</b><b class='flag-5'>开发</b><b class='flag-5'>Ability</b> <b class='flag-5'>Kit</b><b class='flag-5'>程序</b><b class='flag-5'>访问</b><b class='flag-5'>控制</b>:申请使用受限权限

    鸿蒙开发Ability Kit程序访问控制:对所有应用开放

    在申请目标权限前,建议开发者先阅读[申请应用权限],对权限的工作流程有基本了解后,再结合以下权限字段的具体说明,判断应用能否申请目标权限,提高开发效率。
    的头像 发表于 07-02 14:32 126次阅读
    <b class='flag-5'>鸿蒙</b><b class='flag-5'>开发</b><b class='flag-5'>Ability</b> <b class='flag-5'>Kit</b><b class='flag-5'>程序</b><b class='flag-5'>访问</b><b class='flag-5'>控制</b>:对所有应用开放

    鸿蒙开发Ability Kit程序框架服务:应用权限管控概述 程序访问控制

    系统提供了一种允许应用访问系统资源(如:通讯录等)和系统能力(如:访问摄像头、麦克风等)的通用权限访问方式,来保护系统数据(包括用户个人数据)或功能,避免它们被不当或恶意使用。
    的头像 发表于 07-01 10:21 135次阅读
    <b class='flag-5'>鸿蒙</b><b class='flag-5'>开发</b><b class='flag-5'>Ability</b> <b class='flag-5'>Kit</b><b class='flag-5'>程序</b><b class='flag-5'>框架</b><b class='flag-5'>服务</b>:应用权限管控<b class='flag-5'>概述</b> <b class='flag-5'>程序</b><b class='flag-5'>访问</b><b class='flag-5'>控制</b>

    鸿蒙开发Ability Kit程序框架服务:FA模型访问Stage模型DataShareExtensionAbility

    无论FA模型还是Stage模型,数据读写功能都包含客户端和服务端两部分。
    的头像 发表于 06-25 14:30 156次阅读
    <b class='flag-5'>鸿蒙</b><b class='flag-5'>开发</b><b class='flag-5'>Ability</b> <b class='flag-5'>Kit</b><b class='flag-5'>程序</b><b class='flag-5'>框架</b><b class='flag-5'>服务</b>:FA模型<b class='flag-5'>访问</b>Stage模型DataShareExtensionAbility

    鸿蒙Ability Kit程序框架服务)【应用启动框架AppStartup】

    `AppStartup`提供了一种更加简单高效的初始化组件的方式,支持异步初始化组件加速应用的启动时间。使用启动框架应用开发者只需要分别为待初始化的组件实现`AppStartup`提供
    的头像 发表于 06-10 18:38 411次阅读

    鸿蒙Ability Kit程序框架服务)【Ability与ServiceExtensionAbility通信】

    本示例展示通过[IDL的方式]和 [@ohos.rpc] 等接口实现了Ability与ServiceExtensionAbility之间的通信。
    的头像 发表于 06-05 09:28 254次阅读
    <b class='flag-5'>鸿蒙</b><b class='flag-5'>Ability</b> <b class='flag-5'>Kit</b>(<b class='flag-5'>程序</b><b class='flag-5'>框架</b><b class='flag-5'>服务</b>)【<b class='flag-5'>Ability</b>与ServiceExtensionAbility通信】

    鸿蒙开发接口安全:【@ohos.abilityAccessCtrl (访问控制管理)】

    访问控制管理:获取访问控制模块对象。
    的头像 发表于 06-05 09:16 306次阅读
    <b class='flag-5'>鸿蒙</b><b class='flag-5'>开发</b>接口安全:【@ohos.abilityAccessCtrl (<b class='flag-5'>访问</b><b class='flag-5'>控制</b>管理)】

    鸿蒙Ability Kit程序框架服务)【Ability内页面间的跳转】

    基于Stage模型下的Ability开发,实现Ability内页面间的跳转和数据传递。
    的头像 发表于 06-03 20:43 100次阅读
    <b class='flag-5'>鸿蒙</b><b class='flag-5'>Ability</b> <b class='flag-5'>Kit</b>(<b class='flag-5'>程序</b><b class='flag-5'>框架</b><b class='flag-5'>服务</b>)【<b class='flag-5'>Ability</b>内页面间的跳转】

    鸿蒙应用模型:【Ability Kit】简介

    Ability Kit程序框架服务)提供了应用程序开发
    的头像 发表于 05-29 14:41 210次阅读
    <b class='flag-5'>鸿蒙</b>应用模型:【<b class='flag-5'>Ability</b> <b class='flag-5'>Kit</b>】简介

    鸿蒙开发接口Ability框架:【 (Context模块)】

    Context模块提供了ability或application的上下文的能力,包括允许访问特定于应用程序的资源、请求和验证权限等。
    的头像 发表于 05-13 16:04 421次阅读
    <b class='flag-5'>鸿蒙</b><b class='flag-5'>开发</b>接口<b class='flag-5'>Ability</b><b class='flag-5'>框架</b>:【 (Context模块)】