Last week at WWDC, CloudKit got the ability to share data between multiple users privately. It has always been possible to share data publicly, and with a bit of URL obfuscation, you could setup quasi-private sharing, but the new CKShare brings much more security.
We often get asked about multiple users sharing data with Ensembles. In fact, Ensembles is completely agnostic in this regard; it doesn't have any concept of users or groups. The Ensembles framework proper just needs to be able to share files between devices, and how those files are accessed and authenticated is purely a question of backend.
With CKShare we expect to be able to add support for multiple users sharing a persistent store via CloudKit. You will still be responsible for arranging invites and managing users, and will have to create a persistent store for each sharing group, but Ensembles will handle the syncing.