Sailpoint IdentityIQ: Bulk User Creation Plugin

Bulk User Creation Plugin in IdentityIQ

Introduction

A plugin is a tiny piece of software that extends the functionality of an Application or Computer program.

The IdentityIq Plugin Framework is an protract framework model for IdentityIQ.It allows third parties to develop affluent application and service-level amplification to the core SailPoint IdentityIQ. It enables plugins to extend the excellence in user interface, deliver custom REST endpoints, and to deliver conventional background services.

In the following presentation, I will be providing a brief introduction of IdentityIQ Plugins:

Plugin Versioning Requirements

Plugin version numbers must be numeric, denote the parts of the version number with decimal points, and not contain any alphabetic or other characters in order to better facilitate upgrading plugins.
Leading zeroes will be removed from each segment of the version number, and the values between the decimal points are converted to integers.

For example:
06 and 00006 are both interpreted as 6
A segment containing any non-numeric values is interpreted as 0
7.009.alpha is parsed as 7.9.0
5.7.8a is parsed as 5.7.0

Plugin Object Model

The Plugin XML object, which specifies the plugin’s constant, describes a plugin in IdentityIQ. REST resources, Snippets, and settings are a few examples of features. The manifest.xml file contains the definition of the Plugin object. This file is necessary for plugin.

The XML object known as the Plugin Object defines the plugin’s feature. By binding them as attributes of a Plugin Object, this object informs IdentityIQ about the facets that are present in your plugin. You can also specify information about the plugin in the Plugin Object, such its name, the privileges needed to use it, its version, snippets, and REST resources. Use the advanced plugin settings to define a form or to refer to a specific plugin configuration file for more complicated plugins that need support for several field types and more dynamic behavior, such as drop-down lists or password fields. Depending on past selections, dynamic behavior can involve showing or hiding other fields.

For Example: In contrast to when the user picks basic authentication, it could be more acceptable to display an access token field when the user selects o-auth authentication.

Plugin Settings

Attributes that can be changed during installation are known as plugin settings. To view the configuration options page, click Configure. Forms are used to display the settings. The form is generated automatically if the plugin does not use its advanced options.
On the plugin settings page, the settings from the manifest file are shown in alphabetical order.
A single setting on a plugin’s configuration settings page can be represented by the Plugin setting object. On the settings page, each object serves to represent a single customizable setting.

Developing Plugins

IdentityIQ stores the .zip archive file of the Plugin in the IdentityIQ database in the spt_file_bucket table. The data in the spt_file_bucket table is a referenced ID to an entry in the spt_persisted_file table.

After establishment or amid an application server restart, plugins are stacked from this.zip file. All consequence files are taken from the.zip file and cached for ensuing utilization. The cached files can be gotten to using a assortment of accessor ways, but they can moreover be retrieved by utilizing

the URL prefix /identityiq/plugin/pluginName taken after by the way indicated within the construct structure. The PluginClassLoader lesson is utilized to stack and cache compiled Java classes from the.zip file.

Example Plugin Directory Structure:    

Bulk User Creation Plugin

This is a custom plugin built by ENH iSecure for creating Identities through SailPoint IdentityIQ and Provision the following identities to the requested Applications in IdentityIQ

A User like a manger level will have a Privilege to request for Bulk User Creation, once a .csv file is Uploaded in UI page by the following user and if the users request gets Approved a bulk number of identities will be created in Sailpoint IdentityIQ and the following identities provisioning takes place on the identities joining dates for the Requested Applications and following Email notification follows with respective action steps.

In the following video, I will be providing a detailed demo on IdentityIQ custom Plugin (Bulk User Creation)

SAP HR & ECC Source Integration

SAP is one of the world’s leading producers of software for the management of business processes, developing solutions that facilitate effective data processing and information flow across organizations.

SAP software provides multiple business functions with a single view to the entire data. This helps companies better manage complex business processes by giving employees of different departments easy access to real-time insights across the enterprise.

SAP solutions are classified into 6 core products as listed below.

In the below video, we are going to see the SAP HR/HCM source and SAP ERP Core Component (ECC) source integration in SailPoint IdentityNow.

