2015-07-12 57 views
9

有在CloudKit三个默认的安全角色:CloudKit安全角色和权限如何工作?

  • 世界
  • 认证
  • 造物主

三和权限:

  • 创建

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

下面是一些我希望这些问题通过实例安全角色的说明,得到回答:

  • 什么的三个角色是什么意思?前两个看起来很明显,但最后一个看起来不那么明显。例如。 创作者是指表格的创作者,还是创作者的记录?
  • 删除权限将落在何处?写?
  • 可以将安全角色应用于单个记录吗? (例如,我希望用户只能访问InstantMessages表中的一部分记录:他们发送的和他们收到的记录。可以通过安全角色完成这种事情吗?)
  • 是否继承权限? (例如,创作者是否获得了创作者授予的所有权限,已通过身份验证以及世界吗?)
  • 权限是纯粹相加的吗?或者我可以创建一个自定义角色来删除权限而不是添加权限? (例如,为了创建“禁止用户”安全角色。)
  • 如何在用户上设置角色?我可以为每个创建的用户设置默认角色吗?我可以通过程序更改用户角色吗?
  • 如何创建新的安全角色?我可以通过编程创建/更新它们吗?

回答

6

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

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

3)删除权限将落在何处?写?是

4)安全角色是否可以应用于单个记录? 5)(例如,如果需要,可以使用以下的方法)。我希望用户只能访问InstantMessages表中的一部分记录:他们发送的记录和他们收到的记录。这种性质的东西可以通过安全角色来完成吗?)“访问”是什么意思?用户只能阅读您的应用允许他们阅读的内容以及他们拥有阅读权限。用户只能创建或写入(和删除)您的应用允许他们创建或修改(和删除)的记录,并且他们拥有创建或写入权限 - 它同时采用这两种记录。

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

7)权限....以编程方式?权限转到广泛的类“创建者”“已认证”“世界”,因此您无法设置每个用户的权限(除创建记录的用户是唯一的创建者外)。

但所有这一切的关键是要记住,它需要您的应用程序代码授予创建/读取/写入记录,并且特定用户必须具有该权限。因此,您可以在代码中执行任何操作,以允许任何人执行任何操作 - 只要您授予“已认证”权限“书写”

+0

这些角色是否仅适用于公共数据库?什么共享或私人? – LamonteCristo

+0

这些角色适用于公共数据库,并且也适用于私有数据库。只有一个帐户可以访问私人数据库。因此,这个人是“创造者”,创造者拥有所有权利。故事结束(共享文件 - 我不确定。) –