Creating a login for PowerBI dashboard? - powerbi

I need to create a dashboard but I don't want it to be seen by everyone and I need to create a login form for that.
Option 1 : I can create a asp.net page for login and after successful login I can show the dashboard.
Option 2: Which I want to know that- Does PowerBI contains some login kind of functionality so that I don't need to upload a .net web page !!
Can someone provide me the link or tutorial for the same?
Thanks for the help.

Option 1 : I can create a asp.net page for login and after successful login I can show the dashboard.
This wouldn't work because if the person knew the URL of the page, they wouldn't need to defer to your ASP.NET login page and just go straight for the source (once they found out the URL).
The only way I know you can manage private dashboards is by creating workspaces within Power BI which you can provision access to certain users or accounts. This requires you to upgrade to Power BI Pro however and is not offered in the free version.

Related

Power BI - Difference between Publish to Web and Website (Portal)

I want to know the difference in the following 2 options in Power BI Service -> File -> Embed Report:
Website or Portal
Publish to Web (public)
My observation was that you can use Report Filters in Website or Portal option but Report Filters are disabled in Publish to Web option.
Can someone please answer my following queries:
When should we use each of the 2 options?
Which option needs Power BI Embedded Tokens and Capacity to use in production environment?
Can users use Filtering on the report in both the 2 options?
Thanks!
Gagan
Please find the answer below:
1.Difference between Publish to Web and Publish to Website
Publish to Web:
Report will be public
No need to Login (Anyone with the link can view the report)
With the Power BI Publish to web option :
a. You can easily embed interactive Power BI content in blog posts, websites, emails, or social media.
b. You can also easily edit, update, refresh or stop sharing your published visuals.
Publish to Website:
Report will be private
Need to Login first (Unauthorized personal can’t be able to view the report)
With the Power BI Publish to website option :
a. User who has access to that workspace can see the report.
b. User who is member of your organization can see report from that workspace.
2.You don't need the Tokens and Capacity to publish the reports to web or website.
3.Filtering with Publish to Website and Publish to Web
With Publish to Website you can use filtering.
With Publish to Web to use the filtering on the report, you need to have the Power BI Pro License.
Publish to web does not allow display of the filter pane and tabs - at least as for now according to the Microsoft - see this link and the section called "Considerations and Limitations": https://learn.microsoft.com/en-us/power-bi/create-reports/power-bi-report-filter. So if you have filters in the filter pane you would have to move them over to the main content of the report - not ideal if users are already used to using filters on the filter pane.
Publish to website or portal will just give you an iframe with a private URL and when users load the web page they will have to authenticate.
In order to embed and authenticate on behalf of all the users you will need a token. One way to do this is using principal service account - this way you won't be supplying any user account credentials. This workflow is well documented and you can even download a test application with working code where you would need to supply your values such as workspace id, report id, tenant id, application id and finally application secret. Get started with token authentication using this link: https://learn.microsoft.com/en-us/power-bi/developer/embedded/embed-tokens. Double check token expire date and set it appropriately.

Embed Power BI content into an application for your organization users - Need Admin Approval Error

We are trying to embed PowerBI report in the website and we have followed the step from below link.
https://learn.microsoft.com/en-us/power-bi/developer/embed-sample-for-your-organization
We have download the User Owns Data sample from GitHub to get started. Now, We are getting below error while running the application.
https://oxcrx34285.i.lithium.com/t5/image/serverpage/image-id/181463i44C126096E9419F3/image-size/large?v=1.0&px=999
SAT Report 5 app created on Azure --> App Registration and It's having following permissions.
https://oxcrx34285.i.lithium.com/t5/image/serverpage/image-id/181462i5D003092A86DE647/image-size/large?v=1.0&px=999
As we got an error of need admin approval, Do we need to set up the app using Admin login?
On portal.azure.com, got to App Registrations and select your application. Under Manage click the API Permissions link. On the bottom of this page there is a Grant Admin Consent button. If you dont see the button you dont have permission and will have to connect with whoever manages your tenant.

