VK Object Storage logo
Помощь
Обновлена 20 октября 2026 г. в 12:40

Администрирование в IAM Only

Для получения адресов выполните подключение к деплой-ноде IAM Only по SSH.

При входе Система выведет все адреса и данные учетных записей для дальнейшей работы.

Портал управления доступом

Портал управления доступом — графический интерфейс администраторов Платформы для управления пользователями и группами пользователей.

Условное обозначение: Keycloak.

Портал управления доступом используется для создания, удаления и настройки стандартных учетных записей Платформы, а также настройки доступа к Платформе, например интеграции Платформы с LDAP-провайдером в части учетных записей пользователей.

Чтобы открыть Портал управления доступом, перейдите по адресу:

keycloak.your_domain_name.ru

Здесь your_domain_name.ru — доменное имя заказчика.

Создание группы

  1. Перейдите на Портал управления доступом.
  2. Перейдите в раздел Manage realms.
  3. Нажмите на рилм mcs_users.
  4. Перейдите в раздел Groups.
  5. Нажмите кнопку Create group.
  6. В поле Name укажите имя группы.
  7. Нажмите кнопку Create.

Инструкции по управлению группами приведены в официальной документации Keycloak.

Создание учетной записи

Создание пользователей выполняется в разделе Users Портала управления доступом. Пользователи создаются в одном из следующих рилмов (realm):

  • mcs_users — для учетных записей пользователей Портала самообслуживания.
  • mcs_admins — для учетных записей пользователей Портала администратора.

Для создания выполните:

  1. Перейдите на Портал управления доступом.
  2. Перейдите в раздел Manage realms.
  3. Нажмите на рилм mcs_users.
  4. Перейдите в раздел Users.
  5. Нажмите кнопку Add user.
  6. В поле Username укажите имя пользователя — электронную почту на корпоративном домене.
  7. Нажмите кнопку Join group.
  8. Выберите необходимую группу и нажмите кнопку Join group.
  9. Нажмите кнопку Create.
  10. Перейдите на вкладку Credentials.
  11. Нажмите кнопку Set password.
  12. В полях Password и Password confirmation задайте и подтвердите пароль.
  13. Отключите параметр Temporary.
  14. Нажмите кнопку Save.

Создание проекта

  1. Перейдите на портал Администратора.

  2. Создайте проект:

    1. В боковом меню сервиса выберите пункт Управление проектами → Проекты.

    2. Нажмите кнопку Добавить. Укажите название проекта и нажмите кнопку Создать.

  3. Активируйте сервис:

    1. Откройте проект, нажав на его название в списке.
    2. В открытом проекте перейдите на вкладку Сервисы.
    3. Последовательно включите сервисы:
      1. Cloud Servers.
      2. VK Object Storage.
  4. Установите администратора проекта:

    1. В строке с названием проекта нажмите ••• и выберите Управление доступом.
    2. Нажмите кнопку Добавить и заполните поля:
      • Группы — выберите необходимую группу.
      • Роли — выберите необходимые роли:
        • mcs_admin — обязательная роль;
        • роли, которые назначаются в соответствии с таблицей 1:
          • mcs_storage_uploader — загрузчик данных;
          • mcs_storage_viewer — наблюдатель;
          • mcs_storage_owner — владелец проекта;
          • mcs_storage_editor — менеджер данных.
    3. Нажмите кнопку Сохранить изменения.

Выход из портала Администратора

Для выхода из портала Администратора выполните выход (Sign Out) из аккаунта портала управления доступом (Keycloak), а затем выполните выход (Выйти из аккаунта) из аккаунта портала Администратора.

Добавление пользователей AllUsers и AuthUsers

Пользователи:

  • AllUsers — анонимные пользователи.
  • AuthUsers — авторизованные пользователи без роли в проекте.

