Netweaver 7.5部署的Java应用与Oracle 19c的Kerberos认证方案咨询
SAP Portal NW 7.5 JDBC数据源对接Oracle Kerberos认证最佳实践
前置校验条件
- 已完成AD域基础配置,域内SAP Portal服务节点、Oracle数据库节点均已加入目标AD域
- Oracle数据库版本满足Kerberos认证要求(Oracle 11gR2及以上版本均原生支持)
- SAP Portal NW 7.5所使用的JDK已集成Kerberos相关扩展组件(SAP官方配套JVM默认已集成)
实施步骤
1. AD侧配置
- 为SAP Portal服务创建专属服务账号,配置服务主体名称(SPN),格式为
oracle/<Oracle数据库实例全称@AD域名> - 为上述账号生成keytab密钥文件,确保密钥加密类型与AD域、Oracle数据库支持的加密类型一致,常用合规加密类型为AES256-CTS-HMAC-SHA1-96
2. Oracle侧配置
- 修改Oracle数据库sqlnet.ora配置文件,开启Kerberos认证支持,核心配置示例:
SQLNET.AUTHENTICATION_SERVICES=(BEQ, KERBEROS5)
SQLNET.KERBEROS5_CONF=/opt/oracle/network/admin/krb5.conf
SQLNET.KERBEROS5_KEYTAB=/opt/oracle/network/admin/oracle.keytab
SQLNET.KERBEROS5_CONF_MIT=TRUE
- 重启Oracle监听及数据库实例,验证Kerberos认证功能生效
- 在Oracle数据库中创建对应AD账号的外部认证用户,授予业务所需的数据库访问权限
3. SAP Portal NW 7.5侧配置
- 将AD侧生成的krb5.conf配置文件、Portal服务账号对应的keytab文件上传至Portal应用服务器指定目录,确保SAP Portal运行账号对上述文件有读取权限
- 登录NWA管理控制台,进入
配置 -> 基础设施 -> 应用资源 -> Java 数据源,找到目标自定义JDBC数据源 - 修改JDBC连接URL,添加Kerberos认证参数,Oracle JDBC瘦驱动URL示例:
jdbc:oracle:thin:@//<Oracle服务地址>:<端口>/<服务名>?oracle.net.authentication_services=(KERBEROS5)&oracle.net.kerberos5_cc_name=<keytab文件路径>&oracle.net.kerberos5_mutual_authentication=true - 保存数据源配置,重启对应Java应用节点,验证数据源连接正常
参考文档及OSS说明
- SAP官方配置指南可参考SAP Note 1957358:NW AS Java: Using Kerberos for JDBC connections to Oracle
- 异常排查可参考SAP Note 2538881:Troubleshooting Kerberos authentication for JDBC connections on AS Java
- Oracle侧Kerberos认证配置可参考Oracle官方《Database Security Guide》中Kerberos认证对应章节
- 若配置过程中遇到SAP产品侧问题,可提交OSS工单,组件选择
BC-JAS-SEC进行问题上报
内容的提问来源于stack exchange,提问作者S P M
相关产品推荐
相关产品推荐

