Yandex Cloud
Поиск
Связаться с намиПодключиться
  • Документация
  • Блог
  • Все сервисы
  • Статус работы сервисов
    • Популярные
    • Инфраструктура и сеть
    • Платформа данных
    • Контейнеры
    • Инструменты разработчика
    • Бессерверные вычисления
    • Безопасность
    • Мониторинг и управление ресурсами
    • Машинное обучение
    • Бизнес-инструменты
  • Все решения
    • По отраслям
    • По типу задач
    • Экономика платформы
    • Безопасность
    • Техническая поддержка
    • Каталог партнёров
    • Обучение и сертификация
    • Облако для стартапов
    • Облако для крупного бизнеса
    • Центр технологий для общества
    • Облако для интеграторов
    • Поддержка IT-бизнеса
    • Облако для фрилансеров
    • Обучение и сертификация
    • Блог
    • Документация
    • Контент-программа
    • Мероприятия и вебинары
    • Контакты, чаты и сообщества
    • Идеи
    • Истории успеха
    • Тарифы Yandex Cloud
    • Промоакции и free tier
    • Правила тарификации
  • Документация
  • Блог
Проект Яндекса
© 2025 ООО «Яндекс.Облако»
Yandex Managed Service for ClickHouse®
  • Начало работы
    • Все инструкции
      • Подключение собственной геобазы
      • Подключение внешних словарей
      • Управление схемами формата данных
      • Управление моделями машинного обучения
      • Настройка доступа к Object Storage
  • Управление доступом
  • Правила тарификации
  • Справочник Terraform
  • Метрики Yandex Monitoring
  • Аудитные логи Audit Trails
  • Публичные материалы
  • История изменений
  • Обучающие курсы

В этой статье:

  • Подключите сервисный аккаунт к кластеру
  • Настройте права доступа
  • Примеры работы с объектами
  1. Пошаговые инструкции
  2. Хранение и обработка данных
  3. Настройка доступа к Object Storage

Настройка доступа к Object Storage из кластера ClickHouse®

Статья создана
Yandex Cloud
Улучшена
Dmitry A.
Обновлена 18 апреля 2025 г.
  • Подключите сервисный аккаунт к кластеру
  • Настройте права доступа
  • Примеры работы с объектами

Managed Service for ClickHouse® поддерживает работу с Yandex Object Storage для:

  • подключения моделей машинного обучения, схем формата данных и собственной геобазы;
  • обработки данных, которые находятся в объектном хранилище, если эти данные представлены в любом из поддерживаемых ClickHouse® форматов.

Для доступа к данным в бакете Object Storage из кластера настройте беспарольный доступ к бакету с помощью сервисного аккаунта:

  1. Подключите сервисный аккаунт к кластеру.
  2. Настройте права доступа для сервисного аккаунта.

Примечание

От имени сервисного аккаунта будут отправляться SQL-запросы к Object Storage. При этом указание ключа и секрета в запросе роли не играет.

Если сервисный аккаунт не указан, то SQL-запросы отправляются:

  • Анонимно, если ключ и секрет не указаны в запросе.
  • По ключу, если ключ и секрет указаны в запросе.

См. также Примеры работы с объектами.

Перед началом работы назначьте вашему аккаунту в Yandex Cloud роль iam.serviceAccounts.user или выше. Она нужна в следующих случаях:

  • если вы создаете или изменяете кластер и привязываете к нему сервисный аккаунт;
  • если вы восстанавливаете из резервной копии кластер с привязкой к сервисному аккаунту.

Подключите сервисный аккаунт к кластеруПодключите сервисный аккаунт к кластеру

  1. При создании или изменении кластера выберите существующий сервисный аккаунт либо создайте новый.

  2. Назначьте этому аккаунту корректные роли из группы ролей storage.*, например storage.viewer и storage.uploader.

Совет

Для связи кластеров Managed Service for ClickHouse® с Object Storage рекомендуется использовать специально созданные для этой цели сервисные аккаунты: это позволяет организовать работу с любыми бакетами, в том числе с такими, для которых предоставление публичного доступа нежелательно или невозможно.

Настройте права доступаНастройте права доступа

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

  2. Выберите сервис Object Storage.

  3. Настройте ACL бакета или ACL объекта:

    1. В списке бакетов или объектов выберите нужный элемент и нажмите на значок .
    2. Нажмите Настроить ACL или ACL объекта.
    3. В выпадающем списке Выберите пользователя укажите сервисный аккаунт, подключенный к кластеру.
    4. Задайте нужные разрешения для сервисного аккаунта из выпадающего списка.
    5. Нажмите кнопку Добавить и Сохранить.

    Примечание

    При необходимости отзовите доступ у одного или нескольких пользователей, нажав кнопку Отменить в нужной строке.

Примеры работы с объектамиПримеры работы с объектами

На объект в бакете можно получить ссылку вида https://storage.yandexcloud.net/<имя_бакета>/<имя_объекта>. Ее можно использовать при работе с геометками, схемами, а также при использовании табличной функции s3 и табличного движка S3.

Табличный движок S3 аналогичен движкам File и URL, за исключением того, что данные хранятся в S3-совместимом хранилище (таком как Yandex Object Storage), а не на файловой системе или удаленном HTTP/HTTPS сервере. Этот движок позволяет читать и записывать данные в хранилище с использованием стандартных SQL-запросов SELECT и INSERT.

Табличная функция s3 предоставляет ту же самую функциональность, что и движок таблиц S3, но при ее использовании не требуется предварительно создавать таблицу.

Например, если в бакете Object Storage в файле table.tsv хранятся данные таблицы в формате TSV, то можно создать таблицу или функцию, которая будет работать с этим файлом. Предполагается, что настроен беспарольный доступ и получена ссылка на файл table.tsv.

Таблица S3
Функция s3
  1. Сервисному аккаунту, привязанному к кластеру Managed Service for ClickHouse®, назначьте роли managed-clickhouse.editor и storage.uploader.

  2. Создайте таблицу:

    CREATE TABLE test (n Int32) ENGINE = S3('https://storage.yandexcloud.net/<имя_бакета>/table.tsv', 'TSV');
    
  3. Выполните тестовые запросы к таблице:

    INSERT INTO test VALUES (1);
    SELECT * FROM test;
    
    ┌─n─┐
    │ 1 │
    └───┘
    
  1. Сервисному аккаунту, привязанному к кластеру Managed Service for ClickHouse®, назначьте роли managed-clickhouse.editor и storage.uploader.

  2. Вставьте данные:

    INSERT INTO FUNCTION s3('https://storage.yandexcloud.net/<имя_бакета>/table.tsv', 'TSV', 'n Int32') VALUES (1);
    
  3. Выполните тестовый запрос:

    SELECT * FROM s3('https://storage.yandexcloud.net/<имя_бакета>/table.tsv', 'TSV', 'n Int32');
    
    ┌─n─┐
    │ 1 │
    └───┘
    

ClickHouse® является зарегистрированным товарным знаком ClickHouse, Inc.

Была ли статья полезна?

Предыдущая
Управление моделями машинного обучения
Следующая
Управление шардами
Проект Яндекса
© 2025 ООО «Яндекс.Облако»