Настройка доступа к сервисам ADS через Knox Gateway
Обзор
В ADPS Knox Gateway, помимо прочего, используется как обратный прокси — единая точка доступа для коммуникации с целевыми сервисами, которая позволяет сохранять внутреннюю топологию скрытой от потенциальных атак. Knox получает запросы, обрабатывает их и перенаправляет к соответствующим бэкендам.
Топология в Knox определяется провайдером (provider) и дескриптором (descriptor). Пример ниже демонстрирует, как настроить доступ к сервисам ADS с помощью Knox Admin UI. В данном руководстве рассматривается доступ с помощью cURL, а также проксирование UI. Для настройки доступа с помощью Groovy или DSL см. документацию Knox.
Провайдер для аутентификации
ПРИМЕЧАНИЕ
Если у вас уже создан подходящий провайдер для аутентификации, вы можете пропустить этот шаг.
|
Настройте провайдер для аутентификации:
-
На странице Provider configurations кликните
справа от названия списка Provider Configurations.
Список провайдеровСписок провайдеров -
Выберите имя провайдера (например,
my-provider
) и нажмите Add Provider.Добавление провайдераДобавление провайдера -
На появившемся экране выберите опцию Authentication и нажмите Next.
Выбор типа провайдераВыбор типа провайдера -
Выберите метод аутентификации и нажмите Next. В данном примере используется Kerberos.
Выбор метода аутентификацииВыбор метода аутентификации -
Заполните необходимую информацию и нажмите Ok.
Настройка параметров аутентификацииНастройка параметров аутентификации -
На завершающем экране вы можете добавить дополнительные настройки, например, указать ACL.
Дескриптор
Следующий шаг — подготовить дескриптор. Если вы хотите указать все сервисы в одной топологии, следуйте шагам ниже. В противном случае вам придется повторить все шаги для каждого сервиса отдельно.
-
На странице Descriptors нажмите
справа от названия списка Descriptors.
Список дескрипторовСписок дескрипторов -
Укажите имя дескриптора (например,
ads
) и необходимый провайдер. Среди предложенных сервисов выберите NIFI — это сервис для проксирования UI NiFi Flow. После этого нажмите Ok.Выбор сервисов кластераВыбор сервисов кластера -
Выберите созданный дескриптор и нажмите
справа от Services. В появившемся поле введите
KAFKA
. -
Под названием добавленного сервиса есть поля Params и URLs. В поле URLs введите ссылки на сервисы ADS.
Добавление URL сервисовДобавление URL сервисовПо умолчанию эти URL следующие:
-
KAFKA —
http://<kafka_rest_host>:8082
(сервис Kafka REST Proxy должен быть установлен). -
NIFI —
http://<nifi_server_host_1>:9090
,http://<nifi_server_host_2>:9090
.
-
ПРИМЕЧАНИЕ
Read-only файл топологии с именем дескриптора будет сгенерирован автоматически.
|
Доступ к сервисам
Чтобы проверить доступ к сервисам через Knox Gateway, запустите команду следующего формата:
$ curl -ik --negotiate -u <principal>:<password> -X GET https://<gateway_host>:8443/gateway/ads/<service>/[<parameters>]
где:
-
<principal>
— принципал Kerberos, имеющий доступ к<gateway_host>
. -
<password>
— пароль для<principal>
. -
<gateway_host>
— хост Knox Gateway. -
<service>
— имя сервиса, объявленного в топологииads
. -
<parameters>
— опциональные параметры, уточняющие запрашиваемый ресурс.
KAFKA
$ curl -ik --negotiate -u <principal>:<password> -X GET https://<gateway_host>:8443/gateway/ads/kafka/topics
В результате вы получите список топиков в Kafka:
["mm-connect-offsets","mm-connect-status","mm-connect-configs","_schemas"]
NIFI
Откройте браузер и введите в поисковой строке https://<knox_host>:8443/gateway/ads/nifi-app/nifi
. Вас направит на пользовательский интерфейс NiFi Flow.