Чтобы добавить типы пользователей AllUsers и AuthUsers в VK Object Storage и IAM Only:

  1. Подключитесь к деплой-ноде VK Object Storage и добавьте в конфигурационный файл /etc/hint2/config.yml секцию s3_iam:

    s3_iam: enabled: true static_users:     anon:         enabled: true         iam_id: "anonymous"     any_authenticated:         enabled: true         iam_id: "any_authenticated"
  2. Подключитесь к деплой-ноде VK Object Storage и добавьте в конфигурационный файл /etc/hitrod2/config.yml секцию s3_iam:

    s3_iam: enabled: true static_users:     anon:         enabled: true         iam_id: "anonymous"     any_authenticated:         enabled: true         iam_id: "any_authenticated"
  3. Подключитесь к деплой-ноде IAM Only и добавьте в конфигурационный файл /etc/s3-iam-service/config.yml секции extra_features и identity_provider:

    extra_features: static_users:     api:         enabled: true # включить API статичных пользователей     list: # список и параметры статичных пользователей, ключ static_user_id, передаётся в модуль identity-provider         anonymous: # имя ключа как значение поля anon.iam_id в hitrod2            enabled: true # возможность выключения некоторых пользователей без удаления их из Системы         any_authenticated: # имя ключа как значение поля any_authenticated.iam_id в hitrod2            enabled: true access_check_fallback: # в случае отсутствия доступа пользователя к проекту проверьте доступ для статичных пользователей    enabled: true    order:        - "regular"        - "any_authenticated"        - "anonymous"
    identity_provider: extra_features:    static_users:        list:            anonymous:                email: "anonymous-user@email.email"            any_authenticated:                email: "any-authenticated-user@email.email"
  4. Перейдите на Портал управления доступом (Keycloak).

  5. Перейдите в раздел Manage realms.

  6. Нажмите на рилм mcs_users.

  7. Перейдите в раздел Users.

  8. Нажмите кнопку Add user.

  9. Добавьте пользователей с параметрами:

    • пользователя anon c почтой anonymous-user@email.email;
    • пользователя any-authenticated с почтой any-authenticated-user@email.email.
  10. На портале Администратора настройте доступы для созданных пользователей к соответствующим проектам.

Матрица ролей

Таблица 1 — Матрица ролей

Операция

Владелец проекта (mcs_storage_owner)

Менеджер данных (mcs_storage_editor)

Загрузчик данных (mcs_storage_uploader)

Наблюдатель (mcs_storage_viewer)

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

Администрирование в IAM Only

Администрирование в IAM Only

Администрирование в IAM Only

Администрирование в IAM Only

Добавление второго ключа доступа в существующий аккаунт

Администрирование в IAM Only

Администрирование в IAM Only

Администрирование в IAM Only

Администрирование в IAM Only

Деактивация ключа доступа

Администрирование в IAM Only

Администрирование в IAM Only

Администрирование в IAM Only

Администрирование в IAM Only

Удаление ключа доступа

Администрирование в IAM Only

Администрирование в IAM Only

Администрирование в IAM Only

Администрирование в IAM Only

Удаление аккаунта

Администрирование в IAM Only

Администрирование в IAM Only

Администрирование в IAM Only

Администрирование в IAM Only

Создание префиксного ключа

Администрирование в IAM Only

Администрирование в IAM Only

Администрирование в IAM Only

Администрирование в IAM Only

Список префиксных пользователей

Администрирование в IAM Only

Администрирование в IAM Only

Администрирование в IAM Only

Администрирование в IAM Only

Удаление префиксного ключа у пользователя

Администрирование в IAM Only

Администрирование в IAM Only

Администрирование в IAM Only

Администрирование в IAM Only

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

Администрирование в IAM Only

Администрирование в IAM Only

Администрирование в IAM Only

Администрирование в IAM Only

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

Администрирование в IAM Only

Администрирование в IAM Only

Администрирование в IAM Only

Администрирование в IAM Only

Получение списка бакетов

Администрирование в IAM Only

Администрирование в IAM Only

Администрирование в IAM Only

Администрирование в IAM Only

Получение списка объектов бакета

Администрирование в IAM Only

Администрирование в IAM Only

Администрирование в IAM Only

Администрирование в IAM Only

Получение списка объектов бакета V2

Администрирование в IAM Only

Администрирование в IAM Only

Администрирование в IAM Only

Администрирование в IAM Only

Месторасположение бакета

Администрирование в IAM Only

Администрирование в IAM Only

Администрирование в IAM Only

Администрирование в IAM Only

Удаление бакета

Администрирование в IAM Only

Администрирование в IAM Only

Администрирование в IAM Only

Администрирование в IAM Only

Получение конфигурации веб-сайта

Администрирование в IAM Only

Администрирование в IAM Only

Администрирование в IAM Only

