3.3. 用于提升的 Kerberos 身份验证集成
除了使用 Kerberos 保护管理界面和 Web 应用外,您还可以为通过远程访问的服务配置 Kerberos 身份验证,如 EJB。
还需要配置 Kerberos 的系统属性。如需更多信息,请参阅配置 Elytron 子系统。
3.3.1. 使用传统安全域进行 Kerberos 身份验证集成 复制链接链接已复制到粘贴板!
要配置 Kerberos 身份验证,您需要执行以下操作:
使用 remoting 和
RealmDirect配置安全域您需要配置安全域,以供通过远程访问的服务使用。此安全域需要同时使用
Remotinglogin 模块和RealmDirect登录模块,如RealmDirect 或RealmUsersRoles。本质上,它应当与默认提供的其他安全域非常相似。有关每个登录模块的具体配置选项的详情,请查看 JBoss EAP登录模块参考。示例:带有远程和 RealmDirect 登录模块的安全域
/subsystem=security/security-domain=krb-remoting-domain:add() /subsystem=security/security-domain=krb-remoting-domain/authentication=classic:add() /subsystem=security/security-domain=krb-remoting-domain/authentication=classic/login-module=Remoting:add(code=Remoting, flag=optional, module-options=[password-stacking=useFirstPass]) /subsystem=security/security-domain=krb-remoting-domain/authentication=classic/login-module=RealmDirect:add(code=RealmDirect, flag=required, module-options=[password-stacking=useFirstPass, realm=krbRealm]) /subsystem=security/security-domain=krb-remoting-domain/mapping=classic:add() /subsystem=security/security-domain=krb-remoting-domain/mapping=classic/mapping-module=SimpleRoles:add(code=SimpleRoles, type=role, module-options=["testUser"="testRole"]) reload为 Kerberos 身份验证配置安全域.
有关使用 Kerberos 身份验证设置安全域的信息,请参见"通过 Kerberos 保护管理接口 "一节。
示例: Security Realm
/core-service=management/security-realm=krbRealm:add() /core-service=management/security-realm=krbRealm/server-identity=kerberos:add() /core-service=management/security-realm=krbRealm/server-identity=kerberos/keytab=remote\/localhost@JBOSS.ORG:add(path=\/path\/to\/remote.keytab, debug=true) /core-service=management/security-realm=krbRealm/authentication=kerberos:add(remove-realm=true) reload在远程子系统
中配置 HTTP连接器。此外,您需要在远程子系统
中配置HTTP 连接器,以使用新创建的安全域。示例:删除子系统
/subsystem=remoting/http-connector=http-remoting-connector:write-attribute(name=security-realm, value=krbRealm)配置 服务的安全性。
您还必须设置使用远程接口访问的服务以
进行保护。这将因服务而异。例如,对于 EJB,您可以使用@SecurityDomain和@RolesAllowed注释。