使用 MSAD 联盟服务的单点登录
可以使 Essbase 使用来自 Microsoft Active Directory (MSAD) Federation Services (FS) 的单点登录 (SSO) 。
- 您必须根据集成 WebLogic 以使用 Microsoft Active Directory 中的说明将 Essbase 与 MSAD 集成。请注意,在此单点登录主题中无需显式分配角色,因为先决条件 WebLogic 集成中已解决了此问题。
- 必须使 WebLogic 受管服务器启用 SSL,并且只能保护 HTTPS URL。此任务包含在以下步骤中。
- 要使 Essbase 能够使用 MSAD Federation Services 的单点登录,必须按照显示的顺序执行以下任务。
第 A 部分 - 启动 Active Directory 联合服务 (ADFS) 并下载联合元数据 XML
- 连接到运行 ADFS 的 Microsoft Windows 系统并启动 ADFS 管理界面。这为客户端计算机提供了 SSO 访问权限。启动后,返回到源系统。
- 从 Essbase 本地系统,使用以下示例链接下载 ADFS 元数据:
WebLogic 与 ADFS 集成需要此元数据。https://<ADFS_hostname>/federationmetadata/2007-06/federationmetadata.xml - 编辑
federationmetadata.xml并删除以下标记,因为 WebLogic 无法识别这些标记。删除包括子标记在内的完整标记。<ds:Signaturexmlns:ds="http://www.w3.org/2000/09/xmldsig#"> .......... </X509Data></KeyInfo></ds:Signature><RoleDescriptor xsi:type="fed:ApplicationServiceType" ........... </EndpointReference></fed:PassiveRequestorEndpoint></RoleDescriptor><RoleDescriptor xsi:type="fed:SecurityTokenServiceType" ........... </EndpointReference></fed:PassiveRequestorEndpoint></RoleDescriptor><SPSSODescriptor WantAssertionsSigned="true" protocolSupportEnumeration="urn:oasis:names:tc:SAML:2.0:protocol"> ........... </SPSSODescriptor>
B 部分 - 配置服务提供商 (Service Provider,SP) SSO
- 启用 SSL:
- 在 WebLogic 管理控制台中,转至 myrealm > Providers Summary of Environment > Summary of Servers > essbase_server1(为 Essbase 服务器设置页面。)
- 在 "Configuration"(配置)选项卡 > "General"(常规)选项卡中,选中 SSL Listen Port Enabled(启用 SSL 监听端口)复选框。
- 指定 SSL 监听端口。
- 单击保存。
- 转到 "Protocols"(协议)> "HTTP" 选项卡,并指定前端主机、HTTP 端口和 HTTPS 端口详细信息。
- 保存并激活更改。
- 创建身份断言器:
- 转到 Security Realms > myrealm > Providers。
- 选择 Lock and edit 。
- 单击新建并创建一个新的 SAML2IdentityAsserter ,例如
saml_IA。
- 创建新的验证提供程序:
- 通过输入提供程序名称(例如
samauth)输入新的提供程序。 - 选择新的提供程序类型,例如 SAMLAuthenticator,然后单击确定。
- 单击新创建的提供程序,然后选择控制标志值以将其更改为 SUFFICIENT 。
- 保存所做的更改。
- 通过输入提供程序名称(例如
- 在 myrealm > Providers 下,对提供程序重新排序。例如:

- 单击所有更改以激活和重新启动 WebLogic 管理服务器和托管服务器。
- WebLogic 重新启动后,登录到 WebLogic 管理控制台,然后转至“环境”>“服务器”>“Essbase_server1”>“联盟服务”>“SAML 2.0 服务提供程序”。
- 单击锁定并编辑。
- 选择启用。
- 将默认 URL 指定为
确保将 Preferred Binding 设置为 POST ,然后单击 Save 。https://<your-essbase-host>:<your Essbase SSL port>/essbase/jet/ - 在 "Servers"(服务器)> "essbase_server1 Federation Services"(Essbase_server1 联盟服务)> "SAML 2.0 General"(SAML 2.0 一般信息)下,指定以下详细信息。
- 联系人详细信息。在 ADFS 中添加时,它不应与其他注册冲突。
- 发布的站点 URL 应为
https://<Managed_server_host>:<Managed_Server_SSL_Port>/saml2 - 实体 ID 为
<wls_sp_for_adfs_hostname>。在 ADFS 中添加时,务必指定唯一名称,这样它就不会与其他注册冲突。
- 单击 Activate changes 。
- 单击发布元数据并将其保存到目录中。您必须将此文件注册到 ADFS。将
spd.xml文件复制到 ADFS 所在的系统。 - 要在 WebLogic 服务器中注册 ADFS,请将下载的文件
federationmetadata.xml(在 STEP A 中生成)从 ADFS 计算机复制到 WebLogic Server 计算机。它必须可供 WebLogic AdminServer 访问,例如:/scratch/user/federationmetadata.xml。 - 转到 "Security Realms myrealm Providers"(安全领域)> "Authentication"(验证)> "saml_IA Management"(saml_IA 管理)> "New"(新建)> "New"(新建)> "New Web Single Sign-On Identity Provider Partner"(新建 Web 单点登录身份提供者合作伙伴)。
- 单击 WebSSO-IdP-Partner-0 并输入以下内容:
- 说明:输入与名称相同的值。
- 输入重定向 URI:
/essbase/jet/* /essbase/smartview /essbase/smartview/* /essbase/smartview* /essbase/ui
- 编辑
./Oracle/domains/esscs/bin/setDomainEnv.sh并将-DLOGOUT_URL添加到 JVM 参数EXTRA_JAVA_PROPERTIES: EXTRA_JAVA_PROPERTIES="<Extra_Java_Properties> -DLOGOUT_URL=https://MSAD-Host/adfs/ls/?wa=wsignout1.0" export <Extra_Java_Properties>注意:
Essbase 平台包含
<DOMAIN HOME>/bin中的脚本,这些脚本可以定制 Essbase 功能的环境和行为。但是,如果对这些域环境或启动脚本进行更改,可能会有意外影响(包括启动失败)。Oracle 建议先在测试环境中进行更改。在编辑这些脚本之前,请始终:-
使用
<DOMAIN HOME>/esstools/bin/stop.sh(在 Linux 上)或<DOMAIN HOME>\esstools\bin\stop.cmd(在 Windows 上)停止 Essbase 托管服务器。 -
在
<DOMAIN HOME>/bin中,创建要编辑的文件的备份副本。例如:在 Linux 上
cp setStartupEnv.sh setStartupEnv_bak.sh在 Windows 上
copy setStartupEnv.cmd setStartupEnv_bak.cmd -
仅按照 Oracle 的文档说明或与 Oracle 技术支持合作,小心地进行编辑。
-
使用
<DOMAIN HOME>/esstools/bin/start.sh(在 Linux 上)或<DOMAIN HOME>\esstools\bin\start.cmd(在 Windows 上)重新启动 Essbase。检查启动是否正常完成。
-
- 激活更改后,重新启动 WebLogic AdminServer 和托管服务器。
第 C 部分 - 配置 ADFS IDP
- 转到运行 ADFS 管理界面的 ADFS 系统。在“信任关系”>“依赖方信任”下,右键单击并启动添加依赖方信任 ....
- 单击启动。
- 在从文件导入有关依赖方的数据选项中,浏览到联盟元数据文件位置 spd.xml 以从 WebLogic 下载,然后单击下一步。
- 指定显示名称,然后单击下一步。
- 选择 I do not want to configure multi-factor... ,然后单击 Next 。
- 接受缺省选项,然后单击下一步。
- 选中打开“编辑索赔规则”对话框 ... 复选框。
- 在“编辑索赔规则”对话框中,单击添加规则。
- 选择规则模板将 LDAP 属性发送为索赔。
- 请输入以下内容:
- 输入索赔规则名称:
Name。 - 选择 Attribute store(属性存储):
Active Directory。 - 在 LDAP 属性下,选择
SAM-Account-Name。 - 在传出索赔类型下,选择
Name ID。
- 输入索赔规则名称:
- 单击完成。
- 同样,添加另一个规则“索赔规则名称:GivenName;属性存储:Active Directory;在 LDAP 属性下,选择 Given-Name ;在“传出索赔”类型下,选择 Given Name ;然后单击 Finish(完成)。
- 在“编辑索赔规则”对话框中单击应用,然后将其关闭。
- 双击新添加的中继方信任,然后转到“高级”选项卡。选择安全散列算法:
SHA-1。 - 单击“Endpoints(端点)”>“Add SAML(添加 SAML)”,然后输入如下所示的详细信息。
- 端点类型:SAML 注销
- 绑定:POST
- 可信 URL :(格式为:
https://host:port/adfs/ls/?wa=wsignout1.0)
- 记录您在上面的步骤 10c Part B - Configure Service Provider (SP) SSO 中输入的实体 ID。然后打开电源 shell 并运行以下命令:
set-AdfsRelyingPartyTrust -targetIdentifier <Entity ID> -SigningCertificateRevocationCheck None -EncryptionCertificateRevocationCheck None设置现在已完成。
D 部分 - 测试 MSAD FS 单点登录
- 在 HTTPS URL 中启动 Essbase,例如 HTTPS://host:port/essbase/jet。
- 您应该在 Essbase 用户界面的右上角看到 MSAD 用户。
注意:
如果注销后浏览器会话已关闭(已删除),则重新启动浏览器以以其他用户身份登录。