Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/security/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Security CloudKit安全角色和权限是如何工作的?_Security_Permissions_Cloudkit_Security Roles - Fatal编程技术网

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

Security CloudKit安全角色和权限是如何工作的?,security,permissions,cloudkit,security-roles,Security,Permissions,Cloudkit,Security Roles,CloudKit中有三个默认安全角色: 世界 已验证的 创建者 和三个权限: 创建 阅读 写入 这些安全角色和权限是如何工作的 下面是一些问题的示例,我希望通过对安全角色的解释来回答这些问题: 这三个角色意味着什么?前两个似乎很明显,但最后一个似乎不那么明显。例如,创建者是指表的创建者还是记录的创建者 删除权限在哪里?写 安全角色是否可以应用于单个记录?(例如,我希望用户只能访问InstantMessages表中记录的一个子集:他们发送的记录和他们接收的记录。这种性质的事情可以通过安全

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

  • 世界
  • 已验证的
  • 创建者
和三个权限:

  • 创建
  • 阅读
  • 写入
这些安全角色和权限是如何工作的

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

  • 这三个角色意味着什么?前两个似乎很明显,但最后一个似乎不那么明显。例如,创建者是指表的创建者还是记录的创建者
  • 删除权限在哪里?写
  • 安全角色是否可以应用于单个记录?(例如,我希望用户只能访问InstantMessages表中记录的一个子集:他们发送的记录和他们接收的记录。这种性质的事情可以通过安全角色来完成吗?)
  • 是否继承了权限?(例如,创建者是否从creator、authenticated和world获得所有授予的权限?)
  • 权限纯粹是加法的吗?或者我可以创建一个自定义角色来删除特权而不是添加特权吗?(例如,为了创建“禁止用户”安全角色。)
  • 如何设置用户的角色?我可以为创建的每个用户设置默认角色吗?我可以通过编程方式更改用户的角色吗
  • 如何创建新的安全角色?我可以通过编程方式创建/更新它们吗
1)这些安全角色和权限是如何工作的?您可以在开发环境的仪表板上设置它们

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

3) 删除权限在哪里?写对

4) 安全角色是否可以应用于单个记录?没有

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

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

7) 权限是否以编程方式存在?权限转到广义类“creator”“authenticated”“world”,因此您不能逐个用户设置权限(创建记录的用户是唯一的创建者除外)


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

这些角色是否仅适用于公共数据库?那么共享或私有呢?这些角色适用于公共数据库,也适用于私有数据库。只有一个帐户可以访问专用数据库。因此,这个人就是“创造者”,创造者拥有一切权利。故事结束。(共享文件-我不确定。)