Конфигурационные параметры Knox

gateway-site.xml
Parameter Description Default value

Knox gateway port

HTTP-порт для Knox

8443

Gateway whitelist

Список разделенных символом ; регулярных выражений, который определяет доступные системные конечные точки (endpoints) для пакетов и перенаправлений Knox

^https?:\/\/(.*|localhost|127\.0\.0\.1|0:0:0:0:0:0:0:1|::1):[0-9].*$

knox-env.sh
Parameter Description Default value

KNOX_GATEWAY_MEM_OPTS

Плейсхолдер, позволяющий менять настройки JVM-памяти сервера шлюза

 — 

KNOX_GATEWAY_LOG_DIR

Путь, по которому Gateway будет сохранять свой стандартный вывод и ошибки

/var/log/knox

Configure SSL Knox Gateway
Parameter Description Default value

gateway.truststore.password.alias

Алиас для пароля к truststore-файлу, содержащему доверенные сертификаты клиента. Чтобы задать пароль, алиас следует создавать с использованием команды knoxcli.sh create-alias, иначе будет использован Master Secret

gateway-truststore-password

gateway.truststore.path

Путь к truststore-файлу, содержащему доверенные сертификаты клиента

 — 

gateway.truststore.type

Тип truststore-файла, лежащего по пути, указанному в gateway.truststore.path

JKS

gateway.tls.keystore.password.alias

Алиас для пароля к keystore-файлу, содержащему TLS-сертификат и пару ключей шлюза. Чтобы задать пароль, алиас следует создавать с использованием команды knoxcli.sh create-alias, иначе будет использован Master Secret

gateway-identity-keystore-password

gateway.tls.keystore.path

Путь к keystore-файлу, содержащему TLS-сертификат и пару ключей шлюза

 — 

gateway.tls.keystore.type

Тип keystore-файла, лежащего по пути, указанному в gateway.tls.keystore.path

JKS

gateway.tls.key.alias

Алиас для TSL-сертификата и пары ключей шлюза, указанных в keystore-файле

gateway-identity

key_passphrase

Ключевая фраза для приватного TLS-ключа шлюза, указанного в keystore-файле. Если поле пусто, то используется пароль для keystore

 — 

gateway.tls.key.passphrase.alias

Алиас для ключевой фразы для приватного TLS-ключа шлюза, указанного в keystore-файле. Чтобы задать пароль, алиас следует создавать с использованием команды knoxcli.sh create-alias, иначе будет использован Master Secret или пароль keystore

gateway-identity-passphrase

ssl.exclude.protocols

Список недопустимых протоколов, разделенных запятой(,) или вертикальной чертой (|). Если таковых нет, то указывается none

SSLv2,SSLv3,TLSv1,TLSv1.1

External LDAP authentication
Parameter Description Default value

main.ldapRealm.contextFactory.url

URL-адрес хоста с номером порта, на котором находится LDAP-сервер. Также включает в себя схему протокола (ldap, или ldaps при коммуникации по LDAP через SSL)

ldap://example.com:389

main.ldapRealm.contextFactory.systemUsername

Полное отличительное имя (DN) учетной записи пользвателя AD с правами поиска

 — 

main.ldapRealm.contextFactory.systemPassword

Пароль для учетной записи с именем пользователя, указанным в main.ldapRealm.contextFactory.systemUsername

 — 

main.ldapRealm.searchBase

Отличительное имя начальной точки для поиска по директориям сервера

 — 

main.ldapRealm.userObjectClass

ObjectClass LDAP-пользователя

Person

main.ldapRealm.userSearchAttributeName

Имя атрибута для упрощенного фильтра поиска

sAMAccountName

main.ldapRealm.groupSearchBase

Отличительное имя начальной точки для поиска групп по директориям сервера

 — 

main.ldapRealm.groupObjectClass

ObjectClass LDAP-группы

group

main.ldapRealm.groupIdAttribute

Атрибут уникальной идентификации группы

sAMAccountName

sessionTimeout

Тайм-аут сессии в минутах

30

main.ldapRealm

Имя класса, имплементирующего Knox Shiro Realm

org.apache.hadoop.gateway.shirorealm.KnoxLdapRealm

main.ldapContextFactory

Имя класса, имплементирующего Knox Shire LdapContextFactory

org.apache.hadoop.gateway.shirorealm.KnoxLdapContextFactory

main.ldapRealm.contextFactory

Context factory в realm

$ldapContextFactory

main.ldapRealm.userSearchBase

Заменяет main.ldapRealm.searchBase

 — 

main.ldapRealm.memberAttribute

Предоставляет пользователей группы

member

security
Parameter Description Default value

Master Secret

Master Secret, используемый для keystore-, truststore- и CredentialStore-файлов инстанса шлюза

 — 

Ranger plugin credstore password

Пароль для credstore-провайдера плагина Ranger

 — 

ranger-knox-audit.xml
Parameter Description Default value

xasecure.audit.destination.solr.batch.filespool.dir

Директория для spool-файлов

/srv/ranger/knox/audit_solr_spool

ranger-knox-security.xml
Parameter Description Default value

ranger.plugin.knox.policy.cache.dir

Директория для хранения политик Ranger после их получения

/srv/ranger/knox/policycache

ranger.plugin.knox.policy.pollIntervalMs

Интервал для проверки изменений политики

30000

ranger.plugin.knox.policy.rest.client.connection.timeoutMs

Тайм-аут соединения в миллисекундах

120000

ranger.plugin.knox.policy.rest.client.read.timeoutMs

Тайм-аут на чтение в миллисекундах

30000

ranger.plugin.knox.policy.source.impl

Класс, используемый для получения политик

org.apache.ranger.admin.client.RangerAdminJersey2RESTClient

ranger-knox-policymgr-ssl.xml
Parameter Description Default value

xasecure.policymgr.clientssl.keystore

Путь к keystore-файлу, созданному ранее

 — 

xasecure.policymgr.clientssl.keystore.credential.file

Путь к файлу с учетными данными для пароля keystore

/etc/knox/conf/rangerusersync.jceks

xasecure.policymgr.clientssl.truststore.credential.file

Путь к файлу с учетными данными для пароля truststore

/etc/knox/conf/rangerusersync.jceks

xasecure.policymgr.clientssl.truststore

Путь к truststore-файлу, созданному ранее

 — 

xasecure.policymgr.clientssl.keystore.password

Пароль для JKS truststore-файла на сервере Ranger KMS

 — 

xasecure.policymgr.clientssl.truststore.password

Пароль для JKS truststore-файла на сервере Knox

 — 

Другие параметры
Parameter Description Default value

Custom gateway-site.xml

В этой секции вы можете указать значения для кастомных параметров, которые не отображаются в интерфейсе ADCM, но могут присутствовать в конфигурационном файле gateway-site.xml

 — 

Custom knox-env.sh

В этой секции вы можете указать значения для кастомных параметров, которые не отображаются в интерфейсе ADCM, но могут присутствовать в конфигурационном файле knox-env.sh

 — 

Custom ranger-knox-audit.xml

В этой секции вы можете указать значения для кастомных параметров, которые не отображаются в интерфейсе ADCM, но могут присутствовать в конфигурационном файле ranger-knox-audit.xml

 — 

Custom ranger-knox-security.xml

В этой секции вы можете указать значения для кастомных параметров, которые не отображаются в интерфейсе ADCM, но могут присутствовать в конфигурационном файле ranger-knox-security.xml

 — 

Custom ranger-knox-policymgr-ssl.xml

В этой секции вы можете указать значения для кастомных параметров, которые не отображаются в интерфейсе ADCM, но могут присутствовать в конфигурационном файле ranger-knox-policymgr-ssl.xml

 — 

 
Компонент Knox Gateway содержит в себе настройки логирования, описанные ниже.

gateway-log4j2.xml template
<?xml version="1.0" encoding="UTF-8"?>
<!--
  Licensed to the Apache Software Foundation (ASF) under one or more
  contributor license agreements.  See the NOTICE file distributed with
  this work for additional information regarding copyright ownership.
  The ASF licenses this file to You under the Apache License, Version 2.0
  (the "License"); you may not use this file except in compliance with
  the License.  You may obtain a copy of the License at

      http://www.apache.org/licenses/LICENSE-2.0

  Unless required by applicable law or agreed to in writing, software
  distributed under the License is distributed on an "AS IS" BASIS,
  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  See the License for the specific language governing permissions and
  limitations under the License.
-->
<Configuration>
    <Properties>
        <Property name="app.log.dir">${env:KNOX_GATEWAY_LOG_DIR}</Property>
        <Property name="app.log.file">${sys:launcher.name}.log</Property>
        <Property name="app.audit.file">${sys:launcher.name}-audit.log</Property>
    </Properties>

    <Appenders>
        <RollingFile name="auditfile" fileName="${app.log.dir}/${app.audit.file}" filePattern="${app.log.dir}/${app.audit.file}.%d{yyyy-MM-dd}">
            <AuditLayout />
            <TimeBasedTriggeringPolicy />
        </RollingFile>
        <Console name="stdout" target="SYSTEM_OUT">
            <PatternLayout pattern="%d{yy/MM/dd HH:mm:ss} %p %c{2}: %m%n" />
        </Console>
        <RollingFile name="drfa" fileName="${app.log.dir}/${app.log.file}" filePattern="${app.log.dir}/${app.log.file}.%d{yyyy-MM-dd}">
            <!-- Same as ISO8601 format but without the 'T' (log4j1 compatible) -->
            <PatternLayout pattern="%d{yyyy-MM-dd' 'HH:mm:ss,SSS} %X{trace_id} %-5p %c{2} (%F:%M(%L)) - %m%n" />
            <TimeBasedTriggeringPolicy />
        </RollingFile>
<!--        <RollingFile name="httpclient" fileName="${app.log.dir}/${launcher.name}-http-client.log" filePattern="${app.log.dir}/${launcher.name}-http-client.log.%d{yyyy-MM-dd}">-->
<!--            <PatternLayout pattern="%d{ISO8601}|%t|%m%n" />-->
<!--            <TimeBasedTriggeringPolicy />-->
<!--        </RollingFile>-->
<!--        <RollingFile name="httpaccess" fileName="${app.log.dir}/${launcher.name}-http-access.log" filePattern="${app.log.dir}/${launcher.name}-http-access.log.%d{yyyy-MM-dd}">-->
<!--            <PatternLayout pattern="%d{ISO8601}|%t|%m%n" />-->
<!--            <TimeBasedTriggeringPolicy />-->
<!--        </RollingFile>-->
<!--        <RollingFile name="httpserver" fileName="${app.log.dir}/${launcher.name}-http-server.log" filePattern="${app.log.dir}/${launcher.name}-http-server.log.%d{yyyy-MM-dd}">-->
<!--            <PatternLayout pattern="%d{ISO8601}|%t|%m%n" />-->
<!--            <TimeBasedTriggeringPolicy />-->
<!--        </RollingFile>-->
    </Appenders>
    <Loggers>
        <Logger name="audit" level="INFO">
            <AppenderRef ref="auditfile" />
        </Logger>
        <Logger name="org.apache.knox.gateway" level="INFO" />
        <Root level="ERROR">
            <AppenderRef ref="drfa" />
        </Root>
<!--        <Logger name="org.apache.knox.gateway.websockets" level="DEBUG" />-->
<!--        <Logger name="org.springframework" level="DEBUG" />-->
<!--        <Logger name="org.apache.knox.gateway.http.request.body" level="OFF" />-->
<!--        <Logger name="org.apache.knox.gateway.http" level="TRACE">-->
<!--            <AppenderRef ref="httpserver" />-->
<!--        </Logger>-->
<!--        <Logger name="org.apache.shiro" level="DEBUG" />-->
<!--        <Logger name="org.apache.knox.gateway.http.response.body" level="OFF" />-->
<!--        <Logger name="org.apache.http.client" level="DEBUG" />-->
<!--        <Logger name="org.apache.knox.gateway.http.request.headers" level="OFF" />-->
<!--        <Logger name="org.apache.http.wire" level="DEBUG">-->
<!--            <AppenderRef ref="httpclient" />-->
<!--        </Logger>-->
<!--        <Logger name="org.apache.knox.gateway.http.response.headers" level="OFF" />-->
<!--        <Logger name="net.sf.ehcache" level="DEBUG" />-->
<!--        <Logger name="org.apache.http" level="DEBUG" />-->
<!--        <Logger name="org.apache.http.headers" level="DEBUG" />-->
<!--        <Logger name="org.apache.shiro.util.ThreadContext" level="DEBUG" />-->
<!--        <Logger name="org.apache.knox.gateway" level="DEBUG" />-->
<!--        <Logger name="org.eclipse.jetty" level="DEBUG" />-->
<!--        <Logger name="org.apache.knox.gateway.access" level="TRACE">-->
<!--            <AppenderRef ref="httpaccess" />-->
<!--        </Logger>-->
    </Loggers>
</Configuration>
knoxshell-log4j2.xml
<?xml version="1.0" encoding="utf-8"?>
<!--
  Licensed to the Apache Software Foundation (ASF) under one or more
  contributor license agreements.  See the NOTICE file distributed with
  this work for additional information regarding copyright ownership.
  The ASF licenses this file to You under the Apache License, Version 2.0
  (the "License"); you may not use this file except in compliance with
  the License.  You may obtain a copy of the License at

      http://www.apache.org/licenses/LICENSE-2.0

  Unless required by applicable law or agreed to in writing, software
  distributed under the License is distributed on an "AS IS" BASIS,
  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  See the License for the specific language governing permissions and
  limitations under the License.
-->
<?xml version="1.0" encoding="utf-8"?>
<Configuration>
    <Properties>
        <Property name="app.log.dir">${env:KNOX_GATEWAY_LOG_DIR}</Property>
        <Property name="app.log.file">${sys:launcher.name}.log</Property>
    </Properties>
    <Appenders>
        <Console name="stdout" target="SYSTEM_OUT">
            <PatternLayout pattern="%d{yy/MM/dd HH:mm:ss} %p %c{2}: %m%n" />
        </Console>
        <RollingFile name="drfa" fileName="${app.log.dir}/${app.log.file}" filePattern="${app.log.dir}/${app.log.file}.%d{yyyy-MM-dd}">
            <PatternLayout pattern="%d{ISO8601} %-5p %c{2} (%F:%M(%L)) - %m%n" />
            <TimeBasedTriggeringPolicy />
        </RollingFile>
    </Appenders>
    <Loggers>
        <Logger name="org.apache.http.impl.client" level="INFO" />
        <Logger name="org.apache.http.client" level="INFO" />
        <Logger name="org.apache.http.impl.conn" level="INFO" />
        <Root level="ERROR">
            <AppenderRef ref="drfa" />
        </Root>
    </Loggers>
</Configuration>
Нашли ошибку? Выделите текст и нажмите Ctrl+Enter чтобы сообщить о ней