DataAbility權(quán)限控制
DataAbility提供數(shù)據(jù)服務(wù),并不是所有的Ability都有權(quán)限讀寫它,DataAbility有一套權(quán)限控制機(jī)制來(lái)保證數(shù)據(jù)安全。分為靜態(tài)權(quán)限控制和動(dòng)態(tài)權(quán)限控制兩部分。
靜態(tài)權(quán)限控制
DataAbility作為服務(wù)端,在被拉起的時(shí)候,會(huì)根據(jù)config.json里面配置的權(quán)限來(lái)進(jìn)行校驗(yàn),有"readPermission"、"writePermission"和"Permission"三個(gè)配置項(xiàng),可以不配或者為空。示例如下:
"abilities": [
...
{
"name": ".DataAbility",
"srcLanguage": "ets",
"srcPath": "DataAbility",
"icon": "$media:icon",
"description": "$string:DataAbility_desc",
"type": "data",
"visible": true,
"uri": "dataability://com.samples.famodelabilitydevelop.DataAbility",
"readPermission": "ohos.permission.READ_CONTACTS",
"writePermission": "ohos.permission.WRITE_CONTACTS"
},
...
]
客戶端在拉起DataAbility的時(shí)候,需要校驗(yàn)客戶端是否有權(quán)限拉起該DataAbility??蛻舳说臋?quán)限配置在config.json配置文件的"module"對(duì)象的"reqPermissions"對(duì)象中,示例如下:
{
...
"module": {
...
"reqPermissions": [
{
"name": "ohos.permission.READ_CONTACTS"
},
{
"name": "ohos.permission.WRITE_CONTACTS"
},
...
],
...
}
}
動(dòng)態(tài)權(quán)限控制
靜態(tài)權(quán)限校驗(yàn)只能控制某個(gè)DataAbility是否能被另一個(gè)Ability或應(yīng)用拉起,無(wú)法精確校驗(yàn)每個(gè)讀寫接口的權(quán)限,因?yàn)槔餌ataAbility的時(shí)候,還不知道應(yīng)用是否需要讀寫它的數(shù)據(jù)。
動(dòng)態(tài)權(quán)限控制是校驗(yàn)每個(gè)數(shù)據(jù)操作的接口是否有對(duì)應(yīng)的權(quán)限??蛻舳苏{(diào)用數(shù)據(jù)操作接口所需的權(quán)限如下表所示。
表1 接口對(duì)應(yīng)的讀寫權(quán)限配置
需要配置讀權(quán)限的接口開發(fā)前請(qǐng)熟悉鴻蒙開發(fā)指導(dǎo)文檔:[gitee.com/li-shizhen-skin/harmony-os/blob/master/README.md ] | 需要配置寫權(quán)限的接口 | 據(jù)實(shí)際操作配置讀寫權(quán)限的接口 |
---|---|---|
query、normalizeUri、denormalizeUri、openfile(傳入mode有'r') | insert、batchInsert、delete、update、openfile(傳入mode有'w') | executeBatch |
對(duì)于需要配置讀權(quán)限的接口,服務(wù)端需要配置readPermission,客戶端必須申請(qǐng)相應(yīng)的讀權(quán)限才能調(diào)用相關(guān)的接口。
對(duì)于需要配置寫權(quán)限的接口,服務(wù)端需要配置writePermission,客戶端必須申請(qǐng)相應(yīng)的寫權(quán)限才能調(diào)用相關(guān)的接口。
審核編輯 黃宇
-
接口
+關(guān)注
關(guān)注
33文章
8611瀏覽量
151247 -
開發(fā)組件
+關(guān)注
關(guān)注
0文章
4瀏覽量
1153 -
鴻蒙
+關(guān)注
關(guān)注
57文章
2358瀏覽量
42876
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論