I have my own Power BI Pro account from my company powerbi#mycompany.com.
My client has given me access to his tenant as an external guest user with one of it's Power BI Pro licenses.
The question is: how do I access the Power BI Service of my client? When I connect to the service I can't find any possible way to switch then tenant from one to another with the same account (like you can on the Azure portal).
If you are a guest in some host's tenant (domain) then you need their CTID to log in to that host instance. The CTID is the tenant identifier of the host's Azure Active Directory. They can look this up for you in the Azure Portal or use the shortcut below to get it from their PowerBI service. If the host can't find their CTID for some reason you can look it up here: Tenant ID Lookup by Domain. Once you have the tenant id (CTID), simply provide it to the url PowerBI CTID Url :
https://app.powerbi.com/home?ctid=<host's tenant id (ctid)>
and then this will sign you in to their (the Host's) PowerBI.
Click the ? and go to About PowerBI to bring up the window shown below.
For PowerBI Desktop, you need to sign out and then sign back in again. When signing in, click the Sign in Options where you can then elect to sign in to an organization. Provide the Host's domain name and continue the sign in process. Now you will be signed in to PowerBI Desktop and PowerBI service - ready to build, publish and view reports in your Host's organization.
I hope that all makes sense! :)
This is all explained here: https://learn.microsoft.com/en-us/power-bi/guidance/whitepaper-azure-b2b-power-bi#enabling-external-users-to-edit-and-manage-content-within-power-bi
Including the url you need to use to access your customer’s tenant. And you don’t need your customer to assign a pro license if you have one in your home tenant.
It would be even better if you could switch tenants without the URL. Someone posted that idea on Power BI's site and you can upvote it.
https://ideas.powerbi.com/ideas/idea/?ideaid=eb9194f1-ceea-41a7-9761-76e913c58ed5
Just found out that you can actually redirect someone directly to the App that you are creating in the workspace. This can be quite handy if you want to redirect someone directly to the report app instead of the home page.
Go to "update App"
Then go to the permissions Tab
Copy and PAste the link from the app
The link to the app contains the tenant ID
Hope that works! :)
Related
I created a dashboard in Power BI and would like to share the work with my friends through my novypro profile. But in novypro, it asked me for the embedded url. As I am currently using my school mail id for all my Power BI works, I couldn't see the publish to web option in order to get the embedded URL.
In the other links I tried, I learned that I have to check with the tenant option under Admin Portal. But under Admin Portal I couldn't see anything like that and I have attached the image below.
Is there any other way to send our report to the external users?
The reason you can't see any other tenant settings in the Admin portal is that you are not an Admin. You need to ask an admin to allow you to publish to the web.
The Power BI admin portal has settings that control who can publish to
the web. Work with your organization's Power BI administrator to
change the Publish to web tenant settings in the admin portal.
For smaller organizations or individuals who signed up for Power BI,
you may not have a Power BI administrator yet. Follow our process for
admin takeover. Once you have a Power BI administrator, they can
enable creating embed codes for you.
Established organizations usually already have a Power BI
administrator. People in any of the following roles can act as a Power
BI administrator:
Global administrators Users with the Power BI service admin role in
Azure Active Directory You need to find one of these people in your
organization and ask them to update the Publish to web tenant settings
in the admin portal.
https://learn.microsoft.com/en-us/power-bi/collaborate-share/service-publish-to-web#find-your-power-bi-administrator
Alternatively you can sign up for your own Developer Tenant, which includes E5 so you can use Power BI there and have full control.
I am creating a power bi report with multiple tables sources from web and salesforce. when I publish the report and set schedule refresh, I was asked to update data source credentials. I have updated credentials for web data sources. but when i update credentials for salesforce, its giving me an error
I am able to validate the same credentials in power bi desktop and it works without any issue. but only on power bi service, I am getting this error. Not sure what could be the issue here. please help.
Go to Salesforce, find the connecting user and at the bottom there should be login history. Do you see any errors there? Maybe "Restricted IP" (ask your SF admin to check this user's profile & allowed login IP ranges), maybe "Security token required" (ask sf admin, there's something you need to append at the end of password)...
If your app uses "connected app" (set of OAuth2 keys) there might be some config in SF needed like "all users can self authorise" or add your server to list of allowed callback urls...
Access issues to Power BI report. User identity is different.
The one that says "Invitation accepted" can not access reports. The one that doesn't have that but says "Manage B2B collaboration" can view reports. What is the difference in these and has one been invited incorrectly? How do i fix?
Power BI integrates with Azure Active Directory Business-to-business (Azure AD B2B) to allow secure distribution of Power BI content to guest users outside the organization – while still maintaining control and governing access to internal data.
When you want to share a report with external user and if the user is not already a guest in your tenant, they are not invited, An email is sent to their email address that includes an invite to Azure AD b2b tenant.
the recipient will need ti accepts the invite to Azure AD and is added as a Guest user in Azure AD tenant
The recipient is then redirected to the Power BI dashboard, report, or app, which are read-only for the user.
Once the external user has been invited to access resources a shadow account may be created for them in azure ad.
The first time they try to access a resources like a Power BI dashboard, they go through a consent process, which redeems the invitation.if they do not complete the consent, they cannot access any content. If they have trouble redeeming their invitation via the original link provided, an Azure AD administrator can resent a specific invitation link for them to redeem.
Ask azure admin to resend the invitation link
Please refer this link
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.
Is the Power BI REST API only allowed to be called for accounts within the same organization of the application?
For example, in Azure I created a new Power BI app in the Azure Active Directory mycorp.onmicrosoft.com.
Then when using the API and redirecting the user to authenticate, it doesn't seem to work unless the user logs in as a user in the *#mycorp.onmicrosoft.com organization.
The error message is: Application with identifier '' was not found in the directory
I really hope this is not a limitation.
Coming back to this thread. You're right that today Power BI requires the user and the content to be in the same organization. We do not have cross tenant sharing yet (it's something we're looking into).