精品国产人成在线_亚洲高清无码在线观看_国产在线视频国产永久2021_国产AV综合第一页一个的一区免费影院黑人_最近中文字幕MV高清在线视频

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

鴻蒙開發Ability Kit程序框架服務:應用權限管控概述 程序訪問控制

jf_46214456 ? 來源:jf_46214456 ? 作者:jf_46214456 ? 2024-07-01 10:21 ? 次閱讀

應用權限管控概述

簡介

系統提供了一種允許應用訪問系統資源(如:通訊錄等)和系統能力(如:訪問攝像頭、麥克風等)的通用權限訪問方式,來保護系統數據(包括用戶個人數據)或功能,避免它們被不當或惡意使用。

應用權限保護的對象可以分為數據和功能:

  • 數據包括個人數據(如照片、通訊錄、日歷、位置等)、設備數據(如設備標識、相機、麥克風等)。
  • 功能包括設備功能(如訪問攝像頭/麥克風、打電話、聯網等)、應用功能(如彈出懸浮窗、創建快捷方式等)。
  • 開發前請熟悉鴻蒙開發指導文檔 :[gitee.com/li-shizhen-skin/harmony-os/blob/master/README.md]

權限使用的基本原則

合理的使用場景有助于應用權限申請和使用。開發應用時權限申請需要滿足如下原則:

  • 應用(包括應用引用的三方庫)所需權限必須在應用的配置文件中嚴格按照權限開發指導逐個聲明。
  • 權限申請滿足最小化原則,禁止申請非必要的、已廢棄的權限。應用申請過多權限,會引起用戶對應用安全性的擔憂以及使用體驗變差,從而也會影響到應用的安裝率和留存率。
  • 應用申請敏感權限時,必須填寫權限使用理由字段,敏感權限通常是指與用戶隱私密切相關的權限,包括地理位置、相機、麥克風、日歷、健身運動、身體傳感器、音樂、文件、圖片視頻等權限。
  • 應用敏感權限須在對應業務功能執行前動態申請,滿足隱私最小化要求。
  • 用戶拒絕授予某個權限后,應用與此權限無關的其他業務功能應允許正常使用。

授權方式

根據授權方式的不同,權限類型可分為system_grant(系統授權)和user_grant(用戶授權)。

system_grant(系統授權)

system_grant指的是系統授權類型,在該類型的權限許可下,應用被允許訪問的數據不會涉及到用戶或設備的敏感信息,應用被允許執行的操作對系統或者其他應用產生的影響可控。

如果在應用中申請了system_grant權限,那么系統會在用戶安裝應用時,自動把相應權限授予給應用。

user_grant(用戶授權)

user_grant指的是用戶授權類型,在該類型的權限許可下,應用被允許訪問的數據將會涉及到用戶或設備的敏感信息,應用被允許執行的操作可能對系統或者其他應用產生嚴重的影響。

該類型權限不僅需要在安裝包中申請權限,還需要在應用動態運行時,通過發送彈窗的方式請求用戶授權。在用戶手動允許授權后,應用才會真正獲取相應權限,從而成功訪問操作目標對象。

例如,在[應用權限列表]中,麥克風和攝像頭對應的權限都是屬于用戶授權權限,列表中給出了詳細的權限使用理由。應用需要在應用商店的詳情頁面,向用戶展示所申請的user_grant權限列表。

權限組和子權限

為了盡可能減少系統彈出的權限彈窗數量,優化交互體驗,系統將邏輯緊密相關的user_grant權限組合在一起,形成多個權限組。

當應用請求權限時,同一個權限組的權限將會在一個彈窗內一起請求用戶授權。權限組中的某個權限,稱之為該權限組的子權限。

權限組和權限的歸屬關系并不是固定不變的,一個權限所屬的權限組有可能發生變化。當前系統支持權限組請查閱[應用權限組列表]。

權限機制中的基本概念

  • TokenID
    系統采用TokenID(Token identity)作為應用的唯一標識。權限管理服務通過應用的TokenID來管理應用的AT(Access Token)信息,包括應用身份標識APP ID、子用戶ID、應用分身索引信息、應用APL、應用權限授權狀態等。在資源使用時,系統將通過TokenID作為唯一身份標識映射獲取對應應用的權限授權狀態信息,并依此進行鑒權,從而管控應用的資源訪問行為。
    值得注意的是,系統支持多用戶特性和應用分身特性,同一個應用在不同的子用戶下和不同的應用分身下會有各自的AT,這些AT的TokenID也是不同的。

  • APL等級
    為了防止應用過度索取和濫用權限,系統基于APL(Ability Privilege Level,元能力權限等級)等級,配置了不同的權限開放范圍。
    元能力權限等級APL指的是應用的權限申請優先級的定義,不同APL等級的應用能夠申請的權限等級不同。

  • 應用APL等級
    應用的等級可以分為以下三個等級,等級依次提高。

    APL級別說明
    normal默認情況下,應用的APL等級都為normal等級。
    system_basic該等級的應用服務提供系統基礎服務。
    system_core該等級的應用服務提供操作系統核心能力。 應用APL等級不允許配置為system_core。
  • 權限APL等級
    根據權限對于不同等級應用有不同的開放范圍,權限類型對應分為以下三個等級,等級依次提高。
    搜狗高速瀏覽器截圖20240326151547.png

    APL級別說明HarmonyOSOpenHarmony鴻蒙文檔籽料:mau123789是v直接拿開放范圍
    normal允許應用訪問超出默認規則外的普通系統資源,如配置Wi-Fi信息、調用相機拍攝等。 這些系統資源的開放(包括數據和功能)對用戶隱私以及其他應用帶來的風險低。APL等級為normal及以上的應用。
    system_basic允許應用訪問操作系統基礎服務(系統提供或者預置的基礎功能)相關的資源,如系統設置、身份認證等。 這些系統資源的開放對用戶隱私以及其他應用帶來的風險較高。APL等級為system_basic及以上的應用。
    system_core涉及開放操作系統核心資源的訪問操作。這部分系統資源是系統最核心的底層服務,如果遭受破壞,操作系統將無法正常運行。- APL等級為system_core的應用。 - 僅對系統應用開放。
  • 訪問控制列表(ACL)
    如上所述,權限APL等級和應用APL等級是一一對應的。原則上,擁有低APL等級的應用默認無法申請更高等級的權限。訪問控制列表ACL(Access Control List)提供了解決低等級應用訪問高等級權限問題的特殊渠道。
    系統權限均定義了“ACL使能”字段,當該權限的ACL使能為TRUE,應用可以使用ACL方式跨級別申請該權限。具體單個權限的定義。
    場景舉例:如開發者正在開發APL等級為normal的A應用,由于功能場景需要,A應用需要申請等級為system_basic的P權限。在P權限的ACL使能為TRUE的情況下,A應用可以通過ACL方式跨級申請權限P。

