跨SAP云平台子账户:如何配置HANA XS指向自身的Cloud Connector?
跨子账户配置HANA XS访问Cloud Connector的解决方案
我来帮你搞定这个跨子账户的连接问题——核心原因确实是你之前用的localhost:20003只对应HANA所在子账户的本地代理,没法跨到你的Cloud Connector所在子账户。下面是具体的配置步骤和原理:
1. 先给Cloud Connector开放跨子账户访问权限
在你的Cloud Connector所在的子账户(记为Account A)的Cloud Connector管理界面里操作:
- 进入Cloud To On-Premise → Access Control页面
- 找到你之前配置的指向本地ECC的访问规则,点击编辑按钮
- 在Accessible for Other Tenants区域,添加HANA所在子账户(Account B)的租户ID
- 保存设置,这样Account B的资源就有权通过这个Cloud Connector访问你的本地ECC了
2. 在HANA子账户中创建正确的Destination
到Account B的SAP BTP Cockpit里新建一个Destination,参数要这么配:
host = "你的Cloud Connector里配置的ECC虚拟主机名"; port = 你的Cloud Connector里配置的ECC虚拟端口号; pathPrefix = "/sap/opu/odata"; proxyType = "OnPremise"; // 重点:别再用http,这个参数会让BTP自动路由到授权的Cloud Connector authType = "basic"; useSSL = false; timeout = 3000;
注意:这里不需要配置proxyHost和proxyPort,因为
proxyType=OnPremise会让SAP BTP的底层服务自动处理跨子账户的Cloud Connector路由。
3. 确保HANA XS应用有访问权限
最后检查HANA XS项目的权限配置:
- 在项目的
.xsaccess文件中,添加对Destination服务的引用 - 确认应用绑定的角色包含访问这个新创建的Destination的权限
为什么原来的配置不行?
之前用proxyHost=localhost的逻辑只适用于HANA和Cloud Connector在同一个子账户的场景——此时localhost指向的是当前子账户内部的Cloud Connector代理节点。但跨子账户时,必须通过proxyType=OnPremise结合Cloud Connector的跨租户授权,让BTP底层负责跨子账户的路由,而不是直接指定本地代理地址。
另外,你已经完成了两个子账户的绑定(HANA子账户可以被你的子账户访问),这一步的信任关系已经到位,只要按上面的步骤调整配置,就能正常连接了。
内容的提问来源于stack exchange,提问作者Bram Hendriks
相关产品推荐
相关产品推荐

