云服务器价格_云数据库_云主机【优惠】最新活动-搜集站云资讯

美国服务器_cn2服务器_新用户

小七 141 0

使用Kerberos为Hana DB设置单点登录(SSO)配置

此博客介绍了使用Kerberos为Hana数据库设置单点登录(SSO)配置的步骤。

SSO允许用户只登录一次,并提供对多个系统和服务的访问,而无需再次生成凭据。

Kerberos是许多配置之一实现SSO的方法(其他示例为SAML或X.509证书)。

逐步过程

我们必须在Active Directory中创建一个代表SAP HANA数据库的服务用户,由服务主体名称(SPN)映射,然后我们必须在DB服务器上为此SPN创建一个keytab文件。在DB服务器上,我们还需要一个krb5.conf文件。最后,我们必须创建一个外部映射的SAP HANA数据库用户。

前提条件:

确保Kerberos客户端和服务器库已经安装在HANA数据库服务器上,要验证是否满足软件要求,云服务器好,请运行以下命令:

rpm-qa | grep krb5*

版本号不必完全匹配,大数据库,但是应该在1.6.3-132以上才能包含重要的安全补丁

配置步骤:

1->主机名解析

在Linux上有几种主机名解析工具。其中一些直接使用DNS(dig,host,大量数据,nslookup),而另一些(hostname)

进行验证,在Db服务器上运行以下命令

>hostname–ip address(此命令给出相应的ip地址)

2->为MIT Kerberos库设置配置文件,数据库服务器上的krb5.conf,如下例

标准Kerberos配置:

#>cat/etc/krb5.conf[默认值]默认\u领域=MYDOMAIN.COM[领域]MYDOMAIN.COM= {kdc=mykdc1。mydomain.comkdc=mykdc2。mydomain.com}[领域].mydomain.com= MYDOMAIN.COMmydomain.com= MYDOMAIN.COM

[domain\u realm]只包括DB服务器域的映射(它与客户端域无关!)。当SAP HANA数据库客户端尝试对SAP HANA数据库服务器进行身份验证时,这将用于相互身份验证。

在[domain\u realm]映射中的域部分必须包含域名的完整长度。如果数据库服务器的FQDN为hdbserver.subdomain.domain域.com,

那么[domain\u realm]条目必须是

子域.domain.com= 域名.COM子域.domain.com= 域名.COM

3->为Kerberos身份验证创建Active Directory用户或使用现有用户。

用户应使用"密码永不过期"选项创建。

(这可能会根据您的组织结构而更改)

在我的情况下,我已向Windows服务团队提出请求

针对HANA Studio的SPN:

针对HANA的SPNXS(web访问):

setspn-S HTTP/

4->使用adm验证Kerberos配置user:

使用kinit和klist实用程序时,我们依赖于Windows AD测试用户aduser1的正确配置。使用kinit,淘客返利app,我们尝试根据AD域对测试用户进行身份验证,并创建一个TGT:

/usr/bin/kinit@MYDOMAIN.COM

如果成功,它将询问SPN\U用户的密码

下一个命令应在kinit命令之后立即使用(它将显示上一次登录的票证)。

使用klist我们可以看到这一点票证:

>klist

票证缓存:文件:/tmp/krb5cc\u 1000

默认主体:SPN\u user@MYDOMAIN.COM

有效启动服务主体2013年2月18日15:25:58 2013年2月19日01:26:02 krbtgt/MYDOMAIN.COM@MYDOMAIN.COM续费至2013年2月19日15:25:58

5->创建keytab文件。我们将从Linux服务器(HANA服务器)使用ktutil。

ktutil可用于编辑keytab文件。

首先,我们需要发现要使用的kvno编号。为了知道kvno编号,运行命令:

运行kinit命令为用户(SPN\u user)获取TGT:

例如:/usr/bin/kinit@MYDOMAIN.COM

下一步运行kvno命令获取kvno编号:

kvno hdb/@MYDOMAIN.COM

在输出中可以看到kvno=值。

->如果kvno值为3,在这种情况下,在创建keytab文件时,我们将使用kvno值作为3

6->创建keytab文件的命令(由于keytab目录/etc权限,它需要root):

用于HANA STUDIO的keytab:

在shell运行中:

/usr/bin/ktutil

在ktutil运行中:

addent-password-p hdb/@MYDOMAIN.COM-K3-e型rc4 hmac

wkt/etc/krb5.keytab

q

用于HANA XS的keytab(web访问):

在shell中运行:

/usr/bin/ktutil

addent-password-p HTTP/@MYDOMAIN.COM-k3-e rc4 hmac

wkt/etc/krb5.keytab

q

7->保护keytab文件。此步骤是强制性的,否则SSO将无法工作(需要根)

将文件的所有权更改为行政:sapsys:

8->使用adm

Run klist命令验证Keytab文件:

klist-k/etc/krb5.Keytab-etK

输出应返回两个SPN

Run kinit命令从步骤3为用户获取TGT(SPN\U用户):

/usr/bin/kinit@FQDN

例如:kinit@MYDOMAIN.COM

下一步运行kvno命令:

/usr/lib/mit/bin/kvno-k/etc/krb5.keytab hdb/@MYDOMAIN.COM

/usr/lib/mit/bin/kvno-k/etc/krb5.keytab HTTP/@MYDOMAIN.COM

9->在HANA中创建/更改用户

在身份验证中,选中Kerberos复选框和外部ID填写值@FQDN

10->Create connection in HANA Studio with SSO

Create system in HANA Studio。在用户和密码阶段–选择由当前操作系统用户验证。

11->尝试使用上一步创建的连接登录

供参考:

Kerberos/Active Directory

任何有关Kerberos或Active Directory故障排除的背景信息,以下网站可能会有所帮助:

设计认证系统:四场对话(MIT):常见问题解答: AD故障排除:

白皮书AD/Kerberos故障排除:https://wiki.wdf.sap.corp/wiki/download/attachments/1180221073/Troubleshooting\u Kerberos\u Errors.DOC?version=1&modificationDate=1355764274996

打开Kerberos的Windows系统事件日志:

使用IIS/IE进行Kerberos身份验证失败时需要检查的事项:

SAP HANA数据库