Мы переключились на аутентификацию Kerberos около 6 месяцев назад, и это заняло много времени на чтение, проб и ошибок, поэтому будьте готовы потратить на это значительное количество времени. Мы используем jdbc только для подключения Aqua Data Studio к Teradata, ни одно из наших рабочих заданий не использует jdbc. В этом контексте это обзор настроек, которые мы должны выполнить при новой установке (я уверен, что у вас все будет по-другому):
- Добавление свойств Java (обновите пути ниже, как требуется для вашей системы)
<string>-Dsun.security.jgss.debug=true</string>
<string>-Djava.security.krb5.realm=YOUR_REALM_HERE</string>
<string>-Djava.security.krb5.kdc=THIS_WAS_THE_SAME_AS_REALM_FOR_US</string>
<string>-Djava.security.krb5.conf=/etc/krb5.conf</string>
<string>-Djava.security.auth.login.config=/etc/jaas.conf</string>
<string>-Djavax.security.auth.useSubjectCredsOnly=false</string>
Создайте файл jaas.conf в расположении, указанном выше, с помощью этого:
JaasClient {
com.sun.security.auth.module.Krb5LoginModule required debug=true useTicketCache=true;
};
Чтобы создать тикет, вы запустите
kinit -f
Для нас срок действия наших билетов истекает каждые 10 часов, ммм.
Вам также необходимо установить JCE Unlimited Strength для Java.
Загрузите «Файлы политики неограниченной юрисдикции Java Cryptography Extension (JCE)», подходящие для вашей версии Java.
Вы можете найти файлы здесь для Java 1.7 или Java 1.8 .
Разархивируйте файл и замените эти 2 файла: US_export_policy.jar и local_policy.jar в /path/to/your/.../java/jre/lib/security загруженными файлами. Если вы видите сообщение об ошибке «Неподдерживаемый тип ключа обнаружил TGT по умолчанию: 18», это может указывать на то, что у вас не установлены файлы политик неограниченной силы.
Последний шаг - нам пришлось добавить эти параметры в драйвер jdbc: TMODE = TERA, LOGMECH = KRB5. В Aqua Data Studio мы оставляем имя пользователя и пароль пустыми при инициализации подключения.
Удачи!
Полезные ссылки:
Специально для Aqua Data Studio, но может быть полезным для других
Страница Cloudera о JCE Unlimited Strength для Java