Access Power BI API using managed identities - powerbi

I'm struggling to find good examples on how to use Managed Identities to access Power BI Admin API using Power BI cmdlets. Lots of examples using Az cmdlets.
Connect-PowerBIServiceAccount -ServicePrincipal -TenantId [tenantid] -Credential [???]
It works well with other service principals (using app registration) but I fail to find examples that uses managed identity and Power BI PowerShell. Is it supported?
Thanks!

I dont think it is yet supported. Take a look at:
https://learn.microsoft.com/en-us/azure/active-directory/managed-identities-azure-resources/managed-identities-status

Related

Power BI Embedded – This content isn’t available

We recently have some trouble setting up a Power BI Embedded solution and we hope that someone had some more luck with the example from the official documentation or might point us in the right direction.
We are trying to embed some Power BI reports for an Azure App Service by choosing the “embed for your customers application” (app owns data)-approach and following the Microsoft Documentation Embed content in your Power BI embedded analytics application - Power BI | Microsoft Docs. We choose the Service Principal as authentication method and the Python framework. We are using a supported browser (Edge) and made sure to fulfill the Prerequisites (AAD tenant, service principal, Power BI pro license and a Premium-Per-User license).
Following the steps in the documentation leads to the massage “This content isn’t available.”, when navigating to localhost:
Sample page for embedding with error message
We double checked that the parameters in the file, which we downloaded from GitHub - microsoft/PowerBI-Developer-Samples (linked in the documentation) are correct. The workspace and the report is published, the access is enabled for the Service Principal (SP) in the Power BI admin portal and the SP is added as an admin to my workspace.
The Python application appears to work fine with all modules from the requirements.txt installed. We also tried to embed alternative reports and workspaces, using alternative Service Principals, using security groups or making changes in the parametersfile. We are positive that the example works fine since changing the original code and messing withe config.py and the parameters leads to different (earlier) failure.
We don’t see why the WebApp is not able to access the embedded content. We feel that we checked everything mentioned in the documentation. However, there seems to be something (maybe even obvious) that we miss or that is not mentioned in the documentation.
Every hint is appreciated!

How can I publish Power BI Report to a website

I need to do reporting for my client and are looking into Power BI. What I need to do, is create the report and publish it to the client's website for the public. These reports are public knowledge, there is no security risk to distribute it.
The users should be able to see the report on the website and use some filtering options that comes with Power BI.
I have installed Power BI Desktop (free option) and created the report, but I can not 'Save as' to Web - there is no such option.
My questions are:
Do I need a licence to be able to publish to the web.
Once published to the web, will it be displayed on the website to the users with the functionality to filter and drill down even if they do not have Power BI license?
You have two options - Publish to web and to use the API to embed for your customers (a.k.a. app owns data).
In both cases you must publish the report to Power BI Service. You will need an account for that, but even the free one will work for Publish to web case. However, it is way more limited that the actual embedding using the API.
To register an account, you will need a "business e-mail address", i.e. GMail, Outlook, etc. will not work. This is required, because it will create a tenant for this domain, where the administrators in your organization can manage it.
For Publish to web the administrator must explicitly enable that option in the admin portal. Embedding using the API require programming skills, and normally you will need to buy a "dedicated capacity" (i.e. Power BI Embedded or Power BI Premium).

How to call the Power BI Activity Log API

I would like to call the Power BI Activity Log API with data factory each day to download the activity events into a blob store. I thought I'd use a Copy data activity with an HTTP dataset as source to call the REST API. How do I authenticate in the HTTP dataset's linked service? Do I need to register an Azure AD application with Power BI admin rights and refer to it in some way in the linked service?
Maybe you can have a look at Service Principals, it can help you to easily authenticate and access Power BI admin read-only APIs (ActivityEvents API included) without tying you to a particular user account. Its in preview feature as of today, but should be soon out of preview.
Also, for automating the fetching of logs using Azure Data Factory and ingesting it in Azure Blob, you may have a look at this great article which explains in detail, all the steps that will be required to create the pipeline. Should be helpful!

Can't find publish to web in the workspace

Publish to web works perfectly, but when I add roles to the report in power BI desktop, then I can't find publish to web in my workspace.
Is there a solution or is it limited to pro users?
One of the limitations of Publish to web is that it does not work with RLS. And if you think about it for a moment, it makes sense. If you implemented RLS in your report, this means that there is sensitive data in it, which should not be visible to some people (or to be visible only to some people, to be precise). But at the same time, you are making this sensitive data public, which makes no sense! And the other side of "public" is that there is no authentication and Power BI doesn't know who is looking at your report, so it can't apply the RLS policies.
One solution is to use Secure embed, but this requires each of the users, who will need access to this report, to have Power BI Pro license.
The best solution is to use the API to embed the report, which is described in Tutorial: Embed Power BI content into an application for your customers.
.
You can also look at this question for details how to implement it.

How to share Power BI reports to clients via app.powerbi? Also what is the difference between report and dashboard in power bi app?

I'm a newbie in Power BI..
I need to develop a tabular report (no visualizations) in Power BI and publish it to powerbi app so that client can see live reports.
For that what are the settings we have to do in app.powerbi or powerbi cloud?
When I published a report in my pbi cloud, in the report section, there is an option to publish /embed code. But it says the content will be available to public. So how can we restrict access? Do the client need to have pbi account to share the reports? Please let me know what type of PBI account we have to purchase to meet this requirement.
Also is it mandatory to create dashboard in order to share it to the client? Because report option serves the purpose? Is there any advantages in creating dashboard over reports?
Or do you feel any other suggestions rather than Power BI?
Data format: txt, tab delimited
Type of data: Medical records
Any help on this is greatly appreciated.
Power BI world has different things:
Power BI Desktop (PBID)- this is fat desktop client to create reports. You can use it for free.
Power BI Services (PBIS)- this is SaaS application that allows you create reports and share it. When you open powerbi.com you work with this app. All you reports located in logical containers - workspaces. This container like folder, nothing more. You can publish report from Desktop here into specific workspace. You can embed report from there, but without authentication, thus everyone can see it.
Power BI Embedded (PBIE)- this is PaaS solution to embedded reports into you app. Reports anyway should be stored into some workspace at PBIS. But you app can implement auth and show only specific reports to particular users. All users in you app can see different content and reports, based on your app logic, because you manage access to report via PBIE SDK. Take a look at playground.
So when your users work with PBIS they work with Microsoft Web App, if you want embedded same reports into you app, use PBIE with provided SDKs.
As for licenses. In fact there is only one license type: PRO.
If your users want publish and share reports using PBIS they ALL must have PRO licenses. That the point. You can use all products free unless you want share you reports and analysis. If you need to share you have to pay.
Different thing for PBIE. You implement your app as you wish, you manage you users. They should not have PRO licenses. In fact, you need one license to store you reports. I call this like service account. This is regular PBIS user with PRO license. You use it only for publishing reports and storing it at PBIS and you app use it to load and embedded reports. If you have 1000 users, you can buy 1 license and use it to publish you work and all users will be authenticated in you app, authorization also will be done in your app.
Another thing, that once you go in prod you need to buy capacity - Power BI Embedded Services at Azure. The cost depends on renders. Read more docs on this.