В КБ можно использовать Yandex Object Storage для хранения файлов во внешнем хранилище. Object Storage позволяет хранить файлы в специальных контейнерах - бакетах.
Для подключения Yandex Cloud к КБ необходимо создать сервисный аккаунт и статический ключ доступа. После этого ключи указываются в настройках модуля «Внешние хранилища файлов».
Ниже рассмотрим настройку пошагово.
Перейдите в консоль управления Yandex Cloud.
Если у вас еще нет аккаунта, сначала зарегистрируйтесь.
Для использования Yandex Cloud необходимо подключить платежный аккаунт и иметь положительный баланс.
Вы можете пополнить баланс самостоятельно или привязать банковскую карту. При доступности соответствующего предложения после привязки карты может быть предоставлен грант на 4000 рублей, который можно использовать для оплаты ресурсов Yandex Cloud.
Актуальные условия оплаты и доступные предложения можно посмотреть в документации Yandex Cloud.
После входа в консоль у вас уже будет создано облако и каталог. Их можно использовать для дальнейшей настройки.

При необходимости вы можете создать новые облако или каталог. Для этого в верхней панели нажмите на стрелку вниз рядом с текущим облаком и выберите «Создать», после чего выберите нужный ресурс.

Сервисный аккаунт - это отдельная учетная запись, от имени которой КБ будет подключаться к Yandex Cloud.
В верхней панели отображаются ваше облако и каталог.
Нажмите на три точки рядом с каталогом и выберите «Создать сервисный аккаунт».

Укажите имя сервисного аккаунта, например:
cb-storage

Описание можно добавить при необходимости.
В поле «Роли в каталоге» выберите роль:
admin

После этого нажмите «Создать».
Важно: роль admin предоставляет широкие права на управление ресурсами каталога. В данном варианте подключения она используется для того, чтобы обеспечить корректную работу всех операций КБ с внешним хранилищем.
После создания сервисного аккаунта необходимо создать ключ, с помощью которого КБ будет подключаться к Yandex Cloud.
Перейдите к списку сервисных аккаунтов. Он будет отображаться в разделе "Ресурсы".

Откройте созданный сервисный аккаунт.

В его настройках нажмите «Создать новый ключ» и выберите «Создать статический ключ доступа».

При необходимости укажите описание ключа, например:
Для подключения к КБ
Нажмите «Создать».

После создания появится окно с двумя значениями:

Сохраните оба значения в безопасном месте.
Важно! Секретный ключ отображается только один раз. После закрытия окна посмотреть его повторно будет невозможно.
Эти данные понадобятся при настройке внешнего хранилища в КБ.
Бакет - это контейнер в Object Storage, в котором будут храниться ваши файлы.
На этом этапе есть два варианта:
Если вы хотите создать бакет самостоятельно, в боковой панели нажмите «Все сервисы», найдите Object Storage и перейдите в него.

Нажмите «Создать бакет».

Укажите уникальное имя бакета.
Настройте необходимые параметры. Обратите внимание на параметр «Макс. размер» — он определяет максимальный объем хранилища.
Важно! Если общий объем файлов, которые вы планируете перенести во внешнее хранилище, превышает 50 ГБ, увеличьте значение «Макс. размер» до необходимого объема или выберите вариант «Без ограничений».
Рекомендуем заранее оценить объем файлов в КБ и установить достаточный лимит, чтобы во время миграции не возникло ограничений по объему хранилища.
Нажмите «Создать».

Бакет создан. Его можно будет указать в настройках внешнего хранилища в КБ.
Создавать бакет заранее необязательно.
При настройке внешнего хранилища в КБ можно выбрать создание нового бакета и указать его название. В этом случае бакет будет создан автоматически модулем.
В дальнейшей инструкции рассмотрим именно этот вариант.
Важно! Перед включением внешнего хранилища рекомендуется сделать полный бэкап. Это позволит восстановить данные в случае возникновения непредвиденной ситуации во время настройки или миграции файлов.

В настройке «Корзина» можно выбрать, использовать существующий бакет или создать новый.
Если вы заранее создали бакет в Yandex Cloud, выберите использование существующего бакета и укажите его название.
В нашем случае бакет заранее не создавался, поэтому выбираем «Создавать новый».

Ниже укажите название нового бакета.
После этого сохраните настройки.
Модуль начнет процесс миграции файлов во внешнее хранилище.
Важно! Пока миграция не завершена, не рекомендуется добавлять новые файлы в КБ. Дождитесь окончания текущей миграции, чтобы все файлы были корректно перенесены во внешнее хранилище.
Не рекомендуется оставлять миграцию незавершенной на длительное время. После запуска дождитесь ее окончания и перейдите к проверке результата.
Чтобы проверить результат, перейдите обратно в Yandex Cloud.
Откройте Object Storage.

В списке бакетов вы увидите новый бакет, который был автоматически создан модулем КБ.

Теперь файлы будут переноситься из КБ в этот бакет.
Дождитесь завершения миграции.
После завершения переноса проверьте, что файлы действительно появились в созданном бакете. После проверки файлов в бакете можно завершить миграцию.
Настройка внешнего хранилища завершена.
Если вы не хотите предоставлять сервисному аккаунту широкую роль admin, можно использовать альтернативный способ подключения с ролью storage.editor.
В этом случае необходимо самостоятельно создать бакет и настроить для него ACL.
Роль storage.editor позволяет работать с бакетами и объектами, но не позволяет управлять настройками ACL. Поэтому для корректной работы необходимо отдельно предоставить сервисному аккаунту полный доступ к конкретному бакету через ACL.
Создайте сервисный аккаунт так же, как описано выше.
При создании вместо admin выберите роль:
storage.editor

После этого нажмите «Создать».
Откройте настройки созданного сервисного аккаунта.
Нажмите «Создать новый ключ» → «Создать статический ключ доступа».
При необходимости укажите описание и нажмите «Создать».
Скопируйте и сохраните:
Важно! Секретный ключ отображается только один раз. После закрытия окна получить его повторно невозможно.
После создания бакета необходимо предоставить созданному сервисному аккаунту полный доступ к нему.
В списке бакетов найдите созданный бакет.
Нажмите на три точки рядом с его названием и выберите «Настроить ACL».

В открывшемся окне редактирования ACL найдите поле «Имя или e-mail пользователя» и выберите созданный ранее сервисный аккаунт.
В соседнем поле с уровнем доступа вместо READ выберите:
FULL_CONTROL
Нажмите «Добавить», после чего нажмите «Сохранить».

FULL_CONTROL предоставляет сервисному аккаунту полный доступ к бакету и объектам внутри него.
Важно! Сервисный аккаунт и бакет должны находиться в одном каталоге, чтобы выбрать сервисный аккаунт через консоль при настройке ACL.
После настройки ACL можно перейти в КБ.
Откройте настройки «Внешних хранилищ файлов» и укажите:
В настройке «Корзина» можно выбрать созданный в Yandex Cloud бакет и указать его название.
При этом также можно использовать создание нового бакета из модуля, если это предусмотрено выбранным сценарием работы.
После сохранения настроек можно пользоваться внешним хранилищем и выполнять миграцию файлов.
Основной вариант подключения предполагает назначение сервисному аккаунту роли admin и не требует отдельной настройки ACL для бакета.
Если вы не хотите предоставлять сервисному аккаунту роль admin, используйте альтернативный вариант с storage.editor и дополнительной настройкой ACL конкретного бакета.
Для альтернативного варианта важно выполнить настройку ACL до подключения хранилища в КБ.