What is the main Ad's and Con's using MS Graph API vs MS Azure SDK - groovy

We have teh need to interact with our customers AD from Jira in order to handle automatically user onboarding.
For that we have 2 deifferent approach :
Using Microsoft Graph API
We call directly from Jira Script Runner plugin using groovy script POST and GEt methods, this directly within Jira environment
Using Microsoft Azure SDk for python
Using this approach will need to build a python script which is store in the dedicated location on the VM and calling that scrip from Jira using Groovy script
In the first approach we are using only 4 API call only for how request and we are all time scripting within Jira environement.
ON the second approach we need to deal with 2 types of script ( python and groovy)
Based on your advise, do you see what could be the best based on your experience in order to help me chose one or the other ?
Thanks for help
regards

See https://learn.microsoft.com/azure/active-directory/develop/active-directory-graph-api
We strongly recommend that you use Microsoft Graph instead of Azure AD
Graph API to access Azure Active Directory (Azure AD) resources. Our
development efforts are now concentrated on Microsoft Graph and no
further enhancements are planned for Azure AD Graph API. There are a
very limited number of scenarios for which Azure AD Graph API might
still be appropriate;
Hence I will suggest Microsoft Graph

I would follow up to Laurent, and say, the better solution is the solution that has the least amount of complexity while accomplishing everything you need to do.
In this case according to your own post, that is clearly just calling graph API directly from your groovy scripting in Jira.

Related

Azure Logic App - Built In vs Managed connectors

Apologies if this is a silly question but for the last 2 hrs. I have been reading about the difference between built-in and managed connectors for Azure logic apps and it's driving me crazy. Can someone please explain in simpler language? Initially, I thought built-in connectors are for Azure services like Azure function or table storage whereas managed are for Microsoft services like O365 & Sharepoint, but after going through the list of connectors on Microsoft documentation, its not true.
Is this tenant based? For example, built-in connector will only allow connecting to azure services in that tenant but if we need to connect to an Azure service in a different tenant, we need managed connector. Even if this is true, how can something like SMTP be an inbuilt connector?
Is the difference on the basis of authentication? The mechanism to authenticate is different for built-in / managed
I think there are some differences between the two under the hood regarding how they are hosted, but I don't know how much difference that makes for you as a user. You can read a bit more here.
However, the main difference that I have noticed and that makes me prefer the built-in connectors (when applicable) is how you can set up the authentication. Especially when trying to set up CI-CD for Logic Apps (and devloping locally in VS Code) this makes a big difference. For the managed connectors, a managed api connection is created in the portal and it's a nightmare trying to parameterize that when developing in VS Code and incorporating that to Devops-pipelines.
Built-in connectors run in the same platform where your logic apps is hosted whereas Managed connectors are hosted in public cloud. When you use built-in connectors the information configured for the connector will not be sent to public cloud for processing it will run natively in your Logic Apps. This makes it more secured. There are many differences for example authentication method, api connection file, and many more.

Get instances of running MS Flow Approval Workflow using Rest API

I am looking for APIs to get list of run instances of a workflow on SharePoint Online.
From Microsoft documentation I can get list of workflows in the tenant.
https://learn.microsoft.com/en-us/power-automate/web-api
I would like to get all running workflows of a particular workflow, not only assigned to me
As far as I am aware that Web API does not have an entity for the cloud flow runs (only the desktop flow ones, which is the flowsession entity).
However, you should still be able to use the Service.flow.microsoft.com approach.
For example Stefan Strube has a nice blog on how to create a custom connector for this:
https://2die4it.com/2020/07/08/custom-connector-to-get-flow-run-history/

Are there any examples of Authenticating a User against Windows Azure Rest API without certificates

According to the releases a few day ago by Scottgu, its now possible to use the windows azure management api without client certificates.
Are there any examples of doing this?
I have a Azure Cloud Service Package that I would like to let people deploy from my website. Therefore I would like to, from javascript, to authenticate the user to their Azure subscription ( some oauth against the WAAD ) and then by rest api deploy my package for them.
I dont need a concrete examples, but just some pointers on how I could do this.
I dont want users to give me their passwords offcause, therefore i need some guidance on how I can do SSO of the user against WAAD/Windows Azure management api and from there use the access token to deploy the package.
As of today, the Service Management API documentation regarding this new authentication mechanism (http://msdn.microsoft.com/en-us/library/windowsazure/ee460782.aspx) is not updated. Since the new login mechanism is supported in PowerShell which is essentially a REST Wrapper over this API and is open source, one thing you could do is take a look at the source code of the Cmdlets on Github (https://github.com/WindowsAzure/azure-sdk-tools) to see how it is accomplished there and write something of your own (and share it here:)).

Is there a way to call Windows Azure Service Management REST APIs without writing program code

We are looking for a tool which can call Windows Azure Service Management REST APIs directly (i.e. without writing source code) so that operators can easily call them.
What we found so far is:
Fiddler cannot call them. [Source: Get Hosted service details with GET Request URI with fiddler ]
cURL can call them. [Source: http://social.msdn.microsoft.com/Forums/en-AU/windowsazuremanagement/thread/f1cf3322-a8e3-4179-a35e-6bfb2fd55075 ] So we now use cURL but cURL is a CUI program but GUI program is much easier for operators. And we need extra work to convert certificate (=.pfx) to .pem.
Windows Azure PowerShell Cmdlets ( http://wappowershell.codeplex.com/documentation ) is also one of our options now but it is much better if we can call REST APIs directly. The reasons are 1)testing purpose. Some time we want to call REST API, not wrapped one. 2)There is some time lag before the Cmdlets implement REST APIs. (If I remember correctly, when Storage Analytics was introduced we need to call REST API to use it. But there was no Cmdlets at that time.)
How about using the BURP Tool? Burp is a great Java based tool to use REST API directly in the GUI. You can use Burp tool to setup the PFX certificate used with Azure Management and then just type REST API and parameters to send request and get response.
You can download the tool below:
http://portswigger.net/burp/proxy.html
I tested the tool today and then written the following blog to explain how to configure Burp to Manage Windows Azure subscription and services using REST API.
http://blogs.msdn.com/b/avkashchauhan/archive/2012/05/16/windows-azure-management-using-burp-java-based-gui-tool-and-rest-api.aspx
In addition to Azure Powershell Cmdlets, check out Cerebrata's Powershell Cmdlets # http://cerebrata.com/Products/AzureManagementCmdlets/

Azure - Self service user creation

I am designing / building a solution, in order to learn Azure.
First requirement is that users should be able to register themselves, login and have a change password / forgotten passord functionality.
Is there some standard functionality that gives this? For example is it included in ASP.Net MVC2, and will that run on the current version of Azure?
If there is standard functionality for this, where will the data be stored? Is Azure SQL a requirement.
Have a look at the standard asp.net MembershipProvider and RoleProviders, you can use these out the box, or created custom providers to implement this functionality using your own storage/architecture.

Resources