Search code examples
c#azure.net-coreazure-functionsazure-analysis-services

Does Microsoft.AnalysisServices.Tabular.NetCore have support for SQL Server user


I'm connecting to Azure Analysis Services using a connection string via the SQL Server user method. The docs mention that AAD auth is supported as well as this it supports Windows authentication (integrated authentication) for client application connections.

This includes various methods such as NTLM, Kerberos, EffectiveUserName on the connection string, however it does not mention anything about SQL user auth. I need to use SQL user for this task so need to know and understand if this is possible?

I would normally use MI however, analysis services has no support for this. The sql user will also need admin rights on the analysis services

// analysis services details
string serverName = "myserver";
string databaseName = "mydb";
string userId = "Sql_userId";
string password = Environment.GetEnvironmentVariable("Sql_PWD");

var connectionString = $"Provider=MSOLAP;Data Source={serverName};Initial Catalog={databaseName};User ID={userId};Password={password};Persist Security Info=True;Impersonation Level=Impersonate;";

Solution

  • I'm connecting to Azure Analysis Services using a connection string via the SQL Server user method.

    AAS only supports Azure Active Directory (now called Entry ID) authentication. The connection strings that use a user name and password will be used only to fetch an Access Token on behalf of the user. Typically this "user" is an AAD Service Principal and you pass <ClientId>@<TenantId> for the user name, and the client secret for the password.

    Neither AAS nor SSAS has ever supported SQL Auth. And AAS does not support NTLM or Kerberos.