Администрирование в IAM Only

Определение конфигурации веб-сайта

Администрирование в IAM Only

Администрирование в IAM Only

Администрирование в IAM Only

Администрирование в IAM Only

Удаление конфигурации веб-сайта

Администрирование в IAM Only

Администрирование в IAM Only

Администрирование в IAM Only

Администрирование в IAM Only

Получение ACL для бакета

Администрирование в IAM Only

Администрирование в IAM Only

Администрирование в IAM Only

Администрирование в IAM Only

Установка ACL у бакета

Администрирование в IAM Only

Администрирование в IAM Only

Администрирование в IAM Only

Администрирование в IAM Only

Получение ACL для объекта

Администрирование в IAM Only

Администрирование в IAM Only

Администрирование в IAM Only

Администрирование в IAM Only

Установка ACL у объекта

Администрирование в IAM Only

Администрирование в IAM Only

Администрирование в IAM Only

Администрирование в IAM Only

Просмотр политики

Администрирование в IAM Only

Администрирование в IAM Only

Администрирование в IAM Only

Администрирование в IAM Only

Получение информации о статусе политики для бакета (является ли он публичным)

Администрирование в IAM Only

Администрирование в IAM Only

Администрирование в IAM Only

Администрирование в IAM Only

Применение политики

Администрирование в IAM Only

Администрирование в IAM Only

Администрирование в IAM Only

Администрирование в IAM Only

Удаление политики

Администрирование в IAM Only

Администрирование в IAM Only

Администрирование в IAM Only

Администрирование в IAM Only

Просмотр конфигурации жизненного цикла в бакете

Администрирование в IAM Only

Администрирование в IAM Only

Администрирование в IAM Only

Администрирование в IAM Only

Настройка правил конфигурации жизненного цикла

Администрирование в IAM Only

Администрирование в IAM Only

Администрирование в IAM Only

Администрирование в IAM Only

Удаление конфигурации жизненного цикла

Администрирование в IAM Only

Администрирование в IAM Only

Администрирование в IAM Only

Администрирование в IAM Only

Получение конфигурации жизненного цикла для бакета

Администрирование в IAM Only

Администрирование в IAM Only

Администрирование в IAM Only

Администрирование в IAM Only

Создание или обновление жизненного цикла конфигурации для бакета

Администрирование в IAM Only

Администрирование в IAM Only

Администрирование в IAM Only

Администрирование в IAM Only

Получение списка конфигураций для бакета

Администрирование в IAM Only

Администрирование в IAM Only

Администрирование в IAM Only

Администрирование в IAM Only

Установка конфигурации

Администрирование в IAM Only

Администрирование в IAM Only

Администрирование в IAM Only

Администрирование в IAM Only

Удаление конфигурации CORS

Администрирование в IAM Only

Администрирование в IAM Only

Администрирование в IAM Only

Администрирование в IAM Only

Получение конфигурации шифрования

Администрирование в IAM Only

Администрирование в IAM Only

Администрирование в IAM Only

Администрирование в IAM Only

Настройка конфигурации шифрования

Администрирование в IAM Only

Администрирование в IAM Only

Администрирование в IAM Only

Администрирование в IAM Only

Сброс шифрования

Администрирование в IAM Only

Администрирование в IAM Only

Администрирование в IAM Only

Администрирование в IAM Only

Получение списка правил

Администрирование в IAM Only

Администрирование в IAM Only

Администрирование в IAM Only

Администрирование в IAM Only

Создание правила

Администрирование в IAM Only

Администрирование в IAM Only

Администрирование в IAM Only

Администрирование в IAM Only

Удаление правила

Администрирование в IAM Only

Администрирование в IAM Only

Администрирование в IAM Only

Администрирование в IAM Only

Получение конфигурации оповещения для бакета

Администрирование в IAM Only

Администрирование в IAM Only

Администрирование в IAM Only

Администрирование в IAM Only

Создание или обновление конфигурации оповещения для бакета

Администрирование в IAM Only

Администрирование в IAM Only

Администрирование в IAM Only

Администрирование в IAM Only

Удаление конфигурации оповещения для бакета

Администрирование в IAM Only

Администрирование в IAM Only

Администрирование в IAM Only

Администрирование в IAM Only

Получение значения владельца для бакета

Администрирование в IAM Only

Администрирование в IAM Only

