Can Tableau do impersonation when connecting to Drill? - authentication

I have Tableau Server connecting to a Drill view. I want to deal with authorisation in Drill so I need Drill to know who is requesting the data from Tableau Server. For this I need impersonation to work as otherwise session_user in Drill will always be Tableau Server service account and not an actual person connecting to Tableau Server.
This link seems to suggest that impersonation in Tableau works only for SQL Server:
https://onlinehelp.tableau.com/v10.1/server/en-us/impers_requ.htm
It would be strange considering how many datasources Tableau supports... Is it really not possible? And if it is not, are there any workarounds?
My versions are: Tableau 10.1 and Drill 1.10

I think the confusion here because of Tableau doesn't mention about Drill anywhere in documentation. You can treat Drill as a SQL server and use impersonation with it. Drill supports something called inbound impersonation which allows a connection user (session_user) in drill to impersonate a Tableau end user. The corresponding parameter for connection string of Drill is delegation_uid.

Related

SSAS cube connection to Google cloud bigquery

We are trying to connect our ssas cube to big query database on Google cloud.Which connectivity provider do we need to use?
I came across one of the web link where there are saying there is cdata provider we can use for this but What I need to check here, is there any other efficient way

SSAS: DirectQuery to SQL database using the current user

I want to define all the acces rights in my SQL Server database so it is nice and centralized. I am implementing basic stuff like grant select on schemas and tables, encryption of columns and RLS.
On top of the database I build a Tabular model with SSAS with DirectQuery connection.
On top of the Tabular model I want to build a report with DirectQuery connection.
directQuery states:
Security can be enforced by the back-end source database by using row-level security features from the database.
Impersonation in Analysis Service Tabular states:
Impersonate Current User Specifies data should be accessed from the datasource using the identity of the user who sent the request. This setting applies only to DirectQuery mode.
Issue:
I cannot choose "use current user" as impersonation mode in my ssas tabular model. -> "ssas the datasource contains an impersonationmode that is not supported for processing operations"
changing the impersonation mode in ssms yields this error, VS2019 looks similar with the same content
I can deploy it as a specific user but that means that everybody uses the access rights of that specified user.
My tabular model uses compatibility level 1400. It is deployed to a Microsoft Analysis Server 15.0.32.50, Tabular Mode. (The model cannot use DirectQuery when in compatibility 1500 for some arcane reason. Please don't make this your topic unless you absolutely have to.)
SQL Server Version is 2019, 15.0.2000.5
The on-premise Report Server must be used.
SSAS, database and report server run on the same SQL Server.
Is it possible to implement this solution using database, ssas and report server on the same machine? If so, how?
Alrighty, so after messing around with this stuff for wayyy too long, I narrowed it down to the SQL-Server setup. Something there in the configuration is causing a bunch of issues.
Using direct query to pass down user information in the way described above is perfectly valid.

Azure ADF unable to create linked service to an Azure SQL server VM in a different tenancy or subscription

I am trying to create a pipeline to copy some data between Azure SQL databases on different servers, but creating a Linked Service using SQL authentication fails (and gives no helpful information, just a dialog box saying it failed). I think that the server VMs are in different tenancies or different subscriptions (I am not sure of the distinction), so I am guessing that the one I am working in cannot see the one I want the connection to go to. Is that likely, and what needs to be done to make it work? Any advice welcome, including RTFM if you can point me at the right one and it doesn't take weeks to wade through it!
In case anyone hits the same issue: the problem turned out to be the 'encrypted' checkbox in the self-hosted integration runtime (IR). Clearing this flag allowed the IR to see the target database, and the pipeline could then be created with the new connection set to use that IR. #Leon Yue: both databases are Azure SQL instances on Azure PaaS VMs.

Best way to give azure SQL permissions to Power BI?

I'd like to allow a Power BI report to access a single azure SQL database in such a way that it could allow for cleaner deployment/replication across multiple products. As of now, I manually provide the reports with a read only SQL login, but having to do this each time a new report is created would be sub-optimal.
Is there any way to integrate Power BI with Azure's MSI, or anything of the sort to allow for smoother deployment?
You can connect to the Azure SQL database through the PowerBI online service and then publish this as a 'content pack'.
Then you can use the PowerBI Service Connector to access the dataset without creds.

API for Azure Database for MySQL

Azure Database for MySQL server is still in preview, though we can created database instance on it.
I wonder do we have any API to retrieve the databases that we created on Azure Database for MySQL server? API for metrics of those databases?
Same questions for Azure Database for PostgreSQL server. Thanks!
Related Azure portal screenshot
We have just released the REST API spec today. You can find it here - https://learn.microsoft.com/en-us/rest/api/mysql/
Here's the REST API reference to list all the databases under a server: https://learn.microsoft.com/en-us/rest/api/mysql/databases#Databases_ListByServer
well, they obviously exist, but they are not publicly available yet. I don't see anything reasonable on the REST API reference page.
You may figure this out using the Azure portal + fiddler combo ;)
What do you mean retrieve the databases? You can connect to them in Visual Studio with your SQL server object explorer and entering the server name Azure gave you as the server. I don't know if I am understanding your question right? You can connect to the database just like any other SQL database using a SqlConnection.
EDIT:
I looked into it a little more:
https://learn.microsoft.com/en-us/azure/sql-database/sql-database-connect-query-dotnet-visual-studio
Essentially what I was saying. Provided you have successfully connected your SQL db to Azure you just access it like any other database. For PostgresSql, look into using NpgsqlConnection instead of SqlConnection. They have very similar functionality.