如何在 Oracle 中进行 Kerberos 身份验证?
How to make Kerberos authentication in Oracle?
我有 Windows Server 2008 r2,带有 myora.local
域和 AD。有服务器Oracle。我在Win7上有客户端。
在服务器上:
-C:\krb\krb.conf
MYORA.LOCAL
MYORA.LOCAL myora.local admin server
-C:\krb\krb5.realms
[libdefaults]
default_realm=MYORA.LOCAL
[realms]
MYORA.LOCAL= {
kdc=DomainController.myora.local:88
}
[domain_realm]
.local.myora=MYORA.LOCAL
-sqlnet.ora
SQLNET.KERBEROS5_CONF= c:\krb\krb.conf
SQLNET.KERBEROS5_REALMS = c:\krb\krb5.realms
SQLNET.KERBEROS5_CC_NAME = C:\krb\v5srvtab
SQLNET.AUTHENTICATION_SERVICES= (BEQ, TCPS, NTS, KERBEROS5)
NAMES.DIRECTORY_PATH= (TNSNAMES, EZCONNECT)
SQLNET.KERBEROS5_CONF_MIT = TRUE
SQLNET.AUTHENTICATION_KERBEROS5_SERVICE = krbtgt
okinit 为 Kefir@MYORA.LOCAL(计算机服务器上的用户名)工作
我在客户端上执行了所有相同的步骤(sqlnet.ora除外),但 okinit 出现错误:
从本地名称 user1 找不到,从计算机名称它有凭据问题。
我应该更改或添加什么?
该错误可能告诉您,对于您的数据库服务原则(您从中发布密钥表的帐户),您没有在帐户属性中选择“不需要预身份验证”。
对于您的客户端,您应该从 sqlnet.ora 中的身份验证服务列表中删除 beq。如果您不使用它们,请同时删除 NTS(windows 本机)和 TCPS(证书)。
在您的 krb5.conf 文件中,将大写字母添加到您的域领域,以及不以句点为前缀的别名 - 如下所示:
[domain_realm]
.local.myora=MYORA.LOCAL
local.myora=MYORA.LOCAL
.MYORA.LOCAL=MYORA.LOCAL
MYORA.LOCAL=MYORA.LOCAL
您可能想看一下这个视频 - 它可能会回答您可能 运行 提出的其他问题
https://www.youtube.com/watch?v=d_d0j9ssQys&ab_channel=OracleDevelopers
我有 Windows Server 2008 r2,带有 myora.local
域和 AD。有服务器Oracle。我在Win7上有客户端。
在服务器上:
-C:\krb\krb.conf
MYORA.LOCAL
MYORA.LOCAL myora.local admin server
-C:\krb\krb5.realms
[libdefaults]
default_realm=MYORA.LOCAL
[realms]
MYORA.LOCAL= {
kdc=DomainController.myora.local:88
}
[domain_realm]
.local.myora=MYORA.LOCAL
-sqlnet.ora
SQLNET.KERBEROS5_CONF= c:\krb\krb.conf
SQLNET.KERBEROS5_REALMS = c:\krb\krb5.realms
SQLNET.KERBEROS5_CC_NAME = C:\krb\v5srvtab
SQLNET.AUTHENTICATION_SERVICES= (BEQ, TCPS, NTS, KERBEROS5)
NAMES.DIRECTORY_PATH= (TNSNAMES, EZCONNECT)
SQLNET.KERBEROS5_CONF_MIT = TRUE
SQLNET.AUTHENTICATION_KERBEROS5_SERVICE = krbtgt
okinit 为 Kefir@MYORA.LOCAL(计算机服务器上的用户名)工作
我在客户端上执行了所有相同的步骤(sqlnet.ora除外),但 okinit 出现错误:
该错误可能告诉您,对于您的数据库服务原则(您从中发布密钥表的帐户),您没有在帐户属性中选择“不需要预身份验证”。
对于您的客户端,您应该从 sqlnet.ora 中的身份验证服务列表中删除 beq。如果您不使用它们,请同时删除 NTS(windows 本机)和 TCPS(证书)。
在您的 krb5.conf 文件中,将大写字母添加到您的域领域,以及不以句点为前缀的别名 - 如下所示:
[domain_realm]
.local.myora=MYORA.LOCAL
local.myora=MYORA.LOCAL
.MYORA.LOCAL=MYORA.LOCAL
MYORA.LOCAL=MYORA.LOCAL
您可能想看一下这个视频 - 它可能会回答您可能 运行 提出的其他问题 https://www.youtube.com/watch?v=d_d0j9ssQys&ab_channel=OracleDevelopers