47 Star 79 Fork 508

OpenHarmony / bundlemanager_bundle_framework

 / 详情

【新增特性】支持增、删、查应用安装和卸载的应用名单

已完成
任务
创建于  
2022-08-18 17:53

"【需求背景】

应用拦截管控:支持统一管控应用软件的安装&卸载、停止运行的黑白名单;

【需求描述】

  1. 支持EDM增删查禁止应用卸载的名单

  2. 支持EDM增删查允许应用安装的名单

  3. 支持多用户;

  4. 提供Native接口,该接口只能EDM调用;

  5. 定义权限为system_core,system_grant

场景一:

输入:

  1. 禁止应用卸载的名单

处理:

  1. 下发禁止应用卸载的名单;

1)获取调用方,调用方必须是edm才能调该接口,其他调用方不允许调用该接口;

2)存储禁止卸载的名单;

3)在名单中的应用不能卸载, 要校验appid;

4)多次下发名单直接覆盖

  1. 删除禁止卸载的名单

1)获取调用方,调用方必须是edm才能调该接口,删除对应的名单;

2)指定的应用从名单中删除后,可以卸载;

3)可以从禁止卸载的名单中删除指定的应用,删除后,指定的应用可以卸载

4)也可以清空禁止卸载的名单,清空后,对应的应用可以卸载;

  1. 查询禁止卸载的名单

1)获取调用方,调用方必须是edm才能调该接口,非调用方设置的名单不能获取;

2)GetApplicationInfo接口获取的应用信息中,如果该应用在白名单中,可以卸载的字段标记为不可卸载;

3)dupm名单可以dump到禁止卸载的名单;

输出:

  1. 下发名单后,数据库中有指定的名单信息;

  2. 删除指定的名单后,数据库中指定信息不存在;

  3. 查询返回对应的名单列表;

场景二:

输入:

  1. 允许应用安装的名单

处理:

  1. 下发允许应用安装的名单;

1)获取调用方,调用方必须是edm才能调该接口,存储允许应用安装的名单

2)在名单中的应用才能安装,要校验appid;

3)多次下发名单直接覆盖,直接覆盖原有名单;

4)已安装的不受影响;

  1. 删除允许安装的名单

1)获取调用方,调用方必须是edm才能调该接口,删除对应的名单;

2)指定的应用从名单中删除后,不能安装,已安装的不受影响;

3)可以从允许安装的名单中删除指定的应用,删除后,指定的应用不可以再安装

4)也可以清空允许安装的名单,清空后,应用的安装卸载按照原始逻辑处理;

  1. 查询允许安装的白名单

1)获取调用方,调用方必须是edm才能调该接口,非调用方设置的名单不能获取;

2)dupm名单可以dump到禁止安装的名单;

输出:

  1. 下发名单后,数据库中有指定的名单信息;

  2. 删除指定的名单后,数据库中指定信息不存在;

  3. 查询返回对应的名单列表;

【验收标准】
场景一:禁止应用卸载
1)下发名单中包含指定应用名称,卸载对应的应用无法卸载;如果该应用之前没有安装,安装后也无法卸载;AppId要校验

2)可调用获取接口获取禁止卸载的列表符合预期;
3)设置后GetApplicationInfo的js接口中可以查看到指定应用不能够卸载;

4)bm dump能够dump到不能被卸载的的应用列表;

5)edm调用方才能增加删除和查询其设置的名单

6)名单中存储的值为appid;

场景二:允许应用安装的白名单

1)下发名单中包含指定应用名称,在名单中的应用才可以安装,不在名单中的应用无法安装;

2)可调用获取接口获取允许安装的白名单列表符合预期;

3)bm dump能够dump中允许安装的白名单;

4)edm调用方才能删除和查询其设置的名单;

5)名单中存储的值为appid;

【性能指标】:NA
【DFX需求】:NA

【可靠性要求】:NA
【安全行要求】:NA

"

评论 (0)

Lotol 创建了任务
Lotol 任务状态待办的 修改为进行中
帅煜韬 任务状态进行中 修改为已完成
展开全部操作日志

登录 后才可以发表评论

状态
负责人
项目
里程碑
Pull Requests
关联的 Pull Requests 被合并后可能会关闭此 issue
分支
开始日期   -   截止日期
-
置顶选项
优先级
预计工期 (小时)
参与者(1)
1
https://gitee.com/openharmony/bundlemanager_bundle_framework.git
git@gitee.com:openharmony/bundlemanager_bundle_framework.git
openharmony
bundlemanager_bundle_framework
bundlemanager_bundle_framework

搜索帮助