Automating Power BI License Assignment with C# - azure-active-directory

I'm creating an automated process, so I create a new List item in SharePoint, then I use MS Flow to trigger my API to invite user to my Azure AD organization. Now I need to assign Power BI license to this new user.
Is it possible to assign Power BI license using Power BI API?
P.S. I found the way to assign PBI license but using PowerShell, but I can't use PowerShell in my case.

The assign license method of MS Graph API might help. Triggering from flow should be possible as well. Hope this helps.

Related

How to limit the access of an Azure Active Directory User so that they can only use PowerBI?

I have created a number of new users in AAD but it's for the sole purpose of accessing Power BI. I don't want them to be able to use Outlook, Sharepoint or ANY other resource/application.
Is there a way I can configure this in AAD? Ideally using a group setting so that it applies to all users in the group.
Create a group, add the users into the group.
When you assign O365 subscription to the group, only select Power BI license.
Don't assign other licenses to them. Except for Power BI, they cannot use other resources.
You can also assign the Power BI license one by one.

Separation of internal and external users in Azure AD, but allow all to use Power BI Premium

Currently my team and I have a client that is using Power BI Premium.
We need to have Row Level Security enabled for both internal and external users.
We gave a recommendation to have Azure AD groups handle user management, but the client does not want to have all of there internal and external users be shown in their Azure AD. They believe it will be unmanageable for them. They want us to recommend another way to be able to manage internal users in Azure AD and have all external users managed in Azure AD, but completely separated from internal users, or by some other user management service that Azure provides. All the while, remaining in the same tenant since it seems the Power Bi Premium license can only be associated to one tenant and being able to have Row Level Security implemented for both internal and external users.
Is this possible? If so, how can we do it?
Thank you all for your time and help.
as per microsoft, https://learn.microsoft.com/en-us/power-bi/admin/service-admin-azure-ad-b2b
as far as I'm aware, the ideal way to share power bi with external users like that is this is to through azure b2b. which means you will have them as a guest user in your azure tenant. the second they are a guest in your tenant, that means they are on the list in your azure ad Users. which has advantages, their activity is trackable, reportable etc.
Our organizations has 10s of thousands of user accounts in our azure ad tenant, it doesn't make it any less manageable. just use the search bar or the filters, I'm not sure what the issue would be that makes it unmanageable.
if the requirement is secured power bi sharing,
you're better off trying to understand why your client thinks its unmanageable and help relieve their fears.
the only other option that I can see is, if you don't want to see external users, then you could use power BI embedded to embed power bi reports in a different web app that you create, and allow access to the webapp. but then you will have to deal with all the user level management stuff in code.
here's an article: https://medium.com/bi-helper/power-bi-embedded-report-distribution-to-external-users-1cf46fe1303b
hope this helps a bit.

How to change/update dataset source file?

I'm searching for a solution to change dataset source data in power bi. I want a scriptable way using C# to update datasets, and make it use another specific local file, using the Power BI rest API. Any help?
Don't do this! Power BI REST API work with Power BI Service, which is in the cloud, and it will be a challenging task to give it access to files on your local drive!
Your problem (as asked in your other question) is that you are skipping layers from the recommended data warehouse architecture and try to combine them all in Power BI only. Just put these files somewhere in the cloud (Azure Data Lake, Azure SQL Database, OneDrive for Business, etc.) and use them as a datasource for your reports. You can also put them in a database on-premise and use Power BI Gatawey to connect to it from Power BI Service. See Get data from Comma Separated Value (.CSV) files. This will give you the flexibility to push data the way you want, even to clean up the historical data that you don't need anymore.
If you need to be able to programatically switch the data source for your report, then you can define it with parameters (e.g. ServerName and DatabaseName) and change their values using the REST API. See Power BI Introduction: Working with Parameters in Power BI Desktop —Part 4 for more details how to implement connection-specific parameters.
To answer this, there is indeed a way, and it's by setting up the file source as a parameter in the power query.
All I do after is using the API to Updated this parameter.

Synchronize AD attributes with Dynamics 365 System Users

I have an online instance of Dynamics 365 v. 9.0 with its basic OOB configuration. I need to synchronize a set of attributes from my local Active Directory users to Dynamics 365 system users entity. For this purpose, there aren't any logon or identity requirements between AD and CRM. The only need is to sync specific attributes like position of the user in the organization hierarchy.
Can I accomplish that without developing code?
You'll need an app that runs from your local network, since it will probably be difficult to configure any sort of cloud-based solution like Microsoft Flow or Zapier to talk to your local AD.
I'd recommend using Data Sync Studio from Simego (http://www.simego.com) for a code-less solution. It is a Windows program that would run from your local desktop or Windows server. It can connect to AD and Dynamics Online.
If this is a one-time migration, the trial version would probably work for you. If it is an ongoing synchronization, they have a server product that will run your sync jobs on a schedule.
Disclaimer: I am not affiliated with Simego in any way - I just like their product for things like this. :)

Dashboards with Sharepoint WSS?

I'm in a position of evaluating products / approaches to build Business Intelligence Dashboards on top of Sharepoint WSS (no MOSS at this stage). Does anyone have any suggestions where would be a good place to start?
The BI platform is currently built on SQL Server 2005 / SSIS / SSRS and we're currently investigating adding SSAS to the mix so we're very Microsoft centric at the moment.
Thanks,
Steve
Perhaps this article on how to build dashboards with SSRS/Sharepoint: Building a Dashboard in SQL Server Reporting Services.
In my experience building a dashoard with SSRS/SharePoint is mostly a function of the quality of the talent involved, not the tools. SSRS and Sharepoint are both quircky, but they can get the job done out-of-the-box.
We succesfully built a WSS based BI tool for our product. The biggest challenge for us was to get delegation of security to pass through from the browser to WSS to SSAS to utilise SSAS role security to make sure the one client could'nt possibly see another's.
I'd agree with the previous comment about quirckyness; we have had to develop a fair amount of technique / supporting code for things like casading parameters behaviour's in the report viewer etc.
Best of luck - it does work if you stick with it; our customers love the portal and it will get better with the advances in Sharepoint foundation 2010.
There is a company in Chicago ( DMC - www.dmcinfo.com/sharepoint ) who has SharePoint Dashboard solution that integrates with a variety of data sources (e.g. Dynamics, CRM, Goldmine, QuickBooks, SharePoint Lists, etc.). It works with both WSS (free SharePoint) and MOSS (premium SharePoint). You may want to try asking them.

Resources