ROADtools
ROADtools copied to clipboard
[Policies Plugin] Unsupported criterium type "ServicePrincipalFilterRule"
Hi dirkjanm!
I ran into a little issue when trying the policies plugin:
roadrecon plugin policies -p -d roadrecon.db
...
####################
My Policy Name
97e32d76-dbc0-4cfe-b088-9f37b18743e9
{ 'Conditions': { 'Applications': {'Include': [{'Applications': ['All']}]},
'Locations': { 'Exclude': [ { 'Locations': [ '044cb1b4-75cc-4b71-9f78-094873583a10']}],
'Include': [{'Locations': ['All']}]},
'ServicePrincipals': { 'Include': [ { 'ServicePrincipalFilterRule': 'CustomSecurityAttribute.WorkLoadIDAttributeSet_OnlyStr '
'-eq '
'"yes"'}]},
'Users': {'Include': [{'Users': ['None']}]}},
'Controls': [{'Control': ['Block']}],
'CreatedDateTime': '2024-01-12T20:47:23.9093005Z',
'EnforceAllPoliciesForEas': True,
'IncludeOtherLegacyClientTypeForEvaluation': True,
'ModifiedDateTime': '2024-01-12T21:38:52.4687518Z',
'State': 'Enabled',
'Version': 1}
Traceback (most recent call last):
File "/home/silver/.local/lib/python3.12/site-packages/roadtools/roadrecon/plugins/policies.py", line 190, in _parse_ucrit
objects = funct[ctype](clist)
~~~~~^^^^^^^
KeyError: 'ServicePrincipalFilterRule'
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/home/silver/.local/bin/roadrecon", line 8, in <module>
sys.exit(main())
^^^^^^
File "/home/silver/.local/lib/python3.12/site-packages/roadtools/roadrecon/main.py", line 130, in main
plugin_module.main(args)
File "/home/silver/.local/lib/python3.12/site-packages/roadtools/roadrecon/plugins/policies.py", line 671, in main
plugin.main(args.print)
File "/home/silver/.local/lib/python3.12/site-packages/roadtools/roadrecon/plugins/policies.py", line 526, in main
out['who'] = self._parse_who(conditions)
^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/silver/.local/lib/python3.12/site-packages/roadtools/roadrecon/plugins/policies.py", line 371, in _parse_who
ot += self._parse_ucrit(icrit)
^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/silver/.local/lib/python3.12/site-packages/roadtools/roadrecon/plugins/policies.py", line 192, in _parse_ucrit
raise Exception('Unsupported criterium type: {0}'.format(ctype))
Exception: Unsupported criterium type: ServicePrincipalFilterRule
I'm going to holidays now but I may work on a PR later to add this criterium to the plugin