Additional Blogs by SAP
cancel
Showing results for 
Search instead for 
Did you mean: 
former_member204319
Discoverer
0 Kudos

原文地址(英语):
Making Windows AD Configuration & SSO easy on SAP BI 4.1


我想分享一下最近我在一个新的SAP BI 4.1的环境中配置Windows AD SSO的经验。

不同于以往传统的使用Kerberos Keytab,这一次我们使用平文密码来实现这个功能。

下面的内容就是我配置的步骤。

1.0 创建服务账户


1.1 创建一个新的账户


  • 为了建立一个服务的用户认证,必须在AD域控制器上对一个用户进行服务注册
  • 为了注册服务,在域控制器上,打开活动目录用户和计算机管理单元
  • 单击“用户”文件夹,显示所有用户。在“操作”菜单上,单击“创建新用户”
  • 输入一个名称和登录名称作为新的服务,然后单击“下一步”
  • 在下一个界面中,输入密码。确保没有选中“用户在下次登录时必须更改密码选项
  • 点击“下一步”,然后单击“完成”
  • 右键点击新创建的用户,然后单击“属性“
  • 单击帐户选项卡,然后选择帐户是可信授权和密码永不过期。这是为了防止服务帐户到期,导致Kerberos错误
  • 如果您的域控制器运行在一个较低的域功能级别(低于Windows 2003域),查看您在步骤2中创建的用户帐户的属性,并选择使用DES加密类型
    如果你在以后的版本中启用这个功能,当你使用Windows AD帐号登录到CCM时,可以得到“内部错误”
    注:Windows 20032008域功能级别下,默认使用RC4
  • 单击OK

1.2  设置用户账户


  • 在用户帐户属性选项卡中,确保密码永不过期选项是启用

1.3  授予服务帐户权限


  • 登录BI服务器并执行下面的操作
  • 单击开始>控制面板>管理工具->本地安全策略
  • 扩展本地策略,然后点击用户权限分配
  • 双击作为操作系统的一部分
  • 单击“添加”
  • 添加BO服务帐户名称,然后单击“确定”
  • 确保本地策略设置复选框被选中,然后单击“确定”
  • 确保BO服务帐户在BI服务器上具有以下系统权限
    作为操作系统的一部分
    作为批处理作业登录
    作为服务登录
    替换过程级别令牌

1.4  添加账号到管理员组


  •      登录BI服务器并执行下面的操作
  •      右键点击我的电脑,单击管理
  •      点击系统工具本地用户和组
  •      右键单击管理员,然后单击“添加到组”
  •      单击“添加”,然后输入BO服务名
  •      单击“检查名称”以确保账户正确
  •      单击确定,然后再次单击“确定”

2.0 SPN


SPN步骤

为了创建适当的服务主体名称(SPN),请在Active Directory服务器执行以下命令

  • 登录到域控制器服务器
  • 使用setspn –a 命令,在先前创建的服务账户上添加HTTP服务主体名


    a) setspn -a HTTP/BOBJServerName  BOserviceaccount

    b) setspn -a HTTP/BOBJServerName.Domain.COM BOserviceaccount

    c) setspn -a HTTP/IP address of BOBJ Server BOserviceaccount

    d) setspn -a ServicePrincipalName  BOserviceaccount

验证服务帐户的属性,它应该下面的屏幕截图相似


   


  • 在已经创建好的服务账户的属性里,点击委派选项,如下图所示,启用选项“对“服务帐户”信任任何服务(只针对Kerberos

  • 运行“setspn -l BOserviceaccount”命令以确认HTTP服务主要名称添加到服务帐户

3.0 预期的输出

设置SPN时,应该添加以下的内容


  • 主要服务名称
  • 域控制器的IP地址及其域名全称
  • 服务帐户
  • 服务帐户密码

4.0  AD配置

  • BI安装路径下创建bscLogin.confkrb5.ini文件
  • 如果使用Tomcat的话,在bscLogin.conf文件中添加以下内容

com.businessobjects.security.jgss.initiate{
com.sun.security.auth.module.Krb5LoginModule required;
};

  • krb5.ini文件中添加以下内容,确保所有域名大写,kdc定义为域名全称

[libdefaults]

       default_realm = DOMAIN.COM

       dns_lookup_kdc = true

       dns_lookup_realm = true

       default_tgs_enctypes = rc4-hmac

       default_tkt_enctypes = rc4-hmac

       [realms]

       DOMAIN.COM = {

       kdc = Domain Controller Server nme. DOMAIN.COM

       default_domain = DOMAIN.COM

       }

确保该文件保存在“C:\Program Files (x86)\SAP BusinessObjects\SAP BusinessObjects Enterprise XI 4.0\win64_x64\jdk\bin\ folder”下,然后执行 kinit BOserviceaccount”命令。如果生成了新的秘钥,证明该文件配置正确。


  • 打开Tomcat的配置,添加下面的Java命令行

-Djava.security.auth.login.config=C:\BO\WinAD\bscLogin.conf

-Djava.security.krb5.conf=C:\BO\WinAD\Krb5.ini


  • 更新位于Tomcat安装目录下的server.xml文件

<Connector port="8080" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" compression="on" URIEncoding="UTF-8" acceptCount="100" debug="0" disableUploadTimeout="true" enableLookups="false" maxSpareThreads="75" maxThreads="150" maxHttpHeaderSize=" 65536" minSpareThreads="25" compressionMinSize="2048" noCompressionUserAgents="gozilla, traviata" compressableMimeType="text/html,text/xml,text/plain,text/css,text/javascript,text/json,application/json" />


4.1 AD SSO配置

  • AD SSO 配置包括在Tomcat WebApp文件夹下创建.properties文件
  • 到默认路径“[BI_Installer]\Tomcat\webapps\BOE\WEB-INF\config\custom”下创建BIlaunchpad.properties文件,然后添加以下内容

authentication.default=secWinAD
authentication.visible=true

  • 到默认路径“[BI_Installer]\Tomcat\webapps\BOE\WEB-INF\config\custom”下创建global.properties文件,然后添加以下内容

sso.enabled=true
siteminder.enabled=false

vintela.enabled=true            
idm.realm=DOMAIN.COM
idm.princ=ServicePrincipalName

idm.allowUnsecured=true

idm.allowNTLM=false

idm.logger.name=simple

idm.logger.props=error-log.properties

idm.allowS4U=true


注意:我们不在global.properties文件中保存keytab文件的路径。


  • 打开Tomcat选项,在Tomcat Java选项中添加以下内容:

-Dcom.wedgetail.idm.sso.password=<Password of BOServiceaccount>

-Djcsi.kerberos.debug=true

启动Tomcat 去路径“[BI_Installer]\Tomcat\logs”下,检查stdout.log中是否有“credentials obtained”内容。

在客户端,通过浏览器测试SSO是否正常工作。(不要在BI服务器上测试)

为了避免打完patch后导致SSO不能正常工作, 我们需要从“[BI_Installer]\Tomcat\webapps\BOE\WEB-INF\config\custom”文件夹中,复制BIlaunchpad.propertiesglobal.properties文件到“[BI_Installer]\ SAP BusinessObjects Enterprise XI 4.0\warfiles\webapps\BOE\WEB-INF\config\custom”文件夹。

4 Comments