2016-11-18 65 views
1

我目前使用的是自我託管的分析服務器,但我正面臨一些安全問題。將分析服務器簡化爲僅分析雲

目前,做路由/classes調用可以檢索任何表中的任何對象,並且,即使我可能要對象是公共可讀,我不希望顯示的所有參數那個對象。簡而言之,我不想在任何情況下檢索數據庫,我想禁用除「解析雲代碼」之外的「所有內容」。這就是說,我可以對自己的函數運行調用,但無法使用客戶端(Android,iOS,C#,Javascript ...)來檢索數據。

有沒有辦法做到這一點?我一直在爲此深究,試圖調試一些控制器,但我沒有任何線索。

非常感謝您提前。

回答

1

TL;博士:設置ACL的所有對象使用主密鑰,然後告訴雲代碼查詢查詢數據

時使用的MK所以不改變解析服務器時只可讀你自己可以使用ACL,只允許特定的用戶訪問對象。然後,您可以在雲代碼中以該用戶的身份「登錄」,並能夠訪問所有對象。

作爲舊方法,Parse.Cloud.useMasterKey()在OS分析服務器中不可用,您必須將參數useMasterKey傳遞給您正在運行的查詢,該查詢應該爲此特定請求執行技巧並繞過ACL/CLP。在Parse Server的Wiki中也有一個例子。

爲了方便起見,這裏是從維基短的代碼示例:

Parse.Cloud.define('getTotalMessageCount', function(request, response) { 
    var query = new Parse.Query('Messages'); 
    query.count({ 
     useMasterKey: true 
    }) // count() will use the master key to bypass ACLs 
    .then(function(count) { 
     response.success(count); 
    }); 
}); 
+0

我希望會有任何改善控制,並在通過一個獨特的'X-解析 - 雲Key'管理解析服務器未來。謝謝 ! :) –