如何通过Kerberos连接Artifactory到Oracle
主题
如何使用Kerberos而不是用户/密码验证Artifactory到OracleDB
影响版本
Artifactory 6+, Artifactory 7+
决议
与用户名/密码相比,通过Kerberos将Artifactory连接到OracleDB是一项相当艰巨的任务。它需要三种机制的知识;kerberos认证、Oracle认证和Artifactory认证。本指南将介绍如何连接Artifactory到Oracle -希望用户已经能够通过Kerberos直接连接Oracle,这可以通过sqplus /@
$ /opt/oracle/product/18c/dbhomeXE/bin/sqlplus /@XEPDB1
SQL*Plus:发布18.0.0.0.0 -生产星期二3月30日23:05:25 2021
版本18.4.0.0.0
版权所有(c) 1982, 2018,甲骨文。版权所有。
连接到:
Oracle数据库18c快速版发布18.0.0.0.0 -生产
版本18.4.0.0.0
SQL >
还请验证您是正确的用户,在我的情况下,我将使用' kerb7 '
SQL>显示用户
用户为“KERB7”
一旦验证了这一点,我们就可以开始Artifactory集成了。
Artifactory 6
在你的artifact .default/default文件中提供以下JVM参数:
export JAVA_OPTIONS="$JAVA_OPTIONS -Doracle.net.kerberos5_mutual_authentication=true -Djava.security.krb5.conf=/etc/krb5.conf -Doracle.net.kerberos5_cc_name=/etc/krb5cache -Doracle.net.authentication_services= "(KERBEROS5)\""
确保artifactory用户能够读取票据缓存文件和krb5.conf文件。如果你需要调试,也添加这个:-Dsun.security.krb5.debug=true
您将在catalina.out中获得调试日志。它相当啰嗦。在db。属性,删除用户名和密码字段。我喜欢使用一个较短的JDBC url,其中包含DB服务名:
类型=甲骨文
司机= oracle.jdbc.OracleDriver
url = jdbc: oracle:薄:@oracle -总- 6. -内部:1521 / XEPDB1
Artifactory 7:
除了oracle的LD_LIBRARY_PATH需求外,设置也类似。这个系统。yaml将是Artifactory方面的重点:
共享:
env:
LD_LIBRARY_PATH: /var/opt/jfrog/artifactory / oracle-client-lib
extraJavaOpts: >
-Doracle.net.kerberos5_mutual_authentication = true
-Djava.security.krb5.conf = / etc / krb5 . conf
-Doracle.net.kerberos5_cc_name = / etc / krb5cache
-Doracle.net.authentication_services="(KERBEROS5)"
数据库:
类型:“甲骨文”
司机:“oracle.jdbc.OracleDriver”
url:“jdbc: oracle:薄:@oracle -总- 7. -内部:1521 / XEPDB1”