.net SSAS adomd客户端,具有相互SSL

ovfsdjhp  于 2023-02-10  发布在  .NET
关注(0)|答案(1)|浏览(125)

我用IIS和mututal SSL配置了一个本地SSAS-server。
通过浏览器连接到https://127.0.0.1/OLAP/msmdpump.dll与客户端证书工作正常。
但我觉得那个工具

  • 电子表格
  • 功率BI
  • SQL Server管理工作室

可以提供连接到服务器的客户端证书。
所以我尝试了最"原始"的方法:使用Microsoft.AnalysisServices.AdomdClient.NetCore.retail.amd64/19.55.3.1的一个小. net-core7项目

AdomdConnection conn = new AdomdConnection("DataSource=https://127.0.0.1/OLAP/msmdpump.dll;Catalog=Analysis Services Tutorial"))
conn.Open();

效应

---> System.Net.Http.HttpRequestException: Response status code does not indicate success: 403 (Forbidden).
   at System.Net.Http.HttpResponseMessage.EnsureSuccessStatusCode()
   at Microsoft.AnalysisServices.AdomdClient.HttpStream.HttpChannelController.GetResponseMessageImpl(HttpStream owner, Object context, Task`1 pendingResponse)
   at Microsoft.AnalysisServices.AdomdClient.HttpStream.HttpChannelController.CompleteHttpClientBasedOperation(HttpStream owner, Object context, Task`1 pendingResponse)
   at Microsoft.AnalysisServices.AdomdClient.HttpStream.HttpXmlaOperation.HttpClientOperationManager.GetResponse(HttpXmlaOperation operation)
   at Microsoft.AnalysisServices.AdomdClient.HttpStream.LegacyController.HttpClientXmlaOperation.GetResponseImpl()
   at Microsoft.AnalysisServices.AdomdClient.HttpStream.HttpXmlaOperation.EnsureCanRead()
   at Microsoft.AnalysisServices.AdomdClient.HttpStream.LegacyController.LegacyXmlaOperation.EnsureCanRead()
   at Microsoft.AnalysisServices.AdomdClient.HttpStream.HttpXmlaOperation.GetResponseDataType()
   at Microsoft.AnalysisServices.AdomdClient.HttpStream.GetResponseDataType()

此时,我没有看到任何操作httpSteam/httpClient的方法,因此我可以添加一个要在连接中使用的客户端证书。
关于MutualSSL<->SSAS-配置,您有什么想法或示例吗?

tcomlyy6

tcomlyy61#

SSAS客户端支持NTLM、Kerberos和(仅在使用数据泵时)HTTP基本身份验证。在连接到Azure Analysis Services和Power BI时,它们还支持Azure Active Directory身份验证,但不支持SSAS。AAS/PBI和SSAS之间存在XMLA协议差异。
因此,唯一真实的的可扩展点是让客户机使用HTTP Basic,并将Windows用户名/密码以外的内容传递给某种HTTP代理。
下面是一个老的例子:SSASProxy Custom HTTP Security Sample

相关问题