How to apply filter in PowerBI WebApp

I have created one WebApp which is hosted on Azure IIS. I am calling PowerBI reports & Dashboards and rending them into my WebApp.
I need to apply following functionality and I am unable to find solution online.
Users can filter the data from filters available in PowerBI from Web Application.
Row Level Security can be applied when we call PowerBI reports and render into web page.
It is not clear what kind of URL you are using to embed the reports. Essentially, there are 3 URLs that you can use to display a report in your web app:
The URL taken from your browser's address bar. In this case the use of you web app needs to be logged in Power BI service and to be granted with rights to see this report. One of the disadvantages are that in your web app you will not see the report only, but the whole Power BI page (including the navigation menu at the left).
The URL taken when you share this report publicly using Publish to web. In this case only the report will be embedded in your web app (menus will not be visible), but you can't do that for reports over RLS enabled datasets (because RLS requires user's identity, while in this case the access is anonymous).
The embedUrl of the report (or tile, or dashboard) that you can obtain using the Power BI REST API. It is usually used when you have a dedicated capacity assigned to this workspace (Power BI Embedded). In this case there are two scenarios - "User own data" and "App own data". In the first one each of your users must have their own account and rights to see the report (as in #1). In the later scenario, you use one shared "master account" in your web app to get access to the report and there is no need for your users to authenticate themselves. You can take a looks at the samples to see how it works. Essentially, you need the JavaScript Power BI client, one HTML page with a and some JavaScript code to load the report in the (check powerbi.js, ReportLoader.html and ReportLoader.js files from the samples. A good place to start is this article - Tutorial: Embed a Power BI report, dashboard, or tile into an application for your customers.
To apply filters to the embedded report, you can use one of the recently new features (if I'm correct, it is available since August 2018) and add the filters in the URL. I'm not sure will this work in case #2, but I will not recommend using it anyway.
RLS is not possible with case #2. In cases #1 and #3 RLS will simply work. With #3 if you use "app own data" scenario, for the RLS to work you need to pass user's name and role when you generate the token to access the report (because otherwise for all user's requests Power BI will always see the identity of your "master account" and RLS will not make any sense). This is specified with EffectiveIdentity parameter.
You also attached "power-bi-report-server" to your question, but at the same time you are saying that your web app is running in Azure. If after all your reports are on Power BI Report Server on premise, then you can embed reports by passing rs_embed=true parameter at report's URL too. In this case to make RLS work you just need to make sure that your users are authenticated with their own accounts. Passing filters in the URL works with the recent versions too (it was broken in March 2018, but fixed in 15.0.2.389).

Power BI publish to web on a password secured website

I've been looking at options for sharing my Power BI reports with clients in a secure manner. By looking through the documentation and was looking into Power BI embedded, however, one of my colleagues suggested that instead of going through all of that we should simply publish the iFrame to a password protected website in our own site as to reduce the workload.
I was interested has anyone tried this and had any success? Are there any drawbacks to using this method? I'm fairly new in this field so I am afraid I am missing something.
Why not create a user account in your domain ClientName#yourdomain.com and share the reports/dashboards as per normal internal sharing?
To answer your question directly, I have done this before and it worked fine.
Keep in mind that the iFrame is public so once the user has that user from the iFrame they would need to log into that page, they can go directly to the url within the iframe.

Do I need to have Global Admin right to register an Application for Power BI?

In Adam Saxton's youtube video, he mentioned that global admin right is needed to register an App for embedding powerBI report to custom web application via REST APIs.
https://www.youtube.com/watch?v=egP0GHSOUIM&t=221s.
I tried to use the provided URL: https://dev.powerbi.com/apps, I found I can register a web app, and I can get client id and client secret.
But when I check the permission for powerbi in azure portal, I found at the top right, there is check box for application permissions not checked, also it says it requires admin. Do I really need to have global admin to make the integration work?
Thanks,
Jack
I guess global admin is not required,I made it work with C# sample codes.