審核編輯 黃宇

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 框架
    +關注

    關注

    0

    文章

    398

    瀏覽量

    17432
  • APl
    APl
    +關注

    關注

    0

    文章

    8

    瀏覽量

    8068
  • 鴻蒙
    +關注

    關注

    57

    文章

    2307

    瀏覽量

    42738
收藏 人收藏

    評論

    相關推薦

    鴻蒙開發接口Ability框架:【 (Context模塊)】

    Context模塊提供了ability或application的上下文的能力,包括允許訪問特定于應用程序的資源、請求和驗證權限等。
    的頭像 發表于 05-13 16:04 ?670次閱讀
    <b class='flag-5'>鴻蒙</b><b class='flag-5'>開發</b>接口<b class='flag-5'>Ability</b><b class='flag-5'>框架</b>:【 (Context模塊)】

    鴻蒙原生應用元服務-訪問控制權限開發等級和類型

    )對用戶隱私以及其他應用帶來的風險很小。 該類型的權限僅向APL等級為normal及以上的應用開放。 system_basic權限 system_basic權限允許應用訪問操作系統基礎
    發表于 04-17 15:29

    鴻蒙應用模型:【Ability Kit】簡介

    Ability Kit程序框架服務)提供了應用程序開發
    的頭像 發表于 05-29 14:41 ?589次閱讀
    <b class='flag-5'>鴻蒙</b>應用模型:【<b class='flag-5'>Ability</b> <b class='flag-5'>Kit</b>】簡介

    鴻蒙Ability Kit程序框架服務)【Ability內頁面間的跳轉】

    基于Stage模型下的Ability開發,實現Ability內頁面間的跳轉和數據傳遞。
    的頭像 發表于 06-03 20:43 ?274次閱讀
    <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與ServiceExtensionAbility通信】

    本示例展示通過[IDL的方式]和?[@ohos.rpc]?等接口實現了Ability與ServiceExtensionAbility之間的通信。
    的頭像 發表于 06-05 09:28 ?453次閱讀
    <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通信】

    鴻蒙Ability Kit程序框架服務)【應用啟動框架AppStartup】

    `AppStartup`提供了一種更加簡單高效的初始化組件的方式,支持異步初始化組件加速應用的啟動時間。使用啟動框架應用開發者只需要分別為待初始化的組件實現`AppStartup`提供
    的頭像 發表于 06-10 18:38 ?667次閱讀

    鴻蒙開發組件:DataAbility權限控制

    DataAbility提供數據服務,并不是所有的Ability都有權限讀寫它,DataAbility有一套權限控制機制來保證數據安全。分為靜
    的頭像 發表于 06-21 10:30 ?297次閱讀
    <b class='flag-5'>鴻蒙</b><b class='flag-5'>開發</b>組件:DataAbility<b class='flag-5'>權限</b><b class='flag-5'>控制</b>

    鴻蒙開發Ability Kit程序框架服務訪問控制概述 程序訪問控制

    默認情況下,應用只能訪問有限的系統資源。但某些情況下,應用存在擴展功能的訴求,需要訪問額外的系統數據(包括用戶個人數據)和功能,系統也必須以明確的方式對外提供接口來共享其數據或功能。
    的頭像 發表于 07-01 15:53 ?262次閱讀
    <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><b class='flag-5'>訪問</b><b class='flag-5'>控制</b>

    鴻蒙開發Ability Kit程序框架服務:選擇申請權限的方式

    應用在訪問數據或者執行操作時,需要評估該行為是否需要應用具備相關的權限。如果確認需要目標權限,則需要在應用安裝包中申請目標權限
    的頭像 發表于 07-01 09:50 ?314次閱讀
    <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-01 09:22 ?288次閱讀
    <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程序框架服務:向用戶申請授權

    當應用需要訪問用戶的隱私信息或使用系統能力時,例如獲取位置信息、訪問日歷、使用相機拍攝照片或錄制視頻等,應該向用戶請求授權,這部分權限是user_grant權限
    的頭像 發表于 07-01 09:18 ?519次閱讀
    <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 ?454次閱讀
    <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 ?387次閱讀
    <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-02 14:32 ?418次閱讀
    <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 ?369次閱讀
    <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>:使用保存控件