Шифрование и безопасный контур
Две настройки пространства решают, кто и как получает вложения: безопасный контур ограничивает скачивание кругом своих адресов, а продвинутое шифрование держит сообщения и часть вложений зашифрованными на вашем собственном ключе.
Обе живут на одном экране: Пространство > Безопасность. И обе меняют в API одно и то же — ссылка на файл перестаёт вести в хранилище и начинает вести в Пачку. Если ваша интеграция скачивает вложения, эта страница про неё.
Настройки видит только владелец пространства. Администратору экран недоступен.
Безопасный контур
Владелец перечисляет публичные IP-адреса, с которых работают сотрудники: раздел Управление белым списком IP для доступа к вложениям. Принимаются IPv4, IPv6 и запись подсети в нотации CIDR — например, 8.8.8.8 или 203.0.113.0/24. Адреса добавляются по одному.
Настройки безопасного контура
Отдельного переключателя у этой возможности нет: контур действует, пока список непустой, и перестаёт действовать, как только он опустел.
Файл, загруженный с адреса из списка, скачивается только с адресов из списка. Признак проставляется один раз, в момент отправки, и остаётся с файлом навсегда. Пересланная копия наследует его от оригинала.
Сотрудник видит у такого вложения замок, а при попытке скачать снаружи — «Файл защищен» и «Скачивание возможно только из корпоративной сети».
Просмотр во внешнем контуре
По умолчанию защищённое вложение снаружи не открывается вовсе: превью скрыто, тип файла не показывается. Переключатель Разрешить просмотр вложений смягчает это — снаружи можно посмотреть, но не скачать и не переслать за пределы Пачки.
target доступа не открывает.Что происходит при очистке списка
Файлы, уже помеченные как защищённые, такими и остаются. Контура больше нет, а вместе с ним нет и адресов, с которых их разрешено скачивать. Скачиваться такие вложения перестают совсем.
Продвинутое шифрование
Пространство шифрует данные собственным ключом из вашего хранилища ключей: поддерживаются Yandex KMS, Cloud.ru и Vault. В настройках указываются идентификатор ключа KMS и JSON-ключ сервисного аккаунта, а провайдер определяется по ключу сам.
Настройки продвинутого шифрования
Шифруется текст сообщений и часть вложений. Что именно зашифровано у конкретного файла, API не показывает — понять можно только по виду ссылки в url.
Шифрование применяется к новым сообщениям. Всё, что отправлено до включения, остаётся как было: обратной перешифровки нет.
Рядом лежит отдельный переключатель Шифровать push-уведомления — он шифрует текст перед отправкой через сервисы Apple и Google и к вложениям отношения не имеет.
Что меняется для интеграции
Пока обе настройки выключены, в поле url вложения приходит прямая ссылка в хранилище: она действует до 7 дней и скачивается обычным запросом без заголовков.
Как только файл оказывается защищённым или зашифрованным, в url приходит адрес метода GETСкачивание файла. Такую ссылку нельзя открыть в браузере или отдать стороннему сервису — она работает только с заголовком Authorization, и токену нужен скоуп files:read.
Различить два случая по полям ответа нельзя: состав объекта файла одинаковый. Ориентируйтесь на саму ссылку — ведёт она в хранилище или в Пачку.
Адрес сверяется ваш. Проверяется адрес, с которого пришёл запрос, то есть адрес сервера интеграции, а не сотрудника, чьим токеном вы пользуетесь. Чтобы серверная интеграция могла скачивать защищённые вложения, её исходящий адрес должен быть в списке.
Отказы, которые вы увидите:
403с кодомconfidential_download_denied— файл не отдаётся. Так метод отвечает на защищённый файл, запрошенный снаружи контура, на файл, в котором нашли вирус, и на обычное вложение, которому этот метод не нужен: такие забирают по прямой ссылке.400с кодомdecryption_failed— расшифровать не удалось. Обычно это значит, что хранилище ключей недоступно или ключ отозван.
Зашифрованный файл всегда приходит целиком и вложением: параметр target для него не действует.
Журнал аудита
Обращения к ключу видны в методе GETЖурнал аудита событий: kms_encrypt — при шифровании, kms_decrypt — при расшифровке. В details приходит reason, по которому видно повод: file_upload и file_download для вложений, message_create и message_index для текста сообщений.
Изменения самих настроек — правка списка адресов, включение и выключение шифрования — в журнал не пишутся.