Можно ли указать разные списки ACL для разных папок в одной и той же корзине?
Я хотел бы указать разные уровни ACL по умолчанию для двух разных папок в одном хранилище Google Cloud. Это вообще возможно, или есть какой-то обходной путь?
Возможно, задним числом можно указать разные уровни ACL для разных папок, используя gsutil acl
команда, тогда как можно использовать только gsutil defacl
Команда на все ведро. Правильный?
Некоторые потенциальные обходные пути, которые я использовал для мозгового штурма, но пока не нашел поддержки:
- Установите каждый ACL для каждого файла на стороне клиента (iOS/Android) при первой загрузке.
- Облачная функция прослушивает новые загрузки файлов, а затем соответствующим образом изменяет свой ACL.
Опять же, я не нашел никаких подсказок в официальной документации для реализации какого-либо из вышеуказанных решений, поэтому любые указатели будут с благодарностью. Заранее спасибо!
1 ответ
В настоящее время списки ACL можно применять только к отдельным объектам, а политики IAM можно применять только к целым корзинам или отдельным объектам.
Оба предложенных вами решения разумны, но оба имеют недостатки. Первое решение будет лучшим, но только если вы доверяете пользователю iOS устанавливать хорошие разрешения. Клиент потенциально может установить разные разрешения. Это не обязательно проблема, так как предположительно у клиента уже есть данные, и, если они были вредоносными, они могли бы поделиться ими где угодно, но об этом нужно знать.
Второе решение также хорошо, но есть очень маленькое окно времени, в котором ACL объекта были бы неправильными. Это также не может быть проблемой для вас.
Один хороший вариант может состоять в том, чтобы пользователи загружали объекты в "промежуточное" хранилище, а затем облачная функция реагировала на эту загрузку, перемещая объект в его производственное местоположение с правильным ACL, а затем удаляла промежуточную версию.