Конференция Arenadata
Новое время — новый Greenplum
Мы приглашаем вас принять участие в конференции, посвященной будущему Open-Source Greenplum 19 сентября в 18:00:00 UTC +3. Встреча будет проходить в гибридном формате — и офлайн, и онлайн. Онлайн-трансляция будет доступна для всех желающих.
Внезапное закрытие Greenplum его владельцем — компанией Broadcom - стало неприятным сюрпризом для всех, кто использует или планирует начать использовать решения на базе этой технологии. Многие ожидают выхода стабильной версии Greenplum 7 и надеются на её дальнейшее активное развитие.
Arenadata не могла допустить, чтобы разрабатываемый годами Open-Source проект Greenplum прекратил своё существование, поэтому 19 сентября мы представим наш ответ на данное решение Broadcom, а участники сообщества получат исчерпывающие разъяснения на все вопросы о дальнейшей судьбе этой технологии.

На конференции вас ждёт обсуждение следующих тем:

  • План возрождения Greenplum;
  • Дорожная карта;
  • Экспертное обсуждение и консультации.
Осталось до события

Connect to Ranger via KMS REST API

Overview

Ranger KMS REST API is identical to Hadoop KMS REST API. Hence, you need to have a valid Kerberos ticket on the host from which you are trying to access Ranger KMS. To get a full list of available endpoints, head over to Ranger KMS API documentation.

A simple way to create a query is to use curl and it’s going to be demonstrated below, but you can construct requests in any convenient way and send them from any host within the cluster, provided you have a valid ticket. A template curl command looks like the one below:

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

where:

  • <request_type> — type of the HTTP request (GET, POST, DELETE). If the request is supposed to carry some data, specify its content type using -H and attach the data using -d.

  • <ranger_kms_host> — Ranger KMS host URL with port (e.g. http://stikhomirov-adps.ru-central1.internal:9292).

  • <endpoint> — resource to which the request will be sent.

The -i option allows you to see the HTTP headers and check the status of the request, feel free to remove it if deemed unnecessary. The -u option is required but it’s ignored and a ticket is used for authentication.

Example

This example demonstrates how to get key names using Ranger KMS REST API. Since, by default, there are no keys, you need to create one using the REST API or in Ranger Admin Web UI. The second option is demonstrated below.

Preparation

  1. Log into Ranger Admin Web UI as keyadmin, open the Key Manager page on the Encryption tab, select the kms service option, and click Add New Key.

    The Encryption page
    The Encryption page
    The Encryption page
    The Encryption page
  2. Fill in the necessary details and click Save at the bottom of the page. The newly created key will appear on the Key Manager page.

    The Create Key page
    The Create Key page
    The Create Key page
    The Create Key page

Process

  1. Log onto a host within a cluster that has a valid Kerberos ticket.

  2. Make sure that your curl version has GSS-Negotiate among its features by running the command below:

    $ curl -V

    A possible output is:

    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. Make sure that you have a valid ticket by running klist.

  4. Run the command below:

    $ curl -i --negotiate -u : -X GET <ranger_kms_host>/kms/v1/keys/names
  5. You can find an array of key names in the response body. The key name from the example is returned as follows:

    [ "testkey" ]
Found a mistake? Seleсt text and press Ctrl+Enter to report it