如何通过Kerberos连接Artifactory到Oracle

罗兰杨
2023-01-22还剩11分08秒

主题
如何认证Artifactory到OracleDB与Kerberos而不是用户/密码

影响版本
工厂6+,工厂7+

决议
与用户名/密码相比,通过Kerberos将Artifactory连接到OracleDB是一项相当艰巨的任务。它需要3种机制的知识;kerberos认证、Oracle认证和Artifactory认证。本指南将介绍如何将Artifactory连接到Oracle——预计用户已经能够仅通过Kerberos直接连接Oracle,可以通过sqplus /@进行测试:

$ /opt/oracle/product/18c/dbhomeXE/bin/sqlplus /@XEPDB1 . sh
SQL*Plus:发布18.0.0.0.0 -生产星期二三月30 23:05:25 2021
版本18.4.0.0.0
版权所有(c) 1982, 2018, Oracle。版权所有。

连接到:
Oracle数据库18c快速版发布18.0.0.0.0 -生产
版本18.4.0.0.0
SQL >

还请验证您是正确的用户,在我的情况下,我将使用' kerb7 '。

SQL>显示用户
用户为“KERB7”

一旦验证了这一点,我们就可以开始人工集成。

Artifactory 6
在你的artifactory.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)\""

确保人工用户能够读取票据缓存文件和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将是人工方面的重点:

共享:
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”