Совместный доступ
Совместный доступ позволяет открыть другому человеку доступ к хранилищу, папке или файлу. Хранилище остаётся вашим, а приглашённый человек получает только те права, которые вы выбрали.
Вы можете поделиться с пользователем Rabbithole или с email-адресом. Доступ по email позволяет пригласить человека ещё до того, как он создал аккаунт Rabbithole.
Совместный доступ входит в Pro. Лицензия хранилища сохраняет персональное зашифрованное хранение владельца, но не заменяет активный Pro для приглашений, управления доступом и приглашённых пользователей.
Как это выглядит в интерфейсе
Обычно всё сводится к трём действиям: выбрать объект, выбрать права и указать получателя. Rabbithole покажет доступ получателю там, где он ожидает его увидеть.
- Поделиться всем хранилищем, папкой или одним файлом.
- Выдать права View, Edit или Manage.
- Пригласить человека по email до его регистрации.
- Дать человеку возможность запросить доступ, если он открыл хранилище без прав.
- Увидеть входящие хранилища в Shared with me.
Если получатель с правом Edit загружает файл, он использует канистру владельца. Владелец контролирует и видимость данных, и расход ресурсов хранилища.
Вы можете поделиться доступом с будущим пользователем. Когда этот человек позже войдёт с тем же проверенным email из Identity Attributes, Rabbithole автоматически свяжет приглашение с его аккаунтом.
Как Rabbithole защищает совместный доступ
Rabbithole не хранит совместный доступ как заметку в центральной базе. Права проверяет само хранилище. В терминах Internet Computer каждое хранилище — это канистра: самостоятельный смарт-контракт с правилами доступа, файловой структурой и собственным фронтендом.
Когда человек открывает расшаренный файл, канистра хранилища проверяет его principal до выдачи данных файла или ключа шифрования. Principal — это криптографический ID аккаунта, который Internet Identity выдаёт приложению.
Технические детали: канистры, события и список Shared with me
Канистра хранилища остаётся источником истины для прав. Серверная часть Rabbithole держит синхронизированный индекс, чтобы пользователи находили хранилища, которыми с ними поделились, в основном приложении.
Если индекс на серверной части недоступен, канистра хранилища всё равно принимает решение о правах. Индекс нужен для обнаружения и уведомлений; он не заменяет проверки в канистре.
Короткий словарь
Эти термины встречаются на более глубоких страницах раздела.
- Канистра: смарт-контракт в Internet Computer. Хранилище Rabbithole — это канистра.
- Principal: криптографический ID аккаунта, по которому проверяются права.
- Проверенный email: email из Identity Attributes, подтверждённый потоком входа, а не обычное поле формы.
- Правило доступа: запись в канистре, которая определяет, кто и что может делать.
- Активный Pro: состояние, при котором доступны совместный доступ и управление доступом.
- vetKey: криптографический ключ, который выводится по запросу после проверки прав в канистре.