Перейти к основному содержимому
Настроить объектное хранилище после обновления
Последнее изменение:

Настроить объектное хранилище после обновления

29.09.2023 было выпущено крупное обновление объектного хранилища. Если у вас были созданы контейнеры до обновления объектного хранилища, перенесите их в проект, чтобы продолжить работу с хранилищем в панели управления.

Наиболее значимые изменения в работе хранилища:

  • новая авторизация во все API для работы с хранилищем и новые эндпоинты для доступа;
  • новый публичный домен контейнера (домен вида <uuid>.selstorage.ru). Этот домен заменит персональный домен аккаунта (домена вида *****.selcdn.ru), который будет отключен позднее. Об отключении мы сообщим заранее;
  • переезд объектного хранилища в проекты;
  • новая модель управления доступом: полная поддержка ролевой модели и появление политик доступа к контейнерам.

Ранее созданные пользователи, вызовы методов API и т. п. продолжат работать какое-то время — об отключении мы сообщим заранее. Мы рекомендуем изменить настройки хранилища уже сейчас и использовать обновленные настройки для новых контейнеров.

Перенести контейнеры в проект

Без переноса в проект вы не сможете работать с хранилищем в панели управления.

Перенести хранилище можно один раз и целиком (в один проект). Распределить старые контейнеры по разным проектам нельзя. Создавать новые контейнеры можно будет в разных проектах.

Если у вас уже есть проект, вы можете перенести контейнеры в него или создать новый.

  1. В панели управления перейдите в раздел Объектное хранилище. При первом после 29.09.2023 переходе в раздел откроется страница для переноса контейнеров.
  2. Укажите Использовать существующий проект.
  3. Выберите проект, в который хотите перенести контейнеры, и нажмите Перенести.

Настроить объектное хранилище

  1. Настройте доступ к хранилищу для пользователей.
  2. Настройте политику доступа к контейнеру.
  3. Если вы используете API или FTP, обновите ключи доступа и URL.
  4. Если вы используете CDN, измените CDN-ресурс.
  5. Проверьте, что вы заменили домены на новые.
  6. Удалите старых пользователей хранилища.

1. Настроить доступ к хранилищу для пользователей

Объектное хранилище теперь поддерживает типы пользователей и роли:

  • доступ к хранилищу через панель управления будет у пользователей панели управления, чья роль позволяет доступ ко всему аккаунту или проекту, в который были перенесены контейнеры;
  • доступ к API осуществляется через сервисных пользователей вместо пользователей хранилища (создавались в разделе Объектное хранилище → Пользователи). Старые пользователи продолжат работать и будут отключены позднее. Создавать новых пользователей такого вида больше нельзя.

Добавлять новых пользователей можно в разделе Управление доступомУправление пользователями.

У пользователей с ролью Пользователь объектного хранилища доступ определяется исключительно политикой доступа — если она не настроена, пользователь не будет иметь доступ в контейнер. Подробнее о работе разных ролей в хранилище в инструкции Управлять доступом в объектном хранилище.

2. Настроить политику доступа к контейнеру

Создать политику доступа к контейнеру можно через панель управления. Для создания политики доступа через API воспользуйтесь документацией AWS S3.

При настройке политики учитывайте доступы в рамках ролевой модели, подробнее в инструкции Управлять доступом в объектном хранилище.

Подробнее о работе политик доступа в разделе Политика доступа.

3. Обновить ключи доступа и URL

Подробнее об авторизации в документации S3 API.

  1. Выдайте S3-ключ сервисному пользователю. Выдать ключ можно также через IAM API.

  2. В запросах замените URL и используйте ключ для аутентификации по новой схеме:

    • AWS_ACCESS_KEY_ID — значение поля Access key из S3-ключа;
    • AWS_SECRET_KEY — значение поля Secret key из S3-ключа;
    • URL — s3.<pool>.storage.selcloud.ru, где <pool> — пул, в котором находится объектное хранилище (например, ru-1).

4. Изменить CDN-ресурс

Если вы используете объектное хранилище в качестве источника контента CDN, измените CDN-ресурс. Подробнее о подключении хранилища к CDN в инструкции Подключить CDN к объектному хранилищу.

  1. В панели управления перейдите в раздел CDNCDN-ресурсы.
  2. Откройте страницу CDN-ресурса → вкладка Общий.
  3. Нажмите Редактировать источник.
  4. Замените домен на публичный домен контейнера вида <uuid>.selstorage.ru.
  5. В поле Переопределение заголовка Host укажите публичный домен контейнера.

5. Проверить домены

Убедитесь, что вы везде используете новые домены. Старые домены продолжат работать какое-то время и будут отключены позднее. Об отключении мы сообщим в заранее.

Подробнее о доменах в инструкции Домены.

Для чего используетсяСтарый доменНовый домен
Публичный доступ*****.selcdn.ru<uuid>.selstorage.ru
Swift APIapi.selcdn.ruswift.<pool>.storage.selcloud.ru
S3 API
  • s3.storage.selcloud.ru/<container_name> (Path-Style)
  • <container_name>.s3.storage.selcloud.ru (Virtual Hosted)
  • s3.<pool>.storage.selcloud.ru/<container_name> (Path-Style)
  • <container_name>.s3.<pool>.storage.selcloud.ru (Virtual Hosted)
FTPftp.selcdn.ruftp.<pool>.storage.selcloud.ru
Домен для DNS-записей*****.selcdn.ruaccess.<pool>.storage.selcloud.ru

6. Удалить старых пользователей хранилища

  1. В панели управления перейдите в раздел Объектное хранилищеПользователи.
  2. В карточке пользователя нажмите Удалить.