Harmony OS 应用权限管控

应用权限是软件用来访问系统资源和使用系统能力的一种通行方式。在涉及用户隐私相关功能和数据的场景,例如:访问个人设备的硬件特性,如摄像头、麦克风,以及读写媒体文件等,OpenHarmony通过应用权限管理组件来保护这些数据以及能力。

在系统应用开发过程中,如果应用要使用敏感权限,开发者可以调用应用权限管理组件接口检查待访问权限是否被授权,如果未授权,操作不允许。

  • 应用(包括应用引用的三方库)所需权限必须在应用的配置文件中严格按照权限开发指导逐个声明。参考声明权限
  • 权限申请满足最小化原则,禁止申请非必要的、已废弃的权限。应用申请过多权限,会引起用户对应用安全性的担忧以及使用体验变差,从而也会影响到应用的安装率和留存率。
  • 应用申请敏感权限时,必须填写权限使用理由字段,敏感权限通常是指与用户隐私密切相关的权限,包括地理位置、相机、麦克风、日历、健身运动、身体传感器、音乐、文件、图片视频等权限。参考向用户申请授权
  • 应用敏感权限须在对应业务功能执行前动态申请,满足隐私最小化要求。
  • 用户拒绝授予某个权限后,应用与此权限无关的其他业务功能应允许正常使用。

授权方式

  • system_grant(系统授权)

    • 需要在安装包中申请system_grant权限,那么系统会在用户安装应用时,自动把相应权限授予给应用。
    • 应用被允许访问的数据不会涉及到用户或设备的敏感信息
  • user_grant(用户授权)
    • 会弹出窗口询问用户的意见-应用被允许访问的数据将会涉及到用户或设备的敏感信息

APL等级(元能力权限等级):

ACL访问控制列表:

  • 权限等级应用APL等级是一一对应的。原则上,拥有低APL等级的应用默认无法申请更高等级的权限。访问控制列表ACL(Access Control List)提供了解决低等级应用访问高等级权限问题的特殊渠道
  • 系统权限均定义了“ACL使能”字段,当该权限的ACL使能为TRUE,应用可以使用ACL方式跨级别申请该权限。具体单个权限的定义,可参考应用权限列表

应用申请权限流程图:

  •       Noraml 等级的应用申请权限
  •     System_basic等级的应用申请权限

申请权限:

{
  "module" : {
    // ...
    "requestPermissions":[
      {
        "name" : "ohos.permission.PERMISSION1",
        "reason": "$string:reason",
        "usedScene": {
          "abilities": [
            "FormAbility"
          ],
          "when":"inuse"
        }
      },
      {
        "name" : "ohos.permission.PERMISSION2",
        "reason": "$string:reason",
        "usedScene": {
          "abilities": [
            "FormAbility"
          ],
          "when":"always"
        }
      }
    ]
  }
}

 Ps:每个权限的字段reason(申请权限的原因)必填 :(简洁的概述你要权限的理由) https://docs.openharmony.cn/pages/v4.1/zh-cn/application-dev/security/AccessToken/declare-permissions.md#%E6%9D%83%E9%99%90%E4%BD%BF%E7%94%A8%E7%90%86%E7%94%B1%E7%9A%84%E6%96%87%E6%A1%88%E5%86%85%E5%AE%B9%E8%A7%84%E8%8C%83icon-default.png?t=N7T8https://docs.openharmony.cn/pages/v4.1/zh-cn/application-dev/security/AccessToken/declare-permissions.md#%E6%9D%83%E9%99%90%E4%BD%BF%E7%94%A8%E7%90%86%E7%94%B1%E7%9A%84%E6%96%87%E6%A1%88%E5%86%85%E5%AE%B9%E8%A7%84%E8%8C%83

  • 26
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 6
    评论
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值