Cloudkit安全角色

我在CloudKit中看到的唯一用于安全卷的用途是授予另一个团队成员访问cloudkit Dashboard的权限,以便修改仪表板中的表格? 这是正确的,还是我错过了什么?

目前,我是唯一可以登录仪表板的人,我无法添加其他团队成员。 我想这是因为我注册为Apple的单一开发人员? 我希望使用它在公共数据库上设置某种类型的安全性,但似乎我不能用安全角色来做这件事。

我正在尝试为公共数据库设置三种不同类型的用户:

我将在同一个容器中运行3个应用程序。

1.)管理员 – 单独的应用程序

2.)消费者 – 单独的应用程序

3.)承包商 – 单独的应用程序

我找到了这个post:

如何访问cloudkit中的安全角色

看来我必须在每个应用程序中添加安全性才能仅访问该类型用户所允许的数据?

我已经设置了多个共享相同容器的应用程序,您不仅需要在Xcode本身中配置它,还需要在您编写的代码中配置它。

let container = CKContainer(identifier: "iCloud.yourDB") let publicDB = container.publicCloudDatabase 

访问是基于iCloud用户授予的,而不是基于应用程序。 因此,如果您要在使用相同iCloud ID的设备上运行所有三个应用程序,那么他们将使用默认权限访问相同的公共和私有数据库。

您需要“代码”能够在管理应用程序中“创建”和“写入”您的数据库。 大概是在承包商应用程序中“写入”数据库并“读取”消费者应用程序中的数据库; 一个示例场景。

但是,如果计划是让多个iCloud用户使用共享同一容器的不同应用程序,那么您的选项会受到更多限制。 私有数据库就是私有数据库。 因此不同的iCloud用户无法共享同一个私有数据库,无法更改权限期限,他们只能共享公共数据库。

在公共数据库中,默认权限将授予每个人读取访问权限,只允许[登录到iCloud帐户]用户validation创建新记录的能力,并将创建的记录与创建它们的用户链接起来。

换句话说,如果经过身份validation的用户[A]在公共数据库中创建记录,则用户[B]可以读取它,但没有写入权限来更新它; 您可以/可以更改访问权限以授予他们这样做的权利,如果您需要这样做,那么您将在仪表板上进行更改。

但要注意,公共数据库上的配额没有链接到我理解的iCloud帐户,它们链接到应用程序。 因此,如果您创建一个将大量数据转储到公共数据库的应用程序; 当应用程序用户超过每个应用程序每个用户允许的公共数据库配额时,Apple会向您发送帐单。 [是的,所以您的应用的用户越多,您获得的公共数据库配额就越多,但您应该/需要限制个人用户可以声称的数量,以限制您对iCloud成本的责任!]

我可能错过了解Apple的工作原理/将如何向用户/应用程序收取最后一段费用的说明,一定要澄清。