База знаний

Как работать с хранилищем S3 с помощью утилиты Cyberduck

Хранилище S3, предоставляемое сервисом CLO, обеспечивает облачное размещение и доступ к объектам любых типов. Работать с облачным хранилищем можно с помощью стандартных программных средств доступа к S3, а также с помощью различных утилит, например, программы Cyberduck.

Подключение к хранилищу S3 с помощью утилиты Cyberduck

Чтобы подключить утилиту Cyberduck к хранилищу S3, выполните следующие действия:

  1. В Личном кабинете перейдите на вкладку Хранилище S3. Создайте нового пользователя.
  2. Скачайте клиент Cyberduck с официального сайта. Установите программу Cyberduck на ваш компьютер.
  3. Откройте Cyberduck и нажмите Новое подключение.

Из выпадающего списка вверху выберите пункт Amazon S3. В открывшемся диалоговом окне введите следующие параметры:  

  • Сервер: storage.clo.ru (не указывая в начале «https://»)
  • Порт: 443
  • Access key ID: скопируйте сюда поле Идентификатор ключа из меню Доступы, которое появляется в Личном кабинете после создания пользователя хранилища S3
  • Secret access key: скопируйте сюда строчку Секретный ключ из меню Доступы (см. предыдущий пункт) 

После успешного подключения можно создать закладку для быстрого доступа к хранилищу S3. Для этого в меню выберите ЗакладкаНовая закладка, или нажмите Ctrl+Shift+B. Чтобы войти через сохраненную закладку, после запуска Cyberduck откройте пункт меню Закладка и выберите нужную закладку для связи с хранилищем S3.

Примечание. Использование закладок экономит время и усилия пользователей утилиты Cyberduck, устраняя необходимость вводить каждый раз данные для соединения с хранилищем S3. 

Создание бакета 

Чтобы создать новый бакет в хранилище S3 с помощью Cyberduck, щёлкните правой кнопкой мыши на пустом пространстве в рабочем окне утилиты. В открывшемся меню выберите Новая папка или Новое зашифрованное хранилище.

При создании бакета требуется ввести его имя, состоящее из прописных букв латиницей и цифр.

Совет. Используйте зашифрованные бакеты для хранения конфиденциальных данных, таких, как персональная информация пользователей, логи рабочих процессов, код и т.д.

Зашифрованные хранилища создаются с помощью программы Cryptomator, встроенной в приложение Cyberduck. При развёртывании зашифрованного хранилища для него необходимо задать пароль. Кроме того, ввод пароля потребуется при просмотре каталога бакета, а также при любом скачивании или закачивании данных в бакет. В противном случае изменения не сохранятся. 

Примечание. Число бакетов, их максимальный объем и максимальное количество объектов в одном бакете ограничены лимитами, заданными при создании пользователя на странице Хранилище S3 в Личном кабинете. Лимиты пользователя можно отредактировать в любой момент из Личного кабинета. 

Загрузка объектов в хранилище S3

Для загрузки объекта (например, файла) в хранилище щёлкните правой кнопкой мыши на названии бакета, в котором будет храниться объект. В открывшемся меню выберите Закачать. В открывшемся окне выберите нужный объект и дождитесь окончания загрузки. 

По умолчанию Cyberduck оставляет данные об успешных загрузках в окне «Очередь». Удалить их оттуда можно либо вручную с помощью кнопки Убрать, либо воспользовавшись меню ПравкаНастройкиОчередь → Удалять из очереди успешно скачанные файлы.

Режим загрузки по частям (multipart upload)

Поскольку в хранилище S3 можно размещать объекты объемом в сотни гигабайт, при передаче данных в хранилище присутствует риск сбоя загрузки из-за нестабильности сетевого соединения. Хранилище поддерживает режим загрузки данных по частям (multipart upload), который позволяет возобновлять загрузку при разрыве соединения. По умолчанию этот режим включен. 

Внимание! Прерванные загрузки могут оставлять в хранилище части объектов, не отображаемые по умолчанию в Cyberduck. Эти части объектов занимают место в хранилище, но открыть или модифицировать их невозможно. Чтобы отобразить такие объекты, используйте меню ВидПоказать скрытые файлы, или нажмите Ctrl+Shift+R.

Совет. Удаляйте скрытые файлы, чтобы освободить пространство в хранилище.

Информацию об оставшихся лимитах хранилища можно посмотреть на странице Хранилище S3 в Личном кабинете. Обновление информации происходит с задержкой примерно в две минуты после внесения изменений. 

Скачивание объектов

В списке файлов Cyberduck щёлкните правой кнопкой мыши на названии нужного объекта и выберите в контекстном меню Скачать или Скачать в…. Дождитесь, когда скачивание объекта окончится. 

Удаление объектов и бакетов из хранилища S3

Для удаления объекта или бакета из хранилища щёлкните на его названии правой кнопкой мыши и выберите Удалить в контекстном меню. Объект будет удалён из хранилища.

Предоставление доступа к объектам в хранилище S3 через Интернет

Временный доступ. Утилита Cyberduck позволяет предоставлять доступ к объектам в вашем хранилище S3 через предварительно подписанный временный URL-адрес. Для этого щёлкните правой кнопкой мыши на нужном файле и выберите в контекстном меню Копировать URLPre-signed URL, указав необходимый срок действия временной ссылки. Далее перешлите URL адресату.

Постоянный доступ. Чтобы получить постоянный URL-адрес для доступа к объекту или бакету, воспользуйтесь следующей инструкцией: 

  1. Для бакетов и пользователей, созданных до 23.01.2024 г, получите название тенанта, в котором расположен ресурс (подробнее о тенантах). Посмотреть его можно в строке «Каноничный ID» в данных доступа пользователя: 

Выделенный текст на картинке вверху — это название тенанта. 

  1. Назначьте ресурсу, к которому требуется доступ по ссылке, соответствующие права. Для этого в Cyberduck выберите файл, перейдите на вкладку ИнфоПрава доступа. По умолчанию доступ ко всем объектам и бакетам приватный (есть только у владельца). Управление списком доступа для всех остальных пользователей осуществляется при нажатии иконки в левом нижнем углу окна:

Чтобы разрешить просмотр объекта для всех, нажмите на иконку и выберите Everyone, далее — выберите значение «READ» из выпадающего списка.

Внимание! Чтобы произошло сохранение новой записи в списке контроля доступа, после её создания необходимо щёлкнуть левой клавишей мыши по любой другой записи в этом же окне. 

  1. Отправьте ссылку на объект. Рабочий URL имеет вид: 

https://storage.clo.ru/[имя_тенанта:]имя_бакета/имя_файла

Примечание. Для объектов в бакетах, созданных после 23.01.2024 г, имя тенанта в пути не указывается.

В Cyberduck щёлкните правой кнопкой мыши на названии нужного файла. В контекстном меню выберите ИнфоКопировать URLHTTPS URL. Скопированный URL содержит адрес хранилища, имя бакета и имя объекта в path-style:

https://storage.clo.ru/имя_бакета/имя_файла

Для получения корректной ссылки на постоянный URL необходимо дописать к указанной строке адрес тенанта, полученный в пункте 1.

Пример. https://storage.clo.ru/glossy_lush_shellfish:test3/pic1.jpg

Списки контроля доступа (ACL). Права и роли

В программе Cyberduck права в списках контроля доступа (ACL) задаются для того, чтобы контролировать доступ различных пользователей к ресурсам хранилища. С помощью списков контроля доступа настраиваются возможности конкретного пользователя: редактирование данных хранилища, просмотр информации и разрешение на удаление файлов.

Права доступа представлены в виде двух параметров: Grantee и Permission.

Примечание. Рекомендуется давать пользователю только те привилегии, которые являются абсолютно необходимыми для того, чтобы пользователь мог выполнять свою часть работы с данными.

Параметр Grantee определяет, кто именно сможет работать с ресурсом. Основные значения этого параметра в Cyberduck: 

Владелец (owner)Непосредственно создатель проекта
EveryoneКто угодно в интернете
Canonical User IDКонкретный пользователь в хранилище S3. Для каждого объекта в облаке пользователь может установить права доступа для любого пользователя, используя каноничный ID.

Параметр Permission указывает, какие операции будут разрешены для пользователя:

На уровне бакетаНа уровне файла
READпозволяет получать список объектов в бакетепозволяет загружать файл
WRITEпозволяет создавать, удалять, перезаписывать объекты в бакетенеприменимо
FULL_CONTROLпозволяет совершать любые действия над бакетомпозволяет совершать любые действия над объектом
READ_ACPпозволяет просматривать список контроля доступа бакетапозволяет просматривать список контроля доступа объекта
WRITE_ACPпозволяет изменять список контроля доступа бакетапозволяет изменять список контроля доступа объекта

Распространённые ошибки утилиты Cyberduck при работе с хранилищем S3

  • TooManyBuckets. При создании очередной папки утилита Cyberduck возвращает ошибку вида: 

Причина — достигнут лимит по количеству бакетов в проекте. Увеличить лимит доступных бакетов вы можете в любой момент в Личном кабинете на вкладке Изменить лимиты. 

Максимальное доступное количество бакетов в хранилище S3 — 1000. 

  • QuotaExceeded. Если суммарный объем файлов в проекте превысит лимит максимального объема данных, то Cyberduck отображает ошибку:

Текущая загрузка объекта при этом останавливается.  Загрузка продолжится автоматически после увеличения лимита максимального объема данных проекта. 

Примечание. Данная ошибка также возникает в случае, когда достигнут лимит по количеству объектов. В этом случае для устранения ошибки необходимо увеличить или полностью снять лимит на количество объектов.

  • UserSuspended. Если пользователь хранилища S3 отключен через Личный кабинет, программа Cyberduck возвращает ошибку «UserSuspended». 

Для устранения этой проблемы требуется вновь включить пользователя в Личном кабинете. 

  • Утилита Cyberduck меняет тип подключения с Amazon S3 на WebDAV. Протокол WebDAV работает как надстройка над HTTPS. Приложение автоматически устанавливает данный тип подключения, если пользователь вводит «https://» в строку «сервер» в окне нового подключения. Для устранения проблемы всегда вводите адрес хранилища без указания протокола:

storage.clo.ru 

Дополнительная информация. Вкладки окна «Инфо» утилиты Cyberduck

  • Основные. Содержит общую информацию об объекте (бакете), включая его название, размер и дату создания. При нажатии Calculate утилита Cyberduck пересчитывает и отображает актуальный размер объекта или общий объём бакета
  • Versions. Можно посмотреть список версий конкретного объекта, а также вернуться к выбранной версии из списка. Чтобы просматривать и управлять версиями, требуется поставить галочку на вкладке S3VersioningBucket versioning

Примечание. Предыдущие версии объекта занимают место в хранилище и отображаются как скрытые объекты. Хранение нескольких версий объекта в хранилище S3 может быть причиной уменьшения свободного места для данных

  • Права доступа. Управление  списками контроля доступа (ACL)
  • Мета-данные. Управление парами тегов «ключ:значение», задающими различные параметры хранилища
  • Distribution (CDN). В данный момент сервис CLO не работает с функционалом, представленным на этой вкладке
  • S3. На этой вкладке используется функция Bucket versioning (см. выше)