Overview: If I use a connection in a Canvas App, the signed in user uses their own permissions and the connector as as the signed in user.
Problem: I wish to run a flow as a specific user and not the users calling the flow from the Canvas app.
Hypothesis: I wish to call logging connector into Log Analytics, so I have created a flow, If I use the Power Apps V2 connector, it offers and option to run in another users context.
Resolution: Open the Workflow, ensure you are using the Power Apps V2 trigger, then...
Here I use the Scopes to perform a Try Catch finally set of logic
Tip: most people tend to use a custom connector to push the error message into a function from the Workflow, the function app uses the App Insights SDK and logs the workflow error.
Simple C# code to write to App Insights using the SDK. 
#r "Newtonsoft.Json"
using System.Net;
using Microsoft.AspNetCore.Mvc;
using Microsoft.Extensions.Primitives;
using Newtonsoft.Json;
public static async Task<IActionResult> Run(HttpRequest req, ILogger log)
{
    string requestBody = await new StreamReader(req.Body).ReadToEndAsync();
    dynamic data = JsonConvert.DeserializeObject(requestBody);
    int eventId = data?.eventId;
    string errType = data?.errType;
    string errMsg = data?.errMsg;
    string correlationId = data?.correlationId;
    string workflowId = data?.workflowId;
    string workflowUrl = data?.workflowUrl;    
    string flowDisplayName = data?.flowDisplayName;
var custProps = new Dictionary<string, object>()
{
    { "CorrelationId", correlationId},
    { "WorkflowId", workflowId},
    { "WorkflowUrl", workflowUrl},
    { "WorkflowDisplayName", flowDisplayName}
};
using (log.BeginScope(custProps))
{
    if (errType=="Debug") { log.Log(LogLevel.Debug, eventId, $"{errMsg}");  }
    else if (errType=="Trace")  {  log.Log(LogLevel.Trace, eventId, $"{errMsg}");   }
    else    { log.LogInformation($"Event is {eventId}, type is {errType}, and msg is {errMsg}");}        
};
    string responseMessage = $"This HTTP triggered function executed successfully. {errType} - {errMsg}";
    return new OkObjectResult(responseMessage);
}
More Info:
Reza Dorrani has a great recording showing running Power Automate flows using elevated/shared accounts.
 
 

