Настроить объектное хранилище после обновления
29.09.2023 было выпущено крупное обновление объектного хранилища. Если у вас были созданы контейнеры до обновления объектного хранилища, перенесите их в проект, чтобы продолжить работу с хранилищем в панели управления.
Наиболее значимые изменения в работе хранилища:
- новая авторизация во все API для работы с хранилищем и новые эндпоинты для доступа;
- новый публичный домен контейнера (домен вида
<uuid>.selstorage.ru
). Этот домен заменит персональный домен аккаунта (домена вида*****.selcdn.ru
), который будет отключен позднее. Об отключении мы сообщим заранее; - переезд объектного хранилища в проекты облачной платформы;
- новая модель управления доступом: полная поддержка ролевой модели и появление политик доступа к контейнерам.
Ранее созданные пользователи, вызовы методов API и т. п. продолжат работать какое-то время — об отключении мы сообщим заранее. Мы рекомендуем изменить настройки хранилища уже сейчас и использовать обновленные настройки для новых контейнеров.
Перенести контейнеры в проект
Без переноса в проект вы не сможете работать с хранилищем в панели управления.
Перенести хранилище можно один раз и целиком (в один проект). Распределить старые контейнеры по разным проектам нельзя. Создавать новые контейнеры можно будет в разных проектах.
Если у вас уже есть проект облачной платформы, вы можете перенести контейнеры в него или создать новый.
- В существующий проект
- В новый проект
- В панели управления перейдите в раздел Объектное хранилище. При первом после 29.09.2023 переходе в раздел откроется страница для переноса контейнеров.
- Укажите Использовать существующий проект.
- Выберите проект, в который хотите перенести контейнеры, и нажмите Перенести.
- В панели управления перейдите в раздел Объектное хранилище. При первом после 29.09.2023 переходе в раздел откроется страница для переноса контейнеров.
- Укажите Создать новый проект.
- Введите имя проекта и нажмите Перенести.
Настроить объектное хранилище
- Настройте доступ к хранилищу для пользователей.
- Настройте политику доступа к контейнеру.
- Если вы используете API или FTP, обновите ключи доступа и URL.
- Если вы используете CDN, измените CDN-ресурс.
- Проверьте, что вы заменили домены на новые.
- Удалите старых пользователей хранилища.
Настроить доступ к хранилищу для пользователей
Объектное хранилище теперь поддерживает ролевую модель:
- доступ к хранилищу через панель управления будет у пользователей панели управления, чья роль позволяет доступ ко всему аккаунту или проекту, в который были перенесены контейнеры;
- доступ к API осуществляется через сервисных пользователей вместо пользователей хранилища (создавались в разделе Объектное хранилище → Пользователи). Старые пользователи продолжат работать и будут отключены позднее. Создавать новых пользователей такого вида больше нельзя.
Добавлять новых пользователей можно в разделе Управление пользователями.
У пользователей с ролью Пользователь объектного хранилища доступ определяется исключительно политикой доступа — если она не настроена, пользователь не будет иметь доступ в контейнер. Подробнее о работе разных ролей в хранилище в инструкции Управлять доступом в объектном хранилище.
Настроить политику доступа к контейнеру
Создать политику доступа к контейнеру можно через панель управления. Для создания политики доступа через API воспользуйтесь документацией AWS S3.
При настройке политики учитывайте доступы в рамках ролевой модели, подробнее в инструкции Управлять доступом в объектном хранилище.
Подробнее о работе политик доступа в разделе Политика доступа.
Обновить ключи доступа и URL
- S3 API
- Swift API
- FTP
Подробнее об авторизации в документации S3 API.
Выдайте S3-ключ сервисному пользователю. Выдать ключ можно также через IAM API.
В запросах замените URL и используйте ключ для аутентификации по новой схеме:
Подробнее об авторизации в документации Swift API.
Для авторизации используйте логин и пароль сервисного пользователя.
В запросах замените URL и данные:
OS_USERNAME — логин сервисного пользователя;
OS_PASSWORD — пароль сервисного пользователя;
OS_AUTH_URL —
https://cloud.api.selcloud.ru/identity/v3
;OS_TENANT_ID — идентификатор проекта;
URL —
swift.ru-1.storage.selectel.org/v1/<project_id>
, где:
Изменить CDN-ресурс
Если вы используете объектное хранилище в качестве источника контента CDN, измените CDN-ресурс. Подробнее о подключении хранилища к CDN в инструкции Подключить CDN к объектному хранилищу.
- В панели управления перейдите в раздел CDN → CDN-ресурсы.
- Откройте страницу CDN-ресурса → вкладка Общий.
- Нажмите Редактировать источник.
- Замените домен на публичный домен контейнера вида
<uuid>.selstorage.ru
. - В поле Переопределение заголовка Host укажите публичный домен контейнера.
Проверить домены
Убедитесь, что вы везде используете новые домены. Старые домены продолжат работать какое-то время и будут отключены позднее. Об отключении мы сообщим в заранее.
Подробнее о доменах в инструкции Домены.
Удалить старых пользователей хранилища
- В панели управления перейдите в раздел Объектное хранилище → Пользователи.
- В карточке пользователя нажмите → Удалить.