Hello. I have been absolutely banging my head at this, and i cannot for the life of me find any way to resolve this.
i am trying to get authorization policies working for my dashboard. I have been using a heavily customized version of DUD Dashboard as a framework for running the dashboard.
however, i’ve basically stripped everything out of that that i can possibly think of, and no matter what i do, absolutely no authorization policy works on any page or any element whatsoever.
This includes quite literally just using:
New-UDAuthorizationPolicy -Name “Admins” -Endpoint {return $True}
And a page that is using:
New-UDPage -Name $PageName -AuthorizationPolicy “Admins” -Icon home -Endpoint {
I have the following in my logs for any element that has any policy assigned:
18:14:57 [Debug] AuthorizationService TryRunClaimsAuthorization
18:14:57 [Debug] AuthorizationService Session ID: de3fa485-48e1-4215-b079-cc2c1c7a612b
18:14:57 [Debug] AuthorizationService No valid authorization policies for session.
18:14:57 [Debug] AuthorizationService No valid roles for session.
18:14:57 [Debug] AuthorizationService Setting access and ID token.
18:14:57 [Debug] AuthorizationService Checking page Home.
18:14:57 [Debug] AuthorizationService Authorization policy result: False
The policy is very much loading according to the logs:
18:14:51 [Debug] EndpointService Register() Admins
18:14:51 [Debug] EndpointService Unregister() Admins
Though, I’m not sure why every policy shows registr, then unregister. Is this normal, or potentially related? I have scoured every post on this forum related to authorization policy issues. I’m stumped.
I am using a script that is loaded under endpoint initialization, which takes a pair of JSON files and loads them into the $Cache. These are for two functions - one contains a list of page names, and within those items an array containing a list of group names, IE “Admins”, “Users”. The second contains a list of those group names, and an item within that contains the SID of the AD group that we want to associate with this. But regardless, that is somewhat unrelated as I am literally not able to use policies that return true without any checks.
I am running on UD Dashboard 2.9.0.
Server is Windows Server 2016, running IIS 7.
I am not enabling windows auth, as this causes authentication prompts in the browser and as we are using Azure AD instead of integrated windows (my company requires that the dashboard is backed by MFA), but had read that for some reason this would be needed?
Additionally, it seems that I am getting the following error with DCOM (this is “runtimebroker”) when the dashboard is started:
Log Time: 7/1/2020 6:14:44 PM
The application-specific permission settings do not grant Local Activation permission for the COM Server application with CLSID
{D63B10C5-BB46-4990-A94F-E40B9D520160}
and APPID
{9CA88EE3-ACB7-47C8-AFC4-AB702511C276}
This seems to happen right before I get this in my debug logs:
18:14:53 [Fatal] Microsoft.AspNetCore.Hosting.Internal.HostedServiceExecutor An error occurred starting the application
any ideas?
I’ve been meaning to re-visit mine for some time now but never really got around to it as I can live with how it works. The script block I’m building when my authorization policies are built is essentially hardcoded sids at that point, but your way is better in that respect so I may have a look at switching to a cache variable - I’m not sure why I did it the way I did, maybe i thought that cache wasn’t addressable at that point. I think I once asked adam in this forum if there was a way to manipulate the auth policies after the dashboard had started and he pointed me in a direction that might be possible, I just never got around to test, unfortunately I do all this at work and my todo list is only getting longer and longer so typically if its an improvement and not a requirement it gets left for a while… If i can find the post i’ll link it here.