Hi ISC Community,
Use Case: Cybersecurity want to be able to add users to a role which will Block IT access & then they also want to be able to remove users from that role. This will be adhoc as a reactive process.
This use case does not intend to disable accounts to block IT access, it intends to assign groups to a user in downstream systems via a role, these groups will have conditional policies applied to prevent assigned users from authenticating to specific systems.
Add Access = Sorted, can be done via requestable role > assigns entitlements and limit requestors to cyber via segments
Remove Access = Not sorted, hoping to pick your brains on how we could do this.
My current thinking is I have an interactive form (which I can limit to Cyber via entitlement access) that allows them to select a user to unblock via a dropdown (which runs a search query against the role to determine the options). Then feed the user info into a workflow and action it from there. However, running into a few hurdles:
-
Get Identity from interactive form seems to fail, I am fairly certain it’s because the form data is sending through the displayname of the user and the get identity needs the ID. Can anybody offer a potential workaround to this?
-
Assuming 1. gets sorted, how do I create a workflow that will only remove a specific role from an identity (or, vice versa).
- Thinking either http call to do a patch request to remove user from role, but having issues there on API Patch Role - Semantically Invalid
- Or, create a campaign and revoke the role, but the create campaign workflow action seems limited. Identity cert will review all the users access and an access cert reviews all of the identities assigned to the role (opposed to just the one selected in the form originally by Cyber).
Appreciate any help you could give. Cheers
Form:
Get Identity Workflow Step:
Get Identity Workflow Step Error:
{“displayName”:“Get Identity”,“input”:{“id":"[email protected]”,“method”:“GET”,“path”:“v3/identities/[email protected]”,“service”:“mice”},“stepName”:“getIdentity”,“task”:“sp:get-identity”,“technicalName”:“Get Identity”}
{“attempts”:1,“displayName”:“Get Identity”,“stepName”:“getIdentity”,“task”:“sp:get-identity”,“technicalName”:“Get Identity”}
{“displayName”:“Get Identity”,“error”:"request failed (type: Bad Request, retryable: false): 404 - 404 Not Found: ",“stepName”:“getIdentity”,“task”:“sp:get-identity”,“technicalName”:“Get Identity”}