Невозможно найти область по умолчанию из подключения к серверу JavaKerberos Sql в Docker Linux.JAVA

Программисты JAVA общаются здесь
Ответить
Anonymous
 Невозможно найти область по умолчанию из подключения к серверу JavaKerberos Sql в Docker Linux.

Сообщение Anonymous »

Я пытаюсь подключиться к экземпляру сервера sql через javaKerberos. Я могу заставить это работать в Windows (без докера) и экземпляре Linux без докера, но я продолжаю получать ошибку «Невозможно найти область по умолчанию» в докере Linux. Обратите внимание: я использую образ докера Amazon Linux, потому что в конечном итоге пытаюсь заставить его работать на ECS, хотя на данный момент я тестирую его на своем Docker Desktop для Windows.
Есть ли у кого-нибудь из вас предложения, что попробовать? Я пробовал МНОГИЕ комбинации krb5.conf и различных флагов командной строки Java, но пока ничего не помогло.
Ниже приведены все соответствующие элементы конфигурации Kerberos, которые я использовал.< /p>
Команда для запуска jar в экземпляре Docker
java -jar app.jar -Djava.security.krb5.conf=/opt/krb5.conf -Djava.security.auth.login.config=/opt/jaas.conf -Djavax.security.auth.useSubjectCredsOnly=false

ИСКЛЮЧЕНИЕ
Caused by: org.ietf.jgss.GSSException: Invalid name provided (Mechanism level: KrbException: Cannot locate default realm)
at sun.security.jgss.krb5.Krb5NameElement.getInstance(Krb5NameElement.java:129) ~[na:1.8.0_252]
at sun.security.jgss.krb5.Krb5MechFactory.getNameElement(Krb5MechFactory.java:95) ~[na:1.8.0_252]
at sun.security.jgss.GSSManagerImpl.getNameElement(GSSManagerImpl.java:203) ~[na:1.8.0_252]
at sun.security.jgss.GSSNameImpl.getElement(GSSNameImpl.java:477) ~[na:1.8.0_252]
at sun.security.jgss.GSSNameImpl.init(GSSNameImpl.java:201) ~[na:1.8.0_252]
at sun.security.jgss.GSSNameImpl.(GSSNameImpl.java:170) ~[na:1.8.0_252]
at sun.security.jgss.GSSNameImpl.(GSSNameImpl.java:151) ~[na:1.8.0_252]
at sun.security.jgss.GSSManagerImpl.createName(GSSManagerImpl.java:128) ~[na:1.8.0_252]
at com.microsoft.sqlserver.jdbc.KerbAuthentication.intAuthInit(KerbAuthentication.java:58) ~[mssql-jdbc-7.4.1.jre8.jar!/:na]

krb5.conf
[libdefaults]
default_realm = US.TEST.COM
dns_lookup_kdc = true
dns_lookup_realm = true
ticket_lifetime = 86400
renew_lifetime = 604800
forwardable = true
default_tgs_enctypes = rc4-hmac
default_tkt_enctypes = rc4-hmac
permitted_enctypes = rc4-hmac
udp_preference_limit = 1

[realms]
US.TEST.COM = {
kdc = crldap1.us.test.com
admin_server =crldap1.us.test.com
}

[domain_realm]
.us.test.com = US.TEST.COM
us.test.com = US.TEST.COM

[default_realm]
.us.test.com = US.TEST.COM
us.test.com = US.TEST.COM

jaas.conf
Client {
com.sun.security.auth.module.Krb5LoginModule required
useKeyTab=false
useTicketCache=true
doNotPrompt=true;
};

Строка подключения
spring.datasource.url =jdbc:sqlserver://DBSERVER\\SERVER_DEV;databaseName=DB1;authenticationScheme=JavaKerberos;integratedSecurity=true;userName=user@US.TEST.COM;password=P@SSW0RD


Подробнее здесь: https://stackoverflow.com/questions/635 ... -docker-li
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «JAVA»