Конференция Arenadata
ArenaTech 2026 – для всех, кому интересны технологии Big Data
Приглашаем вас принять участие в технической онлайн-конференции, посвященной работе с большими данными. Участие бесплатно для всех желающих.

В программе 3 блока докладов:

  • СУБД: архитектура и эксплуатация. Обсудим новые возможности Greengage DB и Arenadata DB на его основе, включая hot standby, обзор утилиты изменения кластерной топологии ggrebalance, вопросы безопасности и устранения CVE.
  • Платформа данных: безопасность и Kubernetes в ADH, аналитика в ADQM. Расскажем об управлении секретами и доступом в Arenadata Hyperwave с использованием OpenBao, особенности переноса сервисов в Kubernetes, а также про аналитические методы в инструментах ADQM.
  • Инструменты: кластерный менеджер, документация, ИИ-поиск. Поделимся опытом разработки технической документации (включая интеллектуальный поиск и ИИ-ассистент) и поговорим про развитие нашего кластерного менеджера ADCM.
Онлайн-конференция состоится 29 октября 2026 года, время трансляции: с 12:00 до 19:00 по московскому времени.
Осталось до события

Подключение к Ranger через KMS REST API

Обзор

Ranger KMS REST API основан на Hadoop KMS REST API, поэтому методы и эндпоинты у них совпадают. Чтобы отправлять запрос с хоста в кластере, требуется иметь валидный тикет Kerberos. Полный список методов и эндпоинтов доступен в документации Ranger KMS REST API.

Простым способом работы с запросами является curl (он и будет продемонстрирован ниже), но вы можете отправлять запросы любым удобным способом с любого хоста в кластере с валидным тикетом. Шаблон команды представлен ниже:

$ curl -i --negotiate -u : -X <request_type> <ranger_kms_host>/kms/<endpoint>

где:

  • <request_type> — тип HTTP-запроса (GET, POST, DELETE). Если вместе с запросом отправляются некоторые данные, укажите их тип с помощью -H и прикрепите их с помощью -d.

  • <ranger_kms_host> — URL хоста Ranger KMS с портом (например, http://stikhomirov-adps.ru-central1.internal:9292).

  • <endpoint> — ресурс, к которому будет отправлен запрос.

Опция -i позволяет получить HTTP-заголовки и увидеть статус запроса. Опция -u является обязательной, но игнорируется, т.к. для аутентификации используется тикет.

Пример

Пример ниже демонстрирует получение названий ключей с помощью Ranger KMS REST API. Так как по умолчанию ключей в Ranger KMS нет, перед демонстрацией примера требуется создать хотя бы один через REST API или веб-интерфейс. Далее показан второй вариант.

Подготовка

  1. Залогиньтесь в веб-интерфейс Ranger Admin как keyadmin, откройте страницу Key Manager из бокового меню, выберите сервис kms и нажмите Add New Key.

    Страница Encryption
    Страница Encryption
    Страница Encryption
    Страница Encryption
  2. Заполните необходимые данные и нажмите Save внизу страницы. Новый ключ появится на странице Key Manager.

    Страница Create Key
    Страница Create Key
    Страница Create Key
    Страница Create Key

Процесс

  1. Авторизуйтесь на хосте, где есть валидный тикет Kerberos.

  2. Убедитесь, что версия curl содержит GSS-Negotiate среди своих функций, запустив команду ниже:

    $ curl -V

    Возможный вывод:

    curl 7.29.0 (x86_64-redhat-linux-gnu) libcurl/7.29.0 NSS/3.90 zlib/1.2.7 libidn/1.28 libssh2/1.8.0
    Protocols: dict file ftp ftps gopher http https imap imaps ldap ldaps pop3 pop3s rtsp scp sftp smtp smtps telnet tftp
    Features: AsynchDNS GSS-Negotiate IDN IPv6 Largefile NTLM NTLM_WB SSL libz unix-sockets
  3. Убедитесь, что в кеше есть валидный тикет, запустив команду klist.

  4. Запустите команду ниже.

    $ curl -i --negotiate -u : -X GET <ranger_kms_host>/kms/v1/keys/names
  5. В ответе после заголовков находится массив с названиями ключей. Имя ключа из примера возвращается следующим образом:

    [ "testkey" ]
Нашли ошибку? Выделите текст и нажмите Ctrl+Enter чтобы сообщить о ней