Администрирование в IAM Only

Администрирование в IAM Only

Создание или обновление значения владельца для бакета

Администрирование в IAM Only

Администрирование в IAM Only

Администрирование в IAM Only

Администрирование в IAM Only

Удаление значения владельца для бакета

Администрирование в IAM Only

Администрирование в IAM Only

Администрирование в IAM Only

Администрирование в IAM Only

Получение информации об объекте

Администрирование в IAM Only

Администрирование в IAM Only

Администрирование в IAM Only

Администрирование в IAM Only

Создание (загрузка) объекта

Администрирование в IAM Only

Администрирование в IAM Only

Администрирование в IAM Only

Администрирование в IAM Only

Копирование объекта

Администрирование в IAM Only

Администрирование в IAM Only

Администрирование в IAM Only

Администрирование в IAM Only

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

Администрирование в IAM Only

Администрирование в IAM Only

Администрирование в IAM Only

Администрирование в IAM Only

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

Администрирование в IAM Only

Администрирование в IAM Only

Администрирование в IAM Only

Администрирование в IAM Only

Проверка корректности запроса

Администрирование в IAM Only

Администрирование в IAM Only

Администрирование в IAM Only

Администрирование в IAM Only

Удаление объекта

Администрирование в IAM Only

Администрирование в IAM Only

Администрирование в IAM Only

Администрирование в IAM Only

Удаление группы объектов по списку

Администрирование в IAM Only

Администрирование в IAM Only

Администрирование в IAM Only

Администрирование в IAM Only

Удаление нескольких объектов

Администрирование в IAM Only

Администрирование в IAM Only

Администрирование в IAM Only

Администрирование в IAM Only

Получение информации об объекте (комбинация HeadObject и ListParts)

Администрирование в IAM Only

Администрирование в IAM Only

Администрирование в IAM Only

Администрирование в IAM Only

Получение списка версий объектов

Администрирование в IAM Only

Администрирование в IAM Only

Администрирование в IAM Only

Администрирование в IAM Only

Включение версионности на бакете

Администрирование в IAM Only

Администрирование в IAM Only

Администрирование в IAM Only

Администрирование в IAM Only

Получение статуса версионности

Администрирование в IAM Only

Администрирование в IAM Only

Администрирование в IAM Only

Администрирование в IAM Only

Инициализация загрузки

Администрирование в IAM Only

Администрирование в IAM Only

Администрирование в IAM Only

Администрирование в IAM Only

Загрузка объекта по частям

Администрирование в IAM Only

Администрирование в IAM Only

Администрирование в IAM Only

Администрирование в IAM Only

Прерывание загрузки

Администрирование в IAM Only

Администрирование в IAM Only

Администрирование в IAM Only

Администрирование в IAM Only

Список портов мультипарт загрузки

Администрирование в IAM Only

Администрирование в IAM Only

Администрирование в IAM Only

Администрирование в IAM Only

Завершение загрузки путем объединения ранее загруженных частей

Администрирование в IAM Only

Администрирование в IAM Only

Администрирование в IAM Only

Администрирование в IAM Only

Возврат списка загруженных частей

Администрирование в IAM Only

Администрирование в IAM Only

Администрирование в IAM Only

Администрирование в IAM Only

Заливка парта с копированием уже существующего объекта

Администрирование в IAM Only

Администрирование в IAM Only

Администрирование в IAM Only

Администрирование в IAM Only

Получение статуса бессрочной блокировки на объекте

Администрирование в IAM Only

Администрирование в IAM Only

Администрирование в IAM Only

Администрирование в IAM Only

Получение текущего статуса разрешения бессрочной блокировки для бакета и текущее правило срочной защиты по умолчанию, если имеется

Администрирование в IAM Only

Администрирование в IAM Only

Администрирование в IAM Only

Администрирование в IAM Only

Получение статуса временной блокировки на объекте

Администрирование в IAM Only

Администрирование в IAM Only

Администрирование в IAM Only

Администрирование в IAM Only

Применение бессрочной блокировки к объекту

Администрирование в IAM Only

Администрирование в IAM Only

Администрирование в IAM Only

Администрирование в IAM Only

Включение автоматического применения блокировки ко всем новым объектам в бакете и установка периода по умолчанию. На сам бакет никак не влияет

Администрирование в IAM Only

Администрирование в IAM Only

Администрирование в IAM Only

Администрирование в IAM Only

Применение временной блокировки к объекту

Администрирование в IAM Only

Администрирование в IAM Only

Администрирование в IAM Only

Администрирование в IAM Only

Получение всех тегов объекта

Администрирование в IAM Only

Администрирование в IAM Only

Администрирование в IAM Only

Администрирование в IAM Only

Замена тегов объекта

Администрирование в IAM Only

Администрирование в IAM Only

Администрирование в IAM Only

Администрирование в IAM Only

Удаление всех тегов объекта

Администрирование в IAM Only

Администрирование в IAM Only

Администрирование в IAM Only

Администрирование в IAM Only

Получение объекта по Presigned URL

Администрирование в IAM Only

Администрирование в IAM Only

Администрирование в IAM Only

Администрирование в IAM Only

Загрузка объекта с Presigned URL

Администрирование в IAM Only

Администрирование в IAM Only

Администрирование в IAM Only

Администрирование в IAM Only

Изменение настроек репликации для бакета

Администрирование в IAM Only

Администрирование в IAM Only

Администрирование в IAM Only

Администрирование в IAM Only

Включение или выключение репликации бакета

Администрирование в IAM Only

Администрирование в IAM Only

Администрирование в IAM Only

Администрирование в IAM Only

Миграция на IAM Only

Начиная с VK Object Storage 1.61, для аутентификации пользователей используется IAM Only. При обновлении до этой версии выполните миграцию проектов из VK Object Storage в Breeze (база данных IAM Only).

Этапы миграции:

  1. Подготовка данных.
  2. Экспорт проектов.
  3. Ассоциация аккаунтов VK Object Storage с владельцем в IAM Only.

Подготовка данных

  1. Создайте пользователя IAM Only с ролью владельца через Keycloak для каждого проекта VK Object Storage.

  2. Выгрузите все проекты в файл projects.csv утилитой HB CLI:

    hb hitbox project list -o csv > projects.csv
  3. Проверьте, что все проекты выгружены:

    cat projects.csv

    Пример ответа:

    pid;id;keystoneid;domain;c_time;completed;skipped;p_time;v;state;protectedmcs7252649123;7e02eaa6-a32c-4b5d-a29e-dbddecdb3856;;mcs7252649123;2026-01-19 08:20:29;false;false;2026-01-19 08:20:29;2;A;truemcs7210521432;adebf1e0-1c38-4590-af4e-101a660452ed;;mcs7210521432;2026-01-19 08:20:29;false;false;2026-01-19 08:20:29;2;A;falsemcs5983909657;ba1e1db2-da63-4895-a0dc-e496d2e541f0;;mcs5983909657;2026-01-19 08:20:29;false;false;2026-01-19 08:20:29;2;A;truemcs2374092890;d82b9176-3fc8-426f-b29c-66af14167d50;;mcs2374092890;2026-01-19 08:20:29;false;false;2026-01-19 08:20:29;2;A;false
  4. В файл projects.csv для каждого проекта добавьте почту пользователя owner, созданного на шаге 1.

    Пример отредактированного файла projects.csv:

    pid;id;keystoneid;domain;c_time;completed;skipped;p_time;v;state;protected;ownermcs7252649123;7e02eaa6-a32c-4b5d-a29e-dbddecdb3856;;mcs7252649123;2026-01-19 08:20:29;false;false;2026-01-19 08:20:29;2;A;true;<ПОЧТА>mcs7210521432;adebf1e0-1c38-4590-af4e-101a660452ed;;mcs7210521432;2026-01-19 08:20:29;false;false;2026-01-19 08:20:29;2;A;false;<ПОЧТА>mcs5983909657;ba1e1db2-da63-4895-a0dc-e496d2e541f0;;mcs5983909657;2026-01-19 08:20:29;false;false;2026-01-19 08:20:29;2;A;true;<ПОЧТА>mcs2374092890;d82b9176-3fc8-426f-b29c-66af14167d50;;mcs2374092890;2026-01-19 08:20:29;false;false;2026-01-19 08:20:29;2;A;false;<ПОЧТА>

    Здесь: <ПОЧТА> — почта пользователя, созданного на шаге 1, например iam@vk.team.

Экспорт проектов

Для экспорта проектов необходимы:

  • Файл экспорта проектов в формате CSV.
  • Пользователь с правами read, write, execute на узле, где установлен Breeze.

Выполните экспорт проектов одним из способов:

Экспорт проектов при сетевой связи между Hitbox и Breeze

  1. Найдите скрипт команды projects2breeze.lua в исходных кодах Hitbox: /usr/share/hitbox/migrations/1.61/projects2breeze.lua.

  2. Установите необходимые права для projects2breeze.lua:

    sudo chmod 744 projects2breeze.lua

    Основные параметры projects2breeze.lua:

    ./usr/share/hitbox/migrations/1.61/projects2breeze.lua -hUsage: projects2breeze [-o <output>] [-i <input>] -b <breeze> [-h]      <command>projects migration to iam(breeze)Arguments:   command               основная команда, - up для экспорта проектов, down - для удаления экспортированногоOptions:         -o <output>,    файл результата, по умолчанию <time.now>.out.csv   --output <output>      -i <input>,      csv файл с проектами, разделитель `;`   --input <input>         -b <breeze>,    DSN соединения Breeze, важно чтобы был прописан адрес мастера, например, guest@127.0.0.1:3304   --breeze <breeze>
  3. Чтобы экспортировать проекты, выполните команду up с параметрами:

    ./projects2breeze.lua -i <ФАЙЛ_С_ПРОЕКТАМИ> -o <ФАЙЛ_РЕЗУЛЬТАТА_МИГРАЦИИ> -b <АДРЕС_BREEZE> up

    Здесь:

    • <ФАЙЛ_С_ПРОЕКТАМИ> — файл с проектами в формате CSV;
    • <ФАЙЛ_РЕЗУЛЬТАТА_МИГРАЦИИ> — файл результата в формате CSV;
    • <АДРЕС_BREEZE> — DSN соединения Breeze в формате <ПОЛЬЗОВАТЕЛЬ>:<ПАРОЛЬ>@<АДРЕС_ПРОСЛУШИВАНИЯ>:<ПОРТ>.

    Пример выполнения команды:

    Running projects2breeze up 1770639850[2] exported mcs7252649123: uid 2898854615, keystone 1011550351ec4abb8c0f62ff64cae288[3] exported mcs7210521432: uid 2898854615, keystone ac2ffd05223449ebadf68152eaa014fd[4] exported mcs5983909657: uid 2898854615, keystone 02cb3dad20b84e3e8ed6bc22eb4f7ca4[5] exported mcs2374092890: uid 2898854615, keystone 9158474b9f1d4a4f882d09d1d5ba56de

    Вывод команды будет содержать перечень экспортированных проектов. Также скрипт сгенерирует CSV-файл, отражающий карту связей между параметрами:

    • mcs pid — имя проекта;
    • uid — идентификатор владельца;
    • keystone — идентификатор проекта в IAM Only.

    Пример сгенерированного файла:

    mcs7252649123,2898854615,1011550351ec4abb8c0f62ff64cae288mcs7210521432,2898854615,ac2ffd05223449ebadf68152eaa014fdmcs5983909657,2898854615,02cb3dad20b84e3e8ed6bc22eb4f7ca4mcs2374092890,2898854615,9158474b9f1d4a4f882d09d1d5ba56de

Экспорт проектов без сетевой связи между Hitbox и Breeze

  1. Выгрузите архив iam-migrator.tar.gz со скриптами projects2breeze.lua и argparse.lua из любой моно-ноды VK Object Storage:

    # cd /usr/share/hitbox/# tar -cvzf iam-migrator.tar.gz migrations/1.61/projects2breeze.lua .rocks/share/tarantool/argparse.lua .rocks/share/tarantool/rocks/argparse/
  2. Распакуйте архив iam-migrator.tar.gz и projects.csv на узле VK Private Cloud с tarantoolctl и доступом к Breeze:

    # tar -xvzf iam-migrator.tar.gz# ls -latotal 44drwxr-xr-x   4 root     root      4096 Aug 14 12:15 .drwxrwxrwt. 19 root     root     12288 Aug 14 15:33 ..-rw-r--r--   1 deployer deployer 15356 Aug 14 11:39 iam-migrator.tar.gzdrwxr-xr-x   3 root     root      4096 Aug 14 11:41 migrations-rw-r--r--   1 root     root       239 Aug 14 12:15 projects.csvdrwxr-xr-x   3 root     root      4096 Aug 14 11:41 .rocks
  3. Чтобы экспортировать проекты, выполните команду up c параметрами:

    # ./projects2breeze.lua -i <ФАЙЛ_С_ПРОЕКТАМИ> -o <ФАЙЛ_РЕЗУЛЬТАТА_МИГРАЦИИ> -b <АДРЕС_BREEZE> up

    Здесь:

    • <ФАЙЛ_С_ПРОЕКТАМИ> — файл с проектами в формате CSV;
    • <ФАЙЛ_РЕЗУЛЬТАТА_МИГРАЦИИ> — файл результата в формате CSV;
    • <АДРЕС_BREEZE> — DSN соединения Breeze в формате <ПОЛЬЗОВАТЕЛЬ>:<ПАРОЛЬ>@<АДРЕС_ПРОСЛУШИВАНИЯ>:<ПОРТ>.

    Пример выполнения команды:

    Running projects2breeze up 1770639850[2] exported mcs7252649123: uid 2898854615, keystone 1011550351ec4abb8c0f62ff64cae288[3] exported mcs7210521432: uid 2898854615, keystone ac2ffd05223449ebadf68152eaa014fd[4] exported mcs5983909657: uid 2898854615, keystone 02cb3dad20b84e3e8ed6bc22eb4f7ca4[5] exported mcs2374092890: uid 2898854615, keystone 9158474b9f1d4a4f882d09d1d5ba56de

    Вывод команды будет содержать перечень экспортированных проектов. Также будет сгенерирован CSV-файл, отражающий карту связей между параметрами:

    • mcs pid — имя проекта;
    • uid — идентификатор владельца;
    • keystone — идентификатор проекта в IAM Only.

    Пример сгенерированного файла:

    mcs7252649123,2898854615,1011550351ec4abb8c0f62ff64cae288mcs7210521432,2898854615,ac2ffd05223449ebadf68152eaa014fdmcs5983909657,2898854615,02cb3dad20b84e3e8ed6bc22eb4f7ca4mcs2374092890,2898854615,9158474b9f1d4a4f882d09d1d5ba56de
  4. Скопируйте файл с результатом /tmp/pid_iam_id.csv на master-узел Hitbox.

Откат изменений

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

Чтобы откатить изменения, выполните команду down:

# ./projects2breeze.lua -i <ФАЙЛ_РЕЗУЛЬТАТА_МИГРАЦИИ> -b <АДРЕС_BREEZE> down

Пример выполнения команды:

Running projects2breeze down 1770641288[2] mcs7252649123 deleted[3] mcs7210521432 deleted[4] mcs5983909657 deleted[5] mcs2374092890 deleted

Ассоциация аккаунтов VK Object Storage с владельцем в IAM Only

  1. Установите флаг enabled для функциональности в Hitbox:

    # switchover etcd set app.feature_flags.iam.enabled true -p /hotbox/hitbox
  2. Запустите скрипт миграции account_iam_id.lua на master-узле Hitbox:

    # tt connect localhost:7401 -f /usr/share/hitbox/migrations/1.61/account_iam_id.lua -i <ФАЙЛ_РЕЗУЛЬТАТА_МИГРАЦИИ>

    Здесь <ФАЙЛ_РЕЗУЛЬТАТА_МИГРАЦИИ> — CSV-файл /tmp/pid_iam_id.csv, полученный при миграции проектов.

    Скрипт миграции account_iam_id.lua запишет результат в файл /tmp/updated_accounts.csv — какие iam_id присвоены аккаунтам. Если результат не нужен, из скрипта миграции исключите строку fo:write(csv.dump({pid, account.id, account.name, iam_id})).

    Пример содержимого файла /tmp/updated_accounts.csv:

    # cat /tmp/updated_accounts.csvpid,account_id,account_name,iam_idmcs3841426534,3cfb818c-7ce6-4bd9-abdf-a92c4212cde1,R,2002908412mcs3841426534,535449e5-0c46-4893-b9bb-756cc13a2236,W,2002908412mcs7803416412,855e26ce-175f-4d10-8c18-19603f8e4bbe,R,2002908412mcs7803416412,f1517b6b-7c86-42dc-939c-5ce5da6168a3,W,2002908412
Была ли статья полезна?