首页 文章

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

提问于
浏览
10

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

  • World

  • Authenticated

  • Creator

还有三个权限:

  • Create

  • Read

  • Write

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

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

  • 这三个角色是什么意思?前两个似乎很明显,但最后一个似乎不那么明显 . 例如 . Creator是指这个表的创建者,还是记录的创建者?

  • 删除许可在哪里?写?

  • 安全角色可以应用于个人记录吗? (例如,我希望用户只能访问InstantMessages表中的一部分记录:他们发送的记录以及他们收到的记录 . 这种性质可以通过安全角色完成吗?)

  • 权限是否继承? (例如,创建者是否获得了创建者,经过身份验证和世界授予的所有权限?)

  • 权限纯粹是添加剂吗?或者我可以创建一个自定义角色,删除权限而不是添加权限吗? (例如,为了创建"Banned User"安全角色 . )

  • 如何在用户上设置角色?我可以为每个创建的用户设置默认角色吗?我可以通过编程方式更改用户的角色吗?

  • 如何创建新的安全角色?我可以通过编程方式创建/更新它们吗?

1 回答

  • 7

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

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

    3)删除许可在哪里?写?是

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

    5)(例如,我希望用户只能访问InstantMessages表中的一部分记录:他们发送的记录以及他们收到的记录 . 这种性质可以通过安全角色完成吗?)'访问权限是什么? ' 意思?用户只能阅读您的应用允许他们阅读的内容并且他们具有读取权限 . 用户只能创建或编写(和删除)您的应用程序允许他们创建或修改(和删除)的记录,并且他们具有创建或写入权限 - 它需要两者 .

    6)权限是否继承? (例如,创建者是否获得了创建者,经过身份验证和世界授予的所有权限?)角色是另一个的子集 - 创建者是经过身份验证的子集 . 经过身份验证是世界的一个子集 .

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

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

相关问题