From db846f808a15c40e0bbd05f9324b86109fa9fede Mon Sep 17 00:00:00 2001 From: zengyawen Date: Mon, 13 Jun 2022 17:35:47 +0800 Subject: [PATCH] update docs Signed-off-by: zengyawen --- .../security/accesstoken-overview.md | 36 +++++++++--------- .../permission-application-process.png | Bin 0 -> 40132 bytes .../security/permission-list.md | 10 ++++- 3 files changed, 26 insertions(+), 20 deletions(-) create mode 100644 zh-cn/application-dev/security/figures/permission-application-process.png diff --git a/zh-cn/application-dev/security/accesstoken-overview.md b/zh-cn/application-dev/security/accesstoken-overview.md index c1c6ccf7b7..2539e078bb 100644 --- a/zh-cn/application-dev/security/accesstoken-overview.md +++ b/zh-cn/application-dev/security/accesstoken-overview.md @@ -74,8 +74,9 @@ ATM(AccessTokenManager)是OpenHarmony上基于AccessToken构建的统一的应 | system_basic等级 | 该等级的应用服务提供系统基础服务。 | | normal等级 | 普通应用。 | -默认情况下,应用的APL等级都为normal等级,如果应用需要将自身的APL等级声明为system_basic及以上的APL等级,需要进行以下步骤: -- 开发应用安装包时,需要修改应用的[profile文件](../quick-start/app-provision-structure.md),在文件的"apl"字段声明应用的APL等级,并使用profile签名工具生成证书。具体签名流程可以查看页面[Hap包签名工具指导](hapsigntool-guidelines.md)。 +默认情况下,应用的APL等级都为normal等级。 + +如果应用需要将自身的APL等级声明为system_basic及以上的APL等级,在开发应用安装包时,要修改应用的profile文件。在文件的"apl"字段声明应用的APL等级,并使用profile签名工具生成证书。具体签名流程可以查看页面[Hap包签名工具指导](hapsigntool-guidelines.md)。 ### 权限等级说明 @@ -97,7 +98,7 @@ ATM(AccessTokenManager)是OpenHarmony上基于AccessToken构建的统一的应 system_core权限涉及到开放操作系统核心资源的访问操作。这部分系统资源是系统最核心的底层服务,如果遭受破坏,操作系统将无法正常运行。 - 鉴于该类型权限对系统的影响程度非常大,目前暂不向任何应用开放。 + 鉴于该类型权限对系统的影响程度非常大,目前仅向等级为system_core的应用开放。 ### 访问控制列表(ACL)说明 @@ -112,7 +113,19 @@ ATM(AccessTokenManager)是OpenHarmony上基于AccessToken构建的统一的应 在权限B的ACL使能为TRUE的情况下,此时,开发者可以使用ACL方式来申请权限B。 ACL方式的工作流程可以参考[ACL方式使用说明](#ACL方式使用说明)。 -权限的ACL使能情况可查阅[权限定义列表](permission-list.md) +权限的ACL使能情况可查阅[权限定义列表](permission-list.md)。 + +### ACL方式使用说明 + +如果应用申请的权限中,存在部分权限的权限等级比应用APL等级高,开发者可以选择通过ACL方式来解决这个等级不匹配的问题。 + +在上述的[授权流程](#不同权限类型的授权流程)的基础上,应用需要进行额外的ACL声明步骤。 + +应用除了需要在config.json文件声明所需申请的权限,还需要在应用的[profile文件中声明](accesstoken-guidelines.md#acl方式声明)不满足申请条件的高等级权限,接下来的授权流程不变。 + +**ACL申请方式须知** + +开发应用安装包时,需要修改应用的profile文件,在文件的"acl"字段声明目标的访问控制列表,并使用profile签名工具生成证书。具体签名流程可以查看页面[Hap包签名工具指导](hapsigntool-guidelines.md)。 ## 权限类型说明 @@ -134,7 +147,7 @@ ACL方式的工作流程可以参考[ACL方式使用说明](#ACL方式使用说 应用需要在应用商店的详情页面,向用户展示所申请的user_grant权限列表。 -## 不同权限类型的授权流程 +### 不同权限类型的授权流程 如[权限的工作流程](#权限的工作流程)所示,如果应用需要获取目标权限,那么需要先进行权限申请。 @@ -163,16 +176,3 @@ ACL方式的工作流程可以参考[ACL方式使用说明](#ACL方式使用说 - 如需检查用户是否已向您的应用授予特定权限,可以使用[verifyAccessToken](../reference/apis/js-apis-abilityAccessCtrl.md)函数,此方法会返回 [PERMISSION_GRANTED](../reference/apis/js-apis-abilityAccessCtrl.md)或[PERMISSION_DENIED](../reference/apis/js-apis-abilityAccessCtrl.md)。具体的示例代码可以查看[访问控制开发指导](accesstoken-guidelines.md)。 - user_grant权限授权要基于用户可知可控的原则,需要应用在运行时主动调用系统动态申请权限的接口,系统弹框由用户授权,用户结合应用运行场景的上下文,识别出应用申请相应敏感权限的合理性,从而做出正确的选择。 - 即使用户向应用授予过请求的权限,应用在调用受此权限管控的接口前,也应该先检查自己有无此权限,而不能把之前授予的状态持久化,因为用户在动态授予后还可以通过设置取消应用的权限。 - -### ACL方式使用说明 - -如果应用申请的权限中,存在部分权限的权限等级比应用APL等级高,开发者可以选择通过ACL方式来解决这个等级不匹配的问题。 - -在上述的[授权流程](#不同权限类型的授权流程)的基础上,应用需要进行额外的ACL声明步骤。 - -应用除了需要在config.json文件声明所需申请的权限,还需要在应用的[profile文件中声明](accesstoken-guidelines.md)不满足申请条件的高等级权限,接下来的授权流程不变。 - -**ACL申请方式须知** - -* 开发应用安装包时,需要修改应用的profile文件,在文件的"acl"字段声明目标的访问控制列表,并使用profile签名工具生成证书。具体签名流程可以查看页面[Hap包签名工具指导](hapsigntool-guidelines.md)。 - diff --git a/zh-cn/application-dev/security/figures/permission-application-process.png b/zh-cn/application-dev/security/figures/permission-application-process.png new file mode 100644 index 0000000000000000000000000000000000000000..f5d211d1cf825e66f04d94fbcef355160e6b28b8 GIT binary patch literal 40132 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 literal 0 HcmV?d00001 diff --git a/zh-cn/application-dev/security/permission-list.md b/zh-cn/application-dev/security/permission-list.md index 3193f3434f..1ed3deaf27 100644 --- a/zh-cn/application-dev/security/permission-list.md +++ b/zh-cn/application-dev/security/permission-list.md @@ -1,8 +1,14 @@ # 权限定义列表 -以下给出当前系统定义的权限信息列表。 +在符合[应用申请和使用权限的基本原则](accesstoken-overview.md#基本原则)的基础上,可以根据下图判断应用是否可以申请某权限。 -权限级别、授权方式、ACL使能的说明,请参考[访问控制开发概述](accesstoken-overview.md)。权限的使用示例请参考[访问控制开发指导](accesstoken-guidelines.md)。 +![](D:\doc-gitee\docs\zh-cn\application-dev\security\figures\permission-application-process.png) + +1. 应用APL等级与权限等级的匹配关系请参考[访问控制开发概述-权限等级说明](accesstoken-overview.md#权限等级说明)。 +2. 权限的授权方式分为user_grant(用户授权)和system_grant(系统授权),具体请参考[访问控制开发概述-权限类型说明](accesstoken-overview.md#权限类型说明)。 +3. 应用可以通过ACL(访问控制列表)方式申请高级别的权限,具体请参考[访问控制开发概述-访问控制列表说明](accesstoken-overview.md#访问控制列表acl说明)。 + +以下给出当前系统定义的权限信息列表。权限的使用示例请参考[访问控制开发指导](accesstoken-guidelines.md)。 | 权限名 | 权限级别 | 授权方式 | ACL使能 | 权限说明 | | -------------------------------------------------------- | ------------ | ------------ | ------- | ------------------------------------------------------------ | -- GitLab