2015-07-12 56 views
9

有在CloudKit三個默認的安全角色:CloudKit安全角色和權限如何工作?

  • 世界
  • 認證
  • 造物主

三和權限:

  • 創建

如何將這些安全角色和權限的工作?

下面是一些我希望這些問題通過實例安全角色的說明,得到回答:

  • 什麼的三個角色是什麼意思?前兩個看起來很明顯,但最後一個看起來不那麼明顯。例如。 創作者是指表格的創作者,還是創作者的記錄?
  • 刪除權限將落在何處?寫?
  • 可以將安全角色應用於單個記錄嗎? (例如,我希望用戶只能訪問InstantMessages表中的一部分記錄:他們發送的和他們收到的記錄。可以通過安全角色完成這種事情嗎?)
  • 是否繼承權限? (例如,創作者是否獲得了創作者授予的所有權限,已通過身份驗證以及世界嗎?)
  • 權限是純粹相加的嗎?或者我可以創建一個自定義角色來刪除權限而不是添加權限? (例如,爲了創建「禁止用戶」安全角色。)
  • 如何在用戶上設置角色?我可以爲每個創建的用戶設置默認角色嗎?我可以通過程序更改用戶角色嗎?
  • 如何創建新的安全角色?我可以通過編程創建/更新它們嗎?

回答

6

1)這些安全角色和權限是如何工作的?您可以在開發環境中的儀表板上設置它們。

2)這三個角色是什麼意思?前兩個看起來很明顯,但最後一個看起來不那麼明顯。例如。創作者是指表格的創作者還是創作者的記錄? - 記錄的創建者(並且這意味着所有使用相同iCloud帳戶訪問CloudKit的設備)

3)刪除權限將落在何處?寫?是

4)安全角色是否可以應用於單個記錄? 5)(例如,如果需要,可以使用以下的方法)。我希望用戶只能訪問InstantMessages表中的一部分記錄:他們發送的記錄和他們收到的記錄。這種性質的東西可以通過安全角色來完成嗎?)「訪問」是什麼意思?用戶只能閱讀您的應用允許他們閱讀的內容以及他們擁有閱讀權限。用戶只能創建或寫入(和刪除)您的應用允許他們創建或修改(和刪除)的記錄,並且他們擁有創建或寫入權限 - 它同時採用這兩種記錄。

6)權限是否被繼承? (例如,創建者是否獲得了從創建者,認證者和世界授予的所有權限?)角色是另一個的子集 - 創建者是認證的子集。認證是世界的一個子集。

7)權限....以編程方式?權限轉到廣泛的類「創建者」「已認證」「世界」,因此您無法設置每個用戶的權限(除創建記錄的用戶是唯一的創建者外)。

但所有這一切的關鍵是要記住,它需要您的應用程序代碼授予創建/讀取/寫入記錄,並且特定用戶必須具有該權限。因此,您可以在代碼中執行任何操作,以允許任何人執行任何操作 - 只要您授予「已認證」權限「書寫」

+0

這些角色是否僅適用於公共數據庫?什麼共享或私人? – LamonteCristo

+0

這些角色適用於公共數據庫,並且也適用於私有數據庫。只有一個帳戶可以訪問私人數據庫。因此,這個人是「創造者」,創造者擁有所有權利。故事結束(共享文件 - 我不確定。) –