SAP HR system integration.

SAP HCM solution is used to streamline the HR process and create a people centric organization.

SAP HR/HCM system that we are integrating in SailPoint IdentityNow will be the truth source from which identity governance is managed.

SAP ECC system integration

SAP ECC is the ERP system that integrates information from one SAP system to another system in real time, this helps companies better manage complex business processes by giving employees of different departments easy access to real-time insights across the enterprise.

As a result, businesses can accelerate workflows, improve operational efficiency and raise productivity.

By integrating SAP ECC to SailPoint IdentityNow, Identity access management and governance will be simplified.

Use cases.

On demand access request: User can request access based on requirement from request center.

Separation of Duties: Whenever user request for conflicting access SoD policy violation check will happen and warn the approver that approving access will violate SoD policy.

Leaver Scenario: When user lifecycle state is changed to terminated the end target applications access will be disabled.

Certification campaign: To certify user is having right access certification campaign can be configured and can be certified by user’s manager or source owner or a specific individual.

In the below video, we are going to look at a demo of above specified integrations and use cases.

Event Triggers

Event triggers is an extensibility feature recently released by sailpoint which enables us to integrate identitynow with third party applications. Event triggers follows an event based architecture towards integration.

IdentityNow has many even triggers which capture the events internal to IdentityNow. This can be related to various IdentityNow internal processes like aggregation, provisioning, access request etc.

In response or action to an event, Event triggers have a capability to communicate with external applications. This response can happen via webhooks or AWS event bridge.

If webhook is configured as an action for the event trigger, respective HTTP APIs will be called.

If an AWS event bridge is configured for the event trigger, an event can be setup to be captured on an AWS event bridge.

Types of Event Triggers

REQUEST_RESPONSE

This type of trigger is used to give the custom application an ability to answer back to a trigger event sent by the trigger service. This integration is bi-directional. A response from the custom application is required for a trigger invocation to be considered complete and successful.

FIRE_AND_FORGET

This type of trigger is used to notify the custom application of a particular occurrence of an event. This integration is uni-directional. Trigger invocation is successful the moment the trigger service notifies the external application, and it does not require a response from the custom application.

IdentityNow has a set of event triggers that you can configure to connect to web hooks in third-party systems.

Available Event Triggers

In below presentation we will be viewing the concept of event triggers in brief.

Use Case:

Let us see a real time use case for this.

Below is the workflow representation.

In below video we will be demonstrating the real time implementation of event triggers.

References:

https://developer.sailpoint.com/triggers/getting_started.html

Segments Image

SailPoint IdentityNow : Segments Feature

Introduction

Access requests is a feature in SailPoint IdentityNow using which the users gain ability to make a manual request for access that they need.

Segments feature released by SailPoint IdentityNow is  promoting zero trust in the enterprises. Using this feature, request center items will be made available to the users only on a “Need to know” basis.

For example, a user from IT department is able to see Jira, Bitbucket, Administrative / Privileged access across applications like Active Directory, ServiceNow and various other applications in the request center. For a user from Marketing department, the above access is not relevant and with segments, we are abstracting those items. The relevant access for marketing users would be Salesforce CRM and the same will be visible for the users.

In the presentation below, we will be discussing about segments feature in detail :

In the below video, we will provide a practical demonstration on how to configure segments, how it affects the end user perspective using a practical use-case :

Advantages

  1. Limit end user visibility for applicable access
    • Only the access that is applicable for a subset of identities and relevant for them is displayed using segments. This helps in avoiding the confusion in finding the right role/access profile while making an access request.
  2. Reduce incorrect access requests
    • End users shall not make any incorrect access requests because the only access items that they’ll see in the request center are already fine tuned and configured according to the organizational requirement.  
  3. Limit accidental provisioning
    • If presented with a lot of access items, users might request for something that they don’t need. This can be avoided by creating and assigning users to their respective segments based on certain criteria.
  4. Reduce cost of software licensing
    • Due to accidental access provisioning, users might be consuming additional licenses for access that they do not need which is a major costing risk. This can be avoided by configuring segments.

References

TopicURL
Segments Documentationhttps://documentation.sailpoint.com/saas/help/requests/segments.html?h=segmen
Segments REST API referencehttps://developer.sailpoint.com/apis/beta/#tag/Segments

SailPoint IdentityNow: Connector Rule API’s

Extensibility of services using vast API collections is sign of a true SaaS solution. SailPoint IdentityNow has recently released few APIs which allow us to upload our own connector rules required for app integrations.

Rule

In IdentityNow, Rules are the configurations which are used to provide additional flexibility where needed. Rules are basically developed using a scripting language called Bean Shell, it is a lightweight scripting language whose syntax is similar to Java.

Based on Execution type rules are divided into two types:

Cloud ExecutionConnector Execution
1)The Rules which are executed in the IDN tenant cloud are called Cloud Execution Rules.
1)The Rules which are executed on virtual Appliance (on premise) are called Connector Execution Rules.
2)There will be a review process for cloud rules to ensure any submitted Cloud Rules meet SailPoint requirements and doesn’t contain code that could harm the system and the only way to upload the rule is through SailPoint.2)Connector Rules are usually extension of the connector itself. These rules are mainly used to implement pre-processing of data and post-processing of data and to manipulate, merge or otherwise transform the incoming data as it’s being read

Rule Deployment Process

As-Is Process

In As-Is Process for deploying Connector Rules on the tenant developer should follow the below steps:

  1. Rule needs to be developed as per the requirements.
  2. Developed rule shall be submitted to SailPoint Expert services for review.
  3. Post review, rule will be uploaded on to the tenant.
  4. In case of any changes required the rule shall be resubmitted to the SailPoint Expert Services.

To-Be Process

In To-Be process the rule can directly be deployed to the IDN tenant using APIs. In case of any changes required/delete the developer can directly use these APIs and make required changes instead of going through tedious process like earlier.

Advantages and Limitations

Advantages

  1. Easy to Deploy – They are Easy to deploy on to the tenant compared to the entire previous process
  2. Faster deployment of rules – Rules will be deployed on the tenant instantly using APIs where old process used to take a minimum of 24hrs
  3. Low Cost from SailPoint Expert Services – Compare to previous methodology, deploying connector rules using APIs has minimal involvement from Expert Services.
  4. Rework is Faster – In case of any changes rather than repeating the entire process, rework is quicker using these APIs.
  5. Faster Integrations – Using APIs, the overall application integrations are faster.

Limitations

The only limitations for these APIs are that these APIs support only connector rule types, but not for the cloud rules as of now.

Connector Rule Rest API Operations

SailPoint Provides us with six APIs to perform connector rule operations mentioned below:

GET, LIST, CREATE, UPDATE, DELETE, VALIDATE are the APIs that are currently used for connector rule operations. A token with ORG_ADMIN authority is required to perform any operation.

Detailed documentation on connector rules APIs can be found here:

https://developer.sailpoint.com/apis/beta/#tag/Connector-Rule-Management

In the following presentation, I will be providing a detailed overview of Rules and Connector Rule APIs

In the following video, I will be providing a detailed demo of the Connector Rule APIs and their operations

SailPoint IdentityNow: Extensibility Feature Integration for Access Requests

Each progressing year, IT is getting more and more complex. Organizations keep growing and subsequently more and more people come into the organization each with their own needs. These users are then provided with their own levels of access to resources. The problem that arises here is that the growing mess of systems and user access management.

IdentityNow is an IDaaS (Identity as a Service) based IAM solution, unlike IdentityIQ which is on-premise. IdentityNow also helps people get the access that they need and manage the lifecycle around it. The current blog discusses the extensibility features announced by SailPoint. These features will help make security decisions on the go very effectively.

In the following presentation, I will be providing a detailed overview of Extensibility Feature Integration with IdentityNow for Access Requests.

Overview of Extensibility Features :

Users at an enterprise level are distributed among different geographies of the world. SailPoint’s access request integration with applications such as Microsoft Teams and Slack enable the users to get the access that they need right from the tool that they use the most. SailPoint also ensures that the appropriate governance and compliance controls are enforced while providing ease of access to the users while making access requests.

Current Access Request Process :

To briefly understand the current access request process in IdentityNow below is an illustrative diagram:

Roles in IdentityNow combine provisioning to multiple sources by combining different access profiles. However, for access requests, roles can be marked as “requestable”. By doing this, the roles are then visible in the Request Center tab in IdentityNow. We can have approvals in place for this role such that any user who requests for this role, will by routed through an approval process.

Applications in IdentityNow have their own XML structure with their own password policies and account creation restrictions. For the approvals, we can define the approval hierarchy in Access Profiles itself. Once the application has been created, it should be marked as ‘visible in request center’ and ‘allow access requests’.

Users have to login to their IdentityNow tenant with their credentials. They navigate to Request Center tab to see “Applications” and “Roles” where they can make an access request from either of these. Both Roles and Applications facilitate provisioning to the target source using Access Profiles.

Applications and Integration Overview :

  1. Microsoft Teams

Microsoft teams is a chat-based collaboration platform from Microsoft. With capabilities such as documents sharing, online meetings, teams and channels, online video calling and screen sharing, messaging and many more extensible features for business communication. It is extremely user friendly and can facilitate a work environment between remote users and large businesses. Below are the benefits from this integration:

  • Ease of making access requests from within the Teams Application.
  • Users can request either for a Role or Application depending on the business needs.
  • This integration ensures seamless user experience for making access requests.

Below is the process followed post the integration with MS Teams:

  • Users will login to their Teams application using their Office365 account.
  • A SailPoint chatbot is configured which appears in the Applications tab.
  • Connect to your IdentityNow tenant and click on “Create Access Request”.
  • Find and select the Application/Role to request.
  • Select the role for himself or for others.
  • Submit the request.

2. Slack

Slack is workspace alternative communication tool just like teams which combines the functionalities for messaging, tools and files. Users can communicate over channels or Direct Messages based on their requirement and it has support for third-party application integrations and add-ins. Although the application is free to use with certain limitations, there is an enterprise level application as well. Below are the benefits from this integration:

  • Ease of making access requests from within the Slack Application.
  • Users can request either for a Role or Application depending on the business need.
  • This integration ensures seamless user experience for making access requests.

Below is the process followed post the integration with Slack:

  • A user will login to their Slack application using their work email and authenticating from it.
  • A SailPoint chatbot is configured which appears in the Applications tab.
  • Connect to your IdentityNow tenant and click on “Create Access Request” by entering a forward slash in the SailPoint’s chatbot.
  • Find and select the Application/Role to request.
  • Select the role for himself or for others.
  • Submit the request.

Access Request : From an API perspective

  • This integration is achieved using REST API’s. REST stands for Representational State Transfer.
  • It is an architectural style for the web services.
  • This architectural style helps in lesser use of bandwidth to make an application more suitable to communicate over the internet.
  • It is often regarded as the language of the internet.
  • The primary methods that the REST APIs communicate are
    • Create – POST
    • Read – GET
    • Update – PUT/PATCH
    • Delete – DELETE
  • SailPoint has developed the REST API’s for IdentityNow. The reference documentation is available at developer.sailpoint.com
  • Please note that the {api-url} below is the org name of your IdentityNow tenant.
  • The primary APIs that are used behind this integration are:
    • List of access request objects: Returns a list of requestable items for an access request.
      • GET – https://{api-url}.api.identitynow.com/v3/requestable-objects
    • Create an access request: Submits an access request to IdentityNow. This will not return any result because the request has been submitted by the system. If there are more than one identity for the access request, the JSON payload will contain a list of id’s for each identity.
      • POST – https://{api-url}.api.sailpoint.com/v3/access-requests
    • Get the access-request status: Returns a list of access request statuses based on the specified query parameters.
      • GET – https://{api-url}.api.identitynow.com/beta/access-request-status

In the following video, I will be providing a detailed demo of the access request integration with Teams and Slack.

Sailpoint IdentityIQ: Object Exporter Script

Introduction:

SailPoint IdentityIQ is a J2EE Application that is built on top of Hibernate object-relational model. All the Dev Artifacts are Java Objects represented in XML. The current blog discusses the script which helps in

  1. Migrating Artifacts to higher environments
  2. Migrating standard libraries

Working:

Below are the steps describing working of the script:

  1. The script will export objects from one IdentityIQ Environment through console attached to the instance (Console is a command line utility to each identityIQ instance provided).
  2. Script will perform necessary processing on the exported objects and prepares to be imported to the Target Environment.
  3. The Objects will be imported into the Target Environment through console attached to the instance.

Usage:

  1. Configure the Config.xml file provided with the following parameters
    1. Export Console Path
    2. Import Console Path
    3. Required Objects
  2. Run the script provided.

Below is the Demo on Exporter script:

SailPoint IdentityNow SSO integration with Okta

Okta is the leading solution for user authentication and single sign-on (SSO) for workforce as well as customer identities. Okta is capable of managing SSO to wide range of applications along with multi-factor authentication, directory integrations and lifecycle management from the cloud.

SailPoint IdentityNow is a cloud based identity and access management solution which aims to provide identity-as-a-service. IdentityNow enables a complete set of IAM capabilities delivered from the cloud to manage hybrid IT environments that include on-premises and cloud resources. IdentityNow supports SAML based Single Sign On. SAML is an open standard which allows an identity provider (like Okta) to pass on authentication information to a service provider (like IdentityNow).

In the following demonstration, we take a look at the SAML integration of IdentityNow with Okta for Single Sign-on. We will also go over the Active Directory integration in Okta and how this can be backed by IdentityNow’s lifecycle management.

SailPoint IdentityIQ QuickBooks ERP Integration using Dell Boomi as Middleware

In recent years, we’ve witnessed a rapid shift from on-premise applications to a hybrid mix of SaaS (software-as-a-service), iPaaS (Integration Platform as a service) and on-premise applications, as well as integration between various cloud providers and platforms. Very Soon Everything is going to be connected to Cloud and data . All this is going to be mediated by a software(Middleware).

Amidst such scenarios , It is essential for the need of a software to bridge the gap between applications and other tools or databases. It is effectively a method of communication and data management between applications that would otherwise not have any way to exchange data — such as with software tools and databases. 

Dell Boomi AtomSphere is an on-demand multi-tenant cloud integration platform for connecting cloud and on-premises applications and data. The platform enables customers to design cloud-based integration processes called Atoms and transfer data between cloud and on-premises applications. Dell Boomi specializes in cloud-based integrationAPI management and Master Data Management

QuickBooks is an accounting software package developed and marketed by Intuit and are geared mainly toward small and medium-sized businesses and offer on-premises accounting applications as well as cloud-based versions that accept business payments, manage and pay bills, and payroll functions.

The following is the demonstration of steps for Integrating  SailPoint IdentityIQ QuickBooks ERP using Dell Boomi as Middleware.

SailPoint IdentityIQ SSO Integration with Okta

You have to admit that there are many people who change their password to ‘incorrect’ .That way it always reminds them whenever they enter a wrong password – “your password is incorrect” . Also a survey stated more than 78% of people tend to forget their latest passwords within 21 days of inactivity .

Amidst such scenarios , securing and monitoring the access for any external users like partners, contractors and customers who have access to organizational resources have always been a challenge for many organizations thereby increasing the demand for a centralized login system. Single sign-on (SSO) is an authentication process that allows a user to access multiple applications with one set of login credentials. 

Okta is the one of the leading provider for user authentication and standards-based single sign-on (SSO) for employee, partner and customer identity types. Okta supports and manages SSO for the enterprises with wide range of applications thereby providing a single secured centralized login system.

SailPoint IdentityIQ  supports Single sign-on as one of its supported login configurations . The SSO is based on the SAML protocol which is a standard protocol for the SSO and other security assertions.

In this blog we are going to take a look at the integration of SailPoint IdentityIQ with Okta for Single Sign on.

The following presentation discusses in detail about the integration between SailPoint IdentityIQ and Okta.

The following is the demonstration of steps for configuring Okta as an Identity Provider for SailPoint IdentityIQ