Настроить объектное хранилище после обновления
29.09.2023 было выпущено крупное обновление объектного хранилища. Если у вас были созданы контейнеры до обновления объектного хранилища, перенесите их в проект, чтобы продолжить работу с хранилищем в панели управления.
Наиболее значимые изменения в работе хранилища:
- новая авторизация во все API для работы с хранилищем и новые эндпоинты для доступа;
- новый публичный домен контейнера (домен вида
<uuid>.selstorage.ru
). Этот домен заменит персональный домен аккаунта (домена вида*****.selcdn.ru
), который будет отключен позднее. Об отключении мы сообщим заранее; - переезд объектного хранилища в проекты;
- новая модель управления доступом: полная поддержка ролевой модели и появление политик дост упа к контейнерам.
Ранее созданные пользователи, вызовы методов API и т. п. продолжат работать какое-то время — об отключении мы сообщим заранее. Мы рекомендуем изменить настройки хранилища уже сейчас и использовать обновленные настройки для новых контейнеров.
Перенести контейнеры в проект
Без переноса в проект вы не сможете работать с хранилищем в панели управления.
Перенести хранилище можно один раз и целиком (в один проект). Распределить старые контейнеры по разным проектам нельзя. Создавать новые контейнеры можно будет в разных проектах.
Если у вас уже есть проект, вы можете перенести контейнеры в него или создать новый.
В существующий проект
В новый проект
- В панели управления перейдите в раздел Объектное хранилище. При первом после 29.09.2023 переходе в раздел откроется страница для переноса контейнеров.
- Укажите Использовать существующий проект.
- Выберите проект, в который хотите перенести контейнеры, и нажмите Перенести.
- В панели управления перейдите в раздел Объектное хранилище. При первом после 29.09.2023 переходе в раздел откроется страница для переноса контейнеров.
- Укажите Создать новый проект.
- Введите имя проекта и нажмите Перенести.
Настроить объектное хранилище
- Настройте доступ к хранилищу для пользователей.
- Настройте политику доступа к контейнеру.
- Если вы используете API или FTP, обновите ключи доступа и URL.
- Если вы используете CDN, измените CDN-ресурс.
- Проверьте, что вы заменили домены на новые.
- Удалите старых пользователей хранилища.
1. Настроить доступ к хранилищу для пользователей
Объектное хранилище теперь поддерживает типы пользователей и роли:
- доступ к хранилищу через панель управления будет у пользователей панели управления, чья роль позволяет доступ ко всему аккаунту или проекту, в который были перенесены контейнеры;
- доступ к API осуществляется через сервисных пользователей вместо пользователей хранилища (создавались в разделе Объектное хранилище → Пользователи). Старые пользователи продолжат работать и будут отключены позднее. Создавать новых пользователей такого вида больше не льзя.
Добавлять новых пользователей можно в разделе Управление доступом → Управление пользователями.
У пользователей с ролью Пользователь объектного хранилища доступ определяется исключительно политикой доступа — если она не настроена, пользователь не будет иметь доступ в контейнер. Подробнее о работе разных ролей в хранилище в инструкции Управлять доступом в объектном хранилище.
2. Настроить политику доступа к контейнеру
Создать политику доступа к контейнеру можно через панель управления. Для создания политики доступа через API воспользуйтесь документацией AWS S3.
При настройке политики учитывайте доступы в рамках ролевой модели, подробнее в инструкции Управлять доступом в объектном хранилище.
Подробнее о работе политик доступа в разделе Политика доступа.
3. Обновить ключи доступа и 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
— ID проекта, можно посмотреть в панели управления: в разделе Объектное хранилище откройте меню проектов (название текущего проекта) → в строке нужного проекта нажмите ; -
URL
—swift.ru-1.storage.selectel.org/v1/<project_id>
, где:
-
- Выдайте S3-ключ сервисному пользователю. Выдать ключ можно также через IAM API.
- Замените URL на
ftp.ru-1.storage.selcloud.ru
, гдеru-1
— пул, в котором находится объектное хранилище.
4. Изменить CDN-ресурс
Если вы используете объектное хранилище в качестве источника контента CDN, измените CDN-ресурс. Подробнее о подключении хранилища к CDN в инструкции Подключить CDN к объектному хранилищу.
- В панели управления перейдите в раздел CDN → CDN-ресурсы.
- Откройте страницу CDN-ресурса → вкладка Общий.
- Нажмите Редактировать источник.
- Замените домен на публичный домен контейнера вида
<uuid>.selstorage.ru
. - В поле Переопределение заголовка Host укажите публичный домен контейнера.
5. Проверить домены
Убедитесь, что вы везде используете новые домены. Старые домены продолжат работать какое-то время и будут отключены позднее. Об отключении мы сообщим в заранее.
Подробнее о доменах в инструкции Домены.
6. Удалить старых пользователей хранилища
- В панели управления перейдите в раздел Объектное хранилище → Пользователи.
- В карточке пользователя нажмите → Удалить.