Update: Oct 2019. Managing IdentityNow Applications is now easier using the SailPoint IdentityNow PowerShell Module.
The SailPoint IdentityNow Request Center comes pre-populated with 130 Applications (as shown below) that by default are visible to users in the Dashboard and can be requested via the Request Center. Whilst this is great the majority are not often applicable and you need to configure each individual application to remove visibility and requestablity. You could of course ask your IdentityNow Support representative to do this for you, or you could manage it yourself. Lets go with option B and I’ll show you how.
To disable visibility of an Application, and to also remove it from being requested through the Request Center there are two options that need to be toggled off. Enabled For Users, and Visible in the Request Center.
Say you want to remove all from being visible and requestable. You will need to open each app, toggle the slider and the radio button and select save. That’s a minimum of 4 mouse clicks and some mouse scrolling x 130, or do it via the IdentityNow API in < 60 seconds. Option B please.
Retrieving Applications
The URI to return all IdentityNow Applications is
https://$($orgName).api.identitynow.com/cc/api/app/list
Before you can call that URI you will need to be authenticated to IdentityNow. Follow this post and make sure you have the headers in the WebSession configured with the Bearer Access Token.
Then using PowerShell you can return all Applications with;
$appList = Invoke-RestMethod -Uri $appListURI -Method Get -WebSession $IDN
If you want to find a single app, find it by name using Select-Object | Where-Object
$myApp = $appList | Select-Object | Where-Object {$_.name -eq "New York Times"}
The Application PowerShell Object for the New York Times looks like;
id : 24184 appId : 11 serviceId : 32896 serviceAppId : 24184 name : New York Times description : American daily newspaper appCenterEnabled : False provisionRequestEnabled : False controlType : PERSONAL mobile : True privateApp : False scriptName : C:1-new-york-times status : ACTIVE icon : https://files.accessiq.sailpoint.com/modules/builds/static-assets/perpetual/identitynow/icons/2.0/n ytimes/ health : @{status=HEALTHY; lastChanged=1539766560496; since=0; healthy=True} enableSso : True ssoMethod : PASSWORD hasLinks : True hasAutomations : True primaryLink : https://myaccount.nytimes.com/auth/login primaryMobileLink : https://myaccount.nytimes.com/mobile/login/smart/index.html?EXIT_URI=://mobile.nytimes.com/loginRet urnthUK?url=/?redir_esc= stepUpAuthData : stepUpAuthType : NONE usageAnalytics : False usageCertRequired : False usageCertText : launchpadEnabled : False passwordManaged : False owner : dateCreated : 1522393052000 lastUpdated : 1539766536000 defaultAccessProfile : service : New York Times selectedSsoMethod : PASSWORD supportedSsoMethods : 2 authenticationCookie : [] directoryPassword_supported : false none_supported : true passwordReplay_supported : true proxy_supported : false saml_supported : false wsfed_supported : false accountServiceId : -1 launcherCount : 0 accountServiceName : accountServiceExternalId : accountServiceMatchAllAccounts : True externalId : passwordServiceId : -1
Removing Applications from User Visibility
Let’s remove all Applications from user visibility (and the Dashboard). The process is simply to retrieve all Applications, then update each one to toggle off the options for visibility. The following script does just that.
After updating each app the Request Center is empty. Much quicker than hundreds of mouse clicks.
Summary
With the ability to retrieve Applications and update them via the API repetitive configuration becomes super quick.