11

CloudKit 中有三个默认的安全角色:

  • 世界
  • 已认证
  • 创作者

和三个权限:

  • 创造

这些安全角色和权限如何工作?

以下是我希望通过对安全角色的解释得到回答的一些问题的示例:

  • 这三个角色是什么意思?前两个似乎很明显,但最后一个似乎不那么明显。例如,Creator是指表的创建者,还是记录的创建者?
  • 删除权限属于哪里?写?
  • 安全角色可以应用于个人记录吗?(例如,我希望用户只能访问 InstantMessages 表中记录的子集:他们发送的记录和接收的记录。这种性质的事情可以通过安全角色完成吗?)
  • 权限是否继承?(例如,创建者是否获得了创建者、已验证和世界授予的所有权限?)
  • 权限纯粹是附加的吗?或者我可以创建一个自定义角色来删除权限而不是添加权限吗?(例如,为了创建“禁止用户”安全角色。)
  • 如何为用户设置角色?我可以为每个创建的用户设置默认角色吗?我可以以编程方式更改用户的角色吗?
  • 如何创建新的安全角色?我可以以编程方式创建/更新它们吗?
4

1 回答 1

8

1) 这些安全角色和权限如何工作?您在开发环境的仪表板上设置它们。

2)这三个角色是什么意思?前两个似乎很明显,但最后一个似乎不那么明显。例如,Creator 是指表的创建者,还是记录的创建者?- 记录的创建者(这意味着使用相同 iCloud 帐户访问 CloudKit 的所有设备)

3)删除权限在哪里?写?是的

4) 安全角色可以应用于个人记录吗?不

5) (例如,我希望用户只能访问 InstantMessages 表中记录的子集:他们发送的记录和接收的记录。这种性质的事情可以通过安全角色完成吗?)什么是“访问” ' 意思是?用户只能阅读您的应用允许他们阅读并且他们具有阅读权限的内容。用户只能创建或写入(和删除)您的应用允许他们创建或修改(和删除)并且他们具有创建或写入权限的记录 - 这两者都需要。

6) 权限是继承的吗?(例如,创建者是否获得了创建者、已验证和世界授予的所有权限?)角色是另一个角色的子集——创建者是已验证的子集。认证是世界的一个子集。

7)权限....是否以编程方式?权限转到广义类“创建者”“已验证”“世界”,因此您不能逐个用户设置权限(除非创建记录的用户是唯一的创建者)。

但所有这一切的关键是要记住,您的应用程序代码需要授予对记录的创建/读取/写入权限,并且特定用户必须拥有该权限。所以你可以在代码中做任何你想做的事情,以允许任何人做任何事情——前提是你授予“Authenticated”“写”的权利

于 2015-09-04T02:34:14.737 回答