Kerberos 配置文件
必须在单元中的每个 WebSphere® Application Server 实例上配置 Kerberos 配置属性 krb5.ini
或 krb5.conf
文件,以便将简单且受保护的 GSS-API 协商机制 (SPNEGO) 信任关联拦截器 (TAI) 用于 WebSphere Application Server。
操作系统 | 缺省位置 |
---|---|
窗户 | c:\winnt\krb5.ini 注: 如果 krb5.ini 文件未位于 c:\winnt 目录中,那么它可能位于 c:\windows 目录中。
|
Linux | /etc/krb5.conf |
其他基于 UNIX 的系统 | /etc/krb5/krb5.conf |
z/OS | /etc/krb5/krb5.conf |
IBM i | /QIBM/UserData/OS400/NetworkAuthentication/krb5.conf |
*.krb5ConfigFile
属性。 此外,如果客户机程序化登录使用 WSKRBLogin 模块,那么还必须设置 java.security.krb5.conf
JVM 属性。对于 SPNEGO TAI,如果不使用缺省位置和 Kerberos 配置文件名,那么必须指定
JVM 属性 java.security.krb5.conf
。
在 Windows 上,缺省 Kerberos 配置文件为 /winnt/krb5.ini
,在分布式环境上为/etc/krb5
。 如果您指定另一个位置路径,那么还必须指定 JVM 属性 java.security.krb5.conf
。
例如,如果在 /opt/IBM/WebSphere/profiles/AppServer/etc/krb5.conf
处指定了 krb5.conf
文件,那么需要指定 -Djava.security.krb5.conf=/opt/IBM/WebSphere/profiles/AppServer/etc/krb5.conf
。
- Java™ 属性
java.security.krb5.conf
引用的文件 <java.home>/lib/security/krb5.conf
- Microsoft Windows 平台上的
c:\winnt\krb5.ini
- UNIX 平台上的
/etc/krb5/krb5.conf
/etc/krb5.conf on Linux platforms
.
- 启动 WebSphere Application Server。
- 通过从以下命令中运行
wsadmin
命令来启动命令行实用程序:app_server_root/bin目录。 - 通过从以下命令中运行
wsadmin
命令来启动命令行实用程序:app_server_root/bin来自 Qshell 命令行的目录。 - 在
wsadmin
提示符下,输入以下命令:$AdminTask createKrbConfigFile
可以将以下参数用于此命令:表 2. 命令参数。 下表描述 $AdminTask createKrbConfigFile 命令的参数。 选项 描述 <krbPath> 此参数是必需的。 它提供 Kerberos 配置(krb5.ini 或 krb5.conf)文件的标准文件系统位置。 <realm> 此参数是必需的。 它提供 Kerberos 领域的名称。 SPNEGO TAI 使用此属性的值来形成通过属性 com.ibm.ws.security.spnego.SPNid.hostName 指定的每台主机的 Kerberos 服务主体名称。 <kdcHost> 此参数是必需的。 它提供 Kerberos 密钥分发中心 (KDC) 的主机名。 <kdcPort> 此参数是可选的。 它提供 KDC 的端口号。 如果未指定值,那么缺省值为 88。 <dns> 此参数是必需的。 它提供用来生成标准主机名的缺省域名服务 (DNS)。 <keytabPath> 此参数是必需的。 它提供 Kerberos 密钥表文件的文件系统位置。 <encryption> 此参数是可选的。 它标识受支持的加密类型的列表,各个类型之间用空格分隔。 指定的值用于 default_tkt_enctypes 和 default_tgs_enctypes。
在以下示例中, wsadmin 命令将创建krb5.ini文件中的文件c:\winnt目录。 缺省 Kerberos 密钥表文件也位于c:\winnt。实际的 Kerberos 域名是 WSSEC.AUSTIN.IBM.COM 和 KDC 主机名为 host1.austin.ibm.com。
wsadmin>$AdminTask createKrbConfigFile {-krbPath
c:\winnt\krb5.ini -realm WSSEC.AUSTIN.IBM.COM -kdcHost host1.austin.ibm.com
-dns austin.ibm.com -keytabPath c:\winnt\krb5.keytab}
krb5.ini
文件,如下所示:[libdefaults]
default_realm = WSSEC.AUSTIN.IBM.COM
default_keytab_name = FILE:c:\winnt\krb5.keytab
default_tkt_enctypes = aes256-cts-hmac-sha1-96
default_tgs_enctypes = aes256-cts-hmac-sha1-96
[realms]
WSSEC.AUSTIN.IBM.COM = {
kdc = host1.austin.ibm.com:88
default_domain = austin.ibm.com
}
[domain_realm]
.austin.ibm.com = WSSEC.AUSTIN.IBM.COM
- Kerberos 密钥表文件包含类似于用户密码的密钥列表。 主机应通过将其 Kerberos 密钥表文件存储在本地磁盘上来保护这些文件。
krb5.conf
文件许可权必须是 644,这意味着您可以读写该文件;但是,文件所隶属的组的成员以及所有其他成员都只能读该文件。 - Kerberos 密钥表文件包含一组类似于用户密码的密钥。 主机应通过将其 Kerberos 密钥表文件存储在本地磁盘上来保护这些文件。
krb5.conf
文件许可权必须是 644,这意味着您可以读写该文件;但是,文件所隶属的组的成员以及所有其他成员都只能读该文件。 用来运行附件、控件和服务方的用户标识必须对krb5.conf
和krb5.keytab
文件具有读访问权。
- 将 krb5.conf 文件中的三元组替换为它们表示的字符。
- 使用 WebSphere Application Server生成的 krb5.conf 文件。
- 使用 Microsoft Windows 或密钥分发中心 (KDC) 生成的密钥表文件。
Kerberos 配置设置、Kerberos 密钥分发中心 (KDC) 名称及简单且受保护的
GSS-API 协商机制 (SPNEGO) 信任关联拦截器 (TAI) 的领域设置将在
Kerberos 配置文件中提供,或者通过 java.security.krb5.kdc
和 java.security.krb5.realm
系统属性文件提供。