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

news2024/10/7 6:45:18

安全控件概述

安全控件是系统提供的一组系统实现的ArkUI组件,应用集成这类组件就可以实现在用户点击后自动授权,而无需弹窗授权。它们可以作为一种“特殊的按钮”融入应用页面,实现用户点击即许可的设计思路。

相较于动态申请权限的方式,安全控件可基于场景化授权,简化开发者和用户的操作,主要优点有:

  1. 用户可掌握授权时机,授权范围最小化。
  2. 授权场景可匹配用户真实意图。
  3. 减少弹窗打扰。
  4. 开发者不必向应用市场申请权限,简化操作。

安全控件坚持仅采集实现业务功能所必须的个人数据,以服务于用户的需求,帮助开发透明、可选、可控的隐私合规应用。

安全控件列表

目前系统提供三类安全控件:

  • [粘贴控件(PasteButton)]

    该控件对应剪贴板读取特权。应用集成粘贴控件后,用户点击该控件,应用读取剪贴板数据时不会弹窗提示。

    建议使用场景:粘贴控件可以用于任何应用需要读取剪贴板的场景,避免弹窗提示对用户造成干扰。

  • [保存控件(SaveButton)]

    该控件对应媒体库写入特权。应用集成保存控件后,用户点击该控件,应用会获取10秒内单次访问媒体库特权接口的授权。

    建议使用场景:保存控件可以用于任何应用需要保存文件到媒体库的场景(保存图片、保存视频等)。与Picker需要拉起系统应用再由用户选择具体路径保存的方式不同,保存控件将直接保存到指定媒体库路径,操作更快捷。

  • [位置控件(LocationButton)]

    该控件对应精准定位特权。应用集成位置控件后,用户点击该控件,无论应用是否申请过或者被授予精准定位权限,都会在本次前台期间获得精准定位的授权,可以调用位置服务获取精准定位。

    建议使用场景:应用不是强位置关联应用(如导航、运动健康等),仅在部分前台场景需要使用位置信息(如定位城市、打卡、分享位置等)。如果需要长时间使用或是在后台使用位置信息,建议申请位置权限。

运作机制

整体方案由安全控件UI组件、安全控件管理服务、安全控件增强组成:

  • UI组件:实现了固定文字图标的样式,便于用户识别,同时提供了相对丰富的定制化能力,便于开发者定制。
  • 控件管理服务:提供控件注册管理能力、控件临时授权机制、管理授权生效周期,确保应用后台、锁屏下无法注册使用安全控件。
  • 安全增强:实现了地址随机化、挑战值检查、回调UI框架复核控件信息、调用者地址检查、组件防覆盖、真实点击事件校验等机制,防止应用开发者通过混淆、隐藏、篡改、仿冒等方式滥用授权机制,泄露用户隐私。

开发者调用接口时,运作流程如图所示。

zh-cn_image_0000001722397992

  1. 应用开发者在ETS文件中集成安全控件,通过JS引擎解析后,在ArkUI框架中生成具体的控件。
  2. 安全控件注册控件信息到安全控件管理服务,安全控件管理服务检查控件信息的合法性。
  3. 用户点击事件分发到安全控件。
  4. 安全控件将点击事件上报到安全控件管理服务。
  5. 安全控件管理服务根据控件种类对应不同权限,调用权限管理服务进行临时授权。
  6. 授权成功后,安全控件回调OnClick通知应用层授权成功。
  7. 应用调用相应的特权操作,如获取地理位置、读取剪贴板信息、媒体库中创建文件等。 不同类型的安全控件,对于权限的使用方式不同、授权的有效期也不同,详情请参考开发指导。
  8. 对应的服务会调用权限管理服务或安全控件管理服务,获取授权结果,返回鉴权结果。

约束与限制

安全控件因其自动授权的特性,为了保障用户的隐私不被恶意应用获取,针对安全控件作了很多的限制。应用开发者需保证安全控件在应用界面上清晰可见、用户能明确识别,防止因覆盖、混淆等因素导致授权失败。

当因控件样式不合法导致授权失败的情况发生时,请开发者检查设备错误日志,过滤关键字"SecurityComponentCheckFail"可以获取具体原因。

说明: 请开发者关注过滤条件下,所有级别的日志。
在这里插入图片描述

可能会导致授权失败的问题(包括但不限于):

  • 字体、图标尺寸过小。
  • 安全控件整体尺寸过大。
  • 字体、图标、背景按钮的颜色透明度过高。
  • 字体或图标与背景按钮颜色过于相似。
  • 安全控件超出屏幕、超出窗口等,导致显示不全。
  • 安全控件被其他组件或窗口遮挡。
  • 安全控件的父组件有类似变形模糊等可能导致安全控件显示不完整的属性。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1887085.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Dify入门指南

一.Dify介绍 生成式 AI 应用创新引擎,开源的 LLM 应用开发平台。提供从 Agent 构建到 AI workflow 编排、RAG 检索、模型管理等能力,轻松构建和运营生成式 AI 原生应用,比 LangChain 更易用。一个平台,接入全球大型语言模型。不同…

Google地图获取位置的前端代码与测试

test.html <script src"http://maps.google.com/maps/api/js?sensorfalse"></script> <script > if (navigator.geolocation) {  console.log(Geolocation is supported!);// var startPos;var geoSuccess function(position) {startPos p…

MySQL4(事务、函数、慢查询和索引)

目录 一、MySQL事务 1. 概念 2. 事务的ACID原则 3. MySQL实现事务的方法 4. MySQL实现事务的步骤 5. 事务的原子性、一致性、持久性 6. 事务的隔离性 7. MySql中的锁 1. 共享锁 2. 排他锁 3. 行级锁 4. 表级锁 5. 间隙锁 6. 临键锁 7. 记录锁 8. 意向共享锁…

236、二叉树的最近公共祖先

前提&#xff1a; 所有 Node.val 互不相同 。p ! qp 和 q 均存在于给定的二叉树中。 代码如下&#xff1a; class Solution { public:TreeNode* lowestCommonAncestor(TreeNode* root, TreeNode* p, TreeNode* q) {if (root q || root p || root NULL) return root;TreeN…

赛灵思FFT的IP核——非实时模式 Non real time

一、IP核配置 使用非实时模式配置如下 二、时序 是遵守AXIS协议的&#xff0c;不像real time mode&#xff0c;一旦开始吭哧吭哧的读数据&#xff0c;根本不管s_axis_data_tvalid信号了。 三、资源消耗 在implement查看两者的资源消耗差不多 四、仿真 4.1 中间不停顿 输入…

uniapp微信接口回调 response.sendRedirect nginx 报404错误

如题 参考 uniapp打包H5时,访问index.html页面白屏报错net::ERR_ABORTED 404 - 简书 nginx中修改 配置文件 location / { try_files $uri $uri/ /index.html; root html; index index.html index.htm; } uniapp里配置 重新载入

js,uni 自定义 时间选择器 vue2

<template><view class"reserve-time-box"><view class"title">选择时间</view><view class"date-box"><view class"date-scroll-box" :style"{ width : ${dataTimeWidth}rpx }"><v…

C语言编程-基于单链表实现贪吃蛇游戏

基于单链表实现贪吃蛇游戏 1.定义结构体参数 蛇行走的方向 蛇行走的状态 蛇身节点类 维护蛇的结构体型 2.游戏运行前预备工作 定位光标位置 游戏欢迎界面 绘制游戏地图&#xff08;边界&#xff09; 初始化游戏中的蛇身 创建食物 3.游戏运行 下一个位置是食物&#xff0c;就吃掉…

【0299】Postgres内核之哈希表(Hash Tables)

0. 哈希表(Hash Tables) 哈希表是 一种用于存储键值对的数据结构。与使用索引号访问元素的基本数组不同,哈希表使用键来查找表条目。这使得数据管理对于用户来说更易于管理,因为按属性对数据条目进行分类比按它们在一个巨大的列表中的数量更容易。 在 C++ 中,我们将哈希…

python_zabbix

zabbix官网地址&#xff1a;19. API19. APIhttps://www.zabbix.com/documentation/4.2/zh/manual/api 每个版本可以有些差异&#xff0c;选择目前的版本在查看对于的api接口#token接口代码 import requests apiurl "http://zabbix地址/api_jsonrpc.php" data {&quo…

Halcon机器视觉定位--模板匹配

一 Halcon模板匹配归纳 二 形状匹配算子介绍 find_shape_model( Image ,//待搜索图像 ModelID, //模版图像 AngleStart, //起始角度 AngleExtent, //角度范围 MinScore, //最小匹配分数 NumMatches, //匹配数目 MaxOverlap, //重叠度 SubPixel, //搜索精度 Greediness ,//自信度…

Latex写作工具整理(Overleaf)

一、公式&#xff08;MathType&#xff09; 先用MathType编辑好公式&#xff0c;再粘贴到Overleaf 预置-剪切和复制预置-选择“MathML或Tex"-确定 1.行内公式 粘贴到overleaf里面把两侧的" \["替换成"$" $ A $ 2.单行公式 \begin{equation}\labe…

怎么使用MarkDown画矩阵

本文首发于公众号“AntDream”&#xff0c;欢迎微信搜索“AntDream”或扫描文章底部二维码关注&#xff0c;和我一起每天进步一点点 今天写文章需要用到矩阵&#xff0c;记录一下 画矩阵需要用到特殊的语法 &#xff08;1&#xff09;画普通矩阵&#xff0c;不带括号的 $$be…

解析网页数据并且处理网页正则表达式与re模块

目录 一、解析网页数据的技术 1&#xff0e;正则表达式 2&#xff0e;XPath 3&#xff0e;Beautiful Soup 4&#xff0e;JSONPath 二、正则表达式的语法 1&#xff0e;元字符 2&#xff0e;预定义字符集 三、 re 模块的使用 1&#xff0e;创建 Pattern 对象 2&#…

上帝之眼(BEVSee):多相机间无需标定,将各自目标统一到同一坐标系下(代码开源,提供数据集)

Abstract 我们解决了一个新的问题&#xff0c;即在鸟瞰视角&#xff08;BEV&#xff09;中无需预先给定相机校准的多视角相机和目标注册问题。这将多视角目标注册问题提升到一个新的无需校准的阶段&#xff0c;从而极大地缓解了许多实际应用中的限制。然而&#xff0c;这是一个…

深入解析视频编码中的I帧、P帧和B帧

&#x1f60e; 作者介绍&#xff1a;我是程序员行者孙&#xff0c;一个热爱分享技术的制能工人。计算机本硕&#xff0c;人工制能研究生。公众号&#xff1a;AI Sun&#xff0c;视频号&#xff1a;AI-行者Sun &#x1f388; 本文专栏&#xff1a;本文收录于《音视频》系列专栏&…

【C++进阶学习】第五弹——二叉搜索树——二叉树进阶及set和map的铺垫

二叉树1&#xff1a;深入理解数据结构第一弹——二叉树&#xff08;1&#xff09;——堆-CSDN博客 二叉树2&#xff1a;深入理解数据结构第三弹——二叉树&#xff08;3&#xff09;——二叉树的基本结构与操作-CSDN博客 二叉树3&#xff1a;深入理解数据结构第三弹——二叉树…

ED01-CMS v20180505 文件上传漏洞(CVE-2022-28525)

前言 CVE-2022-28525 是一个影响 ED01-CMS v20180505 版本的任意文件上传漏洞。该漏洞位于 /admin/users.php?sourceedit_user&id41&#xff0c;攻击者可以利用该漏洞在未经授权的情况下上传任意文件到服务器上&#xff0c;从而可能导致远程代码执行&#xff08;RCE&…

电脑文件自动备份:构建坚不可摧的数据防护网

在数字化浪潮的推动下&#xff0c;电脑已成为我们日常生活和工作中不可或缺的一部分&#xff0c;它承载着海量的个人信息、工作文档、学习资料等重要数据。然而&#xff0c;随着数据量的不断膨胀&#xff0c;数据安全问题也日益严峻。硬盘故障、系统崩溃、病毒攻击、人为误操作…

黑鹰优化算法(BEO)-2024年SCI新算法-公式原理详解与性能测评 Matlab代码免费获取

目录 原理简介 一、种群初始化 二、围捕行为 三、悬停行为 四、捕捉行为 五、抢夺行为 六、警告行为 七、迁徙行为 八、求偶行为 九、孵化行为 性能测评 参考文献 完整代码 黑鹰优化算法(Black eagle optimizer, BEO)是一种新型的元启发式算法&#xff08;智能优化…