yannick-beot-sp / vscode-sailpoint-identitynow

Visual Studio Code extension for SailPoint IdentityNow
MIT License
40 stars 17 forks source link

How to add multiple entitlements using bulk Role import #96

Open Imi-Sultan opened 4 weeks ago

Imi-Sultan commented 4 weeks ago

Describe the bug Hi there. Not yet sure if this is a bug as I might be doing this wrong. How do we add multiple entitlements in the same Role using the 'Import Roles CSV' option in VS Code?

What I've already tried In the entitlements cell in the CSV file, each of the below have been tried on their own: •SourceName|entitlement1;SourceName|entitlement2 •"SourceName"|"entitlement1";"SourceName"|"entitlement2" •SourceName|entitlement1;entitlement2 •[SourceName|entitlement1;SourceName|entitlement2] •SourceName|entitlement1,SourceName|entitlement2 •SourceName|entitlement1|SourceName|entitlement2

To Reproduce Steps to reproduce the behavior:

  1. Click on 'Import Roles CSV' next to 'Roles'
  2. Select the relevant csv file
  3. See error '0 line(s) processed. 0 successfully import. 0 error(s)

Expected behavior Message saying 'Successfully imported role [Role name]'. As well as the Role being created in the tenant with multiple entitlements added as access

Screenshots If applicable, add screenshots to help explain your problem.

Environment 20241031_214149

Logs [Extension Host] > RoleImporterTreeViewCommand.execute console.ts:137 [Extension Host] > RoleImporter.importFile log.ts:439 ERR ENOENT: no such file or directory, open 'C:\dev\null': Error: ENOENT: no such file or directory, open 'C:\dev\null' notificationsAlerts.ts:42 0 line(s) processed. 0 sucessfully import. 0 error(s). c @ notificationsAlerts.ts:42 (anonymous) @ notificationsAlerts.ts:28 B @ event.ts:1242 C @ event.ts:1253 fire @ event.ts:1277 addNotification @ notifications.ts:228 notify @ notificationService.ts:253 (anonymous) @ mainThreadMessageService.ts:86 f @ mainThreadMessageService.ts:51 $showMessage @ mainThreadMessageService.ts:45 S @ rpcProtocol.ts:458 Q @ rpcProtocol.ts:443 M @ rpcProtocol.ts:373 L @ rpcProtocol.ts:299 (anonymous) @ rpcProtocol.ts:161 B @ event.ts:1242 fire @ event.ts:1273 fire @ ipc.net.ts:652 l.onmessage @ localProcessExtensionHost.ts:378 console.ts:137 [Extension Host] Governance Group Cache stats {hits: 0, misses: 0} console.ts:137 [Extension Host] Identity Cache stats {hits: 0, misses: 0} console.ts:137 [Extension Host] Access Profile Cache stats {hits: 0, misses: 0} console.ts:137 [Extension Host] Source Cache stats {hits: 0, misses: 0} console.ts:137 [Extension Host] Entitlement Cache stats {hits: 0, misses: 0}

IMG-20241031-WA0027

Additional context I can successfully import a Role with just one Entitlement.

yannick-beot-sp commented 4 weeks ago

I found this error no such file or directory, open 'C:\dev\null' super weird. Here is the content of a working example (for my environment):

"name","description","enabled","requestable","owner","commentsRequired","denialCommentsRequired","approvalSchemes","revokeCommentsRequired","revokeDenialCommentsRequired","revokeApprovalSchemes","accessProfiles","entitlements","membershipCriteria"
"Vendeur agence2","",true,false,"se.admin",false,false,"",false,false,"","","Active Directory|Qlik-Vente-Lecture;Active Directory|Qlik-Vente-Agence","identity.cloudLifecycleState eq 'active' and identity.jobTitle eq 'Vendeur agence'"

Can you make sure to:

In any case, if I have several roles to create, I create one in the UI, export the role in CSV and then, add the necessary lines by making modification to the CSV so I don't have to remember the syntax.