Отменить доступ READ к объектам после загрузки

Можно ли реализовать «одностороннюю» схему резервного копирования файлов журналов с помощью Google Cloud Storage : учетная запись службы должна иметь возможность загружать объекты через gsutil rsync, но не должна иметь возможность загружать эти объекты после этого?

Все стандартные списки ACL подразумевают, что запрашивающая сторона будет выполнять роль ВЛАДЕЛЬЦА для загруженных объектов

0
задан 7 October 2017 в 11:16
1 ответ

Да, но это не просто. Модель владения GCS безвозвратно предоставляет право владения учетной записи, которая загрузила объект. Чтобы загрузить объект без сохранения доступа для чтения, вам нужно проявить немного творчества.

Первый вариант: пусть ваш регистратор запросит подписанный URL из другой административной учетной записи. Когда вы используете подписанный URL-адрес для загрузки объекта, учетная запись, сгенерировавшая этот URL-адрес, владеет объектом, а не загрузчиком. Это позволяет вам продавать подписанные URL-адреса пользователю, которые могут использоваться для загрузки, но не могут быть использованы позже для обратного чтения объекта.

Второй вариант: переместить объект. Хотя исходный объект принадлежит пользователю, добавившему его, если объект копируется в другое место, а оригинал удален, учетная запись, которая выполняла копирование, становится новым владельцем. Вы даже можете скопировать объект поверх себя с тем же именем объекта. Вы можете использовать уведомления Google Cloud Pub / Sub или Google Cloud Functions для настройки небольшого триггера, который при каждой загрузке объекта в корзину копирует этот объект поверх себя, чтобы сменить владельца.

2
ответ дан 4 December 2019 в 13:29

Теги

Похожие вопросы