Simplifying Salesforce Access with Okta SSO Integration 

  • Introduction
  • Pre-Requisites
  • Usecase Overview – Integration flow
  • Technical Demonstration
  • Conclusion
  • Reference Links

In today’s fast-paced business environment, manually logging into multiple App’s can be a tedious and time-consuming process, especially when dealing with multiple accounts or complex password policies. Moreover, security risks associated with password-based authentication can put your organization’s sensitive data at risk. 

That’s where Okta Single Sign-On (SSO) comes in, a solution that streamlines App access, boosts productivity, and fortifies security. By integrating Okta SSO with multiple App’s like Salesforce, Slack, LinkedIn, etc.., organizations can provide teams with seamless, one-click access to the platform, while maintaining the highest levels of security. 

In this blog, we’ll explore the benefits of using Okta SSO with Salesforce and provide a step-by-step guide on how to set up and configure this powerful integration. 

  • An account with Super Admin role privileges 
  • Salesforce Org with system administrator privileges 
  • Custom Domain: acme 

Please refer to the below video to have an understanding about Okta & the use case around integrating Salesforce with Okta.

Here’s the technical walkthrough on the integration and provisioning between Salesforce & Okta.

In conclusion, integrating Okta with Salesforce has significantly streamlined the users access to the platform. With Okta’s Single Sign-On (SSO) capabilities, users can now seamlessly log in to salesforce without remembering multiple passwords, reducing login times and increasing productivity. The integration backed up with Okta’s Sign-On policies, enhances organization security posture by providing an additional layer of authentication, ensuring that only authorized personnel can access sensitive customer data. By streamlining Salesforce access with Okta, we have improved user experience, increased efficiency and strengthened security, ultimately driving business growth and success. 

Okta Docs | Setup SSO for Salesforce

Okta Docs | Adding Salesforce to Okta 

Microsoft 365 SSO Integration using Okta

  • Overview
  • Prerequisites
  • Usecase Overview – Integration flow
  • Technical Walkthrough
  • Conclusion
  • Reference Links

Most of the organizations, rely on Microsoft Active Directory Services or LDAP for a centralized store for identities & access permissions. Majority of the on-prem applications rely on these services to authenticate and authorize the actions. But with the cloud-based application, where the applications would have their own identity profiles to manage the application it is challenging for the administrator to manage the user accounts & it would be challenging for the end user too to use multiple identities for multiple applications.

Okta provides a solution to utilize the existing Microsoft Active Directory Services / LDAP services to access the SaaS applications through Active Directory / LDAP integration. This allows a single dashboard for the users to access the applications using their existing credentials and for administrators a centralized service to handle the lifecycle management.

In this section, we will integrate an existing on-premises Active Directory to Okta and let Okta provision the user accounts for us in Microsoft 365 tenant.

For simulating this in our lab environment, we’ll need to have access to 3 entities & few prerequisites.

  • Okta Tenant.
  • Member Server for Okta Active Directory Agent Installation.
  • Microsoft 365 tenant.
  • An account with Super Admin role privileges.
  • The host server should have at least two CPUs and a minimum of 8 GB RAM.
  • Host server running Windows server 2016 & above is supported.
  • .NET framework 4.6.2 and above is supported.
  • Host server should be a member server part of the same domain.
  • Okta agent installation wizard should be executed from host server.
  • Microsoft 365 tenant name – This is the default tenant name registered as “comanyname.onmicrosoft.com”
  • Microsoft 365 domain – This is the custom domain which is chosen for federation.
  • Microsoft 365 global administrator user account.

Please refer to the below video to have an understanding about Okta & the use case around integrating Office365 with Okta.

Here’s the technical demonstration on the integration between Office 365 & Okta.

On a closure note, with all the steps carried out in this blog it is fair enough to say integrating Okta with Active Directory & Office 365 eases the overhead of IT administrators for access management and provisioning happening through Single Sign-on. With this integration in place, IT administrators can manage the user assignments & modifying the attributes from Okta and the replication will happen to AD & Office 365 tenant.

Okta Docs | Configure Single Sign-On for Office 365

Okta Docs | Active Directory integration

SailPoint Identity Security Cloud Transforms

Introduction

SailPoint Identity Security Cloud Transforms are configurable objects that allow us to manipulate attribute data while aggregating from or provisioning to a source. Sometimes transforms are referred to as Seaspray, the codename for transforms. Identity Security Cloud Transforms and Seaspray are essentially the same.

As we can see from the below diagram, we will be providing input to transform, transformation occurs and output will be returned. So, the way transformation occurs depends on the type of operation used. Some of the transform operations are Concatenation, Conditional, Date Format etc.

Transform REST APIs

In order to create the transform, get transform details, update transform or delete any tranform, we can make use of REST APIs available for transforms.

There are 5 REST APIs are available for transforms in V3 and Beta APIs.

Rest APIsDescription
List TransformsList Transform API is used to get list of all available transforms from the tenant
Create TransformCreate Transform API is used to create a new transform and upload it into the tenant.
Transform by IDTransform by ID is used to get the details of a particular transform.
Update TransformUpdate a transform API is used to update any existing transform.
Delete TransformDelete transform API is used to delete any transform using transform ID.

Transform Operations:

In order to make use of transform according to the use case, we should understand various transform operations that are available.

Below are the various types of operations that are available in transform. Each of these operations performs specific task, we can use them according to our needs.

Transform OperationDescription
Account Attribute TransformAccount attribute transform used to look up an account for a particular source on an identity and return a specific attribute value from that account. 
Base64 Decode TransformThe base64 decode transform allows you to take incoming data that has been encoded using a Base64-based text encoding scheme and render the data in its original binary format.
Base64 Encode TransformBase64 transform will take an input, this input is given to base64 encode transform and the encodes string is returned as output.
Decompose Diacritical Marks TransformDecompose diacritical marks transform to clean or standardize symbols used within language to inform the reader how to say or pronounce a letter.
E.164 Phone TransformUse the E.164 phone transform to convert an incoming phone number string into an E.164-compatible number.
Identity Attribute TransformTransform is used to get the users identity attribute value.
Lower TransformThis transform is used to convert input string into lowercase character.
Upper TransformThis transform is used to convert input string into uppercase characters.

In below series of 4 videos, we comprehensively cover all the details around the transforms including basic syntax of transforms, APIs around transforms and all the types of transforms.

Transforms Series – Video 1 of 4:
Below video is the first video in a series of 4 videos about transforms. This part contains an introduction to transforms, syntax of transform, types of Inputs, REST APIs and API Responses.

Video:

Transforms Series – Video 2 of 4: Below video is the second video in a series of 4 videos about transforms. This part contains use cases, transform operations like account attribute transform, base64 decode transform, base64 encode transform, concatenation, conditional, date format, date math, date compare, decompose diacritical marks, first valid, generate random string

Video:


Transforms Series Video 3 of 4:
Below video is the third video in a series of 4 videos about transforms. This part contains about transform operations like  get end of string, get reference identity attribute, identity attribute, index of , ISO3166, last index of, left pad, look up lower, name normalizer, random alphanumeric, random numeric

Video:

Transforms SeriesVideo 4 of 4:
Below video is the fourth video in a series of 4 videos about transforms. This part contains about transform operations like reference, replace all, replace, right pad, rule, split, static, substring, trim, upper, username generator, UUID generator

Video:

SailPoint IdentityNow Rules

INTRODUCTION:

  • Generally we write Rules when the required goal cannot be achieved by using transforms.
  • It is a Code based Configuration option.
  • A flexible framework that allows for very advanced or complex configurations.
  • You can just think of it as basically just writing Java code.
  • Technically it is Bean Shell however, it is much similar to Java, such that if you are familiar with Java, you will be familiar with Bean Shell.
  • Just like with transforms, the use cases drive the need for a rule and thus we have many different rule types.
  • Rules are very powerful but due to the IdentityNow architecture there are some special considerations regarding rules.
  • Essentially, rules must be very high-quality code because they are being deployed into a multi-tenant service.

Rule Execution :

There are two primary places where you can execute rules one is CLOUD EXECUTION RULE & other one is CONNECTER EXECUTION RULE .

Let us have an overview on the difference between the cloud rules & connector rules

Cloud Executed rules are running in the cloud within the Identity Now tenant. Connector rules run on the virtual appliance which is on-premise inside the customer’s data center

Cloud Execution Rule :

  • Cloud executed rules, as the name implies, are executed within the Identity Now multi-tenant environment.
  • They typically have independent functions for a specific purpose.  For example, calculating an Identity attribute value.
  • Cloud executed rules typically need to query the Identity Now data model in order to complete their work.
  • The rule might need to guarantee uniqueness of a value and it would generate a value and query Identity Now to determine if that value already exists.
  • Access to any Identity Now data is read-only and you can’t make any calls outside of Identity Now such as a REST API from another vendor service.
  • Because they run in a multi-tenant environment,  the are put in a very restricted context and there is a great deal of scrutiny taken during the required review process for rules.
  • We will cover the review process that is required when a cloud-executed rules is submitted later in the presentation.
  • Of course, this all makes sense as you cannot allow rules to effect other tenants if they are poorly written.
  • You also have to restrict the rules context so they can’t access any data from another tenant and things along those lines.

Connecter Execution Rule :

  • Connector executed rules do not run in the cloud which is fairly obvious based on the name.
  • These rules instead run on the VA itself. So they are running in the customers data center and therefore they are not running side by side  with services from another tenant.
  • They are usually extending the connector capabilities. The functions that they perform are quite complex.
  • They do NOT have access to the Identity Now Data Model because they are executing on a virtual appliance.
  • The huge difference here is that they are not subject to a review process by SailPoint. These rules can be uploaded via the REST API and are significantly easier to work with. With that said you still want these rules to be well written.
  • The simple fact is that the possible negative effect of a poorly written connector rule is limited because it is not running within the Identity Now tenant.

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.

Rule Examples

Example usage:

  • Calculate complex identity attributes. 
  • Calculate complex account attributes. 
  • Provide connector logic

Connector rule Example – If there is a requirement to disable the account based on the number of entitlements or the account should be disabled automatically based on role revocation, this can be achieved by writing a connector rule

Cloud rule Example– This can be used for generating a unique email id which can scan the existing email id’s and generate a unique id for every joiner.

Please subscribe to our social media and stay updated with latest technology content. Thanks you.

Workday Integration with SailPoint IdentityIQ

Workday Introduction

About Workday: Workday is a powerful cloud-based ERP platform that helps businesses streamline their financial and human resource process. 

Benefits of Workday:

  1. Workday is a human resource management system that helps companies with everything from hiring and onboarding to monitoring performance and keeping track of time and attendance to processing payroll.
  2. Resource Management
  3. Talent Management
  4. Recruiting
  5. Payroll
  6. Big Data Analytics

Integration of Workday with SailPoint IdentityIQ:

Here, Workday application is integrated with SailPoint using Workday connector. You can have an overview of the connector documentation in the following link- SailPoint IdentityIQ Workday Connector.

The Workday Connector supports the following operations:

  • Account Aggregation (Full and Delta)
  • Update: Email, Phone, User ID (Internally mapped to username), Custom attributes

Let us have a quick overview on the presentation covering the Integration.

SailPoint’s Workday solution extends a deep level of management on your Workers, Contingent workers and Worker Accounts present in Workday HCM. It offers the seamless automation of your Joiner, Mover and Leaver use cases where you can manage the complete role base access control from single place with unlimited custom schema support.

Integration server: Workday is designed as a web service platform that is heavily into SOAP (Simple Object Access Protocol). The integration server is responsible for translating the SOAP into anything that might need integration and performs, generates reliable delivery.

By integrating SailPoint IIQ with Workday, organizations can automate and simplify employee onboarding and onboarding in minutes.

Let us go through the demo which covers the entire Integration of Workday with SailPoint

SailPoint Identity IQ Automation Testing

Introduction:

Automation testing refers to the testing of the software in which tester write the test script once with the help of testing tools and framework and run it on the software. The test script automatically tests the software without human intervention and shows the result.

 Prerequisites for Automation:

Programming Language: As selenium support 14 different programing language Ex: java, python, Ruby, JavaScript, R. we can chose anyone but, I have chosen java.

Integrated Development Environment (IDE): Install an IDE such as Eclipse, IntelliJ IDEA, or Visual Studio Code to write and manage your Selenium scripts. i have used Eclipse

Java Development Kit (JDK): If you are using Java, you need to install the Java Development Kit (JDK) on your system.in my case I am using jdk 21 but we can use any version which is above 1.8, Since selenium 4th version has stopped supporting JDK 1.8 or below version.

  1. Automation Testing Framework: we can choose any of the testing framework like TestNG, or Junit for java language. 
  2. Automation Testing Tool: We can use selenium, Appium, or similar tools based on the application type (Web, Mobile, etc)

I am using selenium because I am automating web page.

Let us walkthrough the Presentation for the same in the below link

  • Version control system: Git is commonly used for source code version control, which we have used for the demo
  • Build Tool: we can choose maven or Gradle for java project. I have used maven for demo
  • Continuous Integration server: I have used Jenkins

Tools used for Automation testing:

Eclipse:

Eclipse is a digital workspace for automation testing. It’s a special software that makes creating and running automated tests easier. It is used by testers because it’s super flexible and works with different programming languages. It helps in writing, organizing, and running tests for finding problems or bugs in software.

    Selenium:

    Selenium is an Open source, It Supports multiple languages like java, python, Ruby. Scripts can be run on Multiple browsers like Chrome, Firefox, IE, Microsoft Edge. It supports Multiple operating systems like Linux, Windows, MacOS. It can be integrated with third party applications like TestNG, Cucumber.

    TestNG:

    TestNG is a testing framework used with Selenium for automating tests. It allows for organizing test cases, running tests in a specific sequence. It offers annotations to manage test execution flow, such as @Test for defining test cases, @BeforeMethod and @AfterMethod for pre and post-test setups, and @DataProvider for parameterization. The combination of Selenium and TestNG helps in efficient and structured automation testing, enabling testers to create, manage, and execute test cases reliably. Generates HTML reports showing test execution details.

    Please find the below video which covers the entire demo on how automation works in SailPoint IIQ.

    Advantages of Automation testing:

    1. Efficiency: Automation testing can execute repetitive and complex tasks faster than manual testing.
    2. Accuracy: Automated tests perform the same steps precisely every time, reducing the chance of human errors.
    3. Reusability: Test scripts can be reused across different phases of development and in various testing scenarios.
    4. Faster Feedback:  Automated tests provide rapid feedback on the software’s stability and functionality.

    SailPoint IdentityIQ Custom Connector

    Introduction

    Connectivity is critical to successful IAM deployments. SailPoint is committed to providing design, configuration, troubleshooting and best practice information to deploy and maintain connectivity to target systems. SailPoint IdentityIQ enables you to manage and govern access for digital identities across various applications in your environment. Connectors are the bridges that IdentityIQ uses to communicate with and aggregate data from applications. SailPoint IdentityIQ provides a wide range of OOTB connectors that facilitate integration with variety of systems, applications and data sources. These connectors are designed to simplify the process of managing Identity information and access across different platforms.  

    In SailPoint IdentityIQ, a Custom Connector is a specialized integration component that allows the IdentityIQ platform to connect and interact with external systems, applications, or data sources that are not supported by the standard OOTB connectors. Custom connectors extend the capabilities of IdentityIQ by enabling it to manage identity-related information in a wider range of systems. 

    High level architecture of Custom connector 

    Custom Connector Development

    Developing Custom connector in SailPoint IdentityIQ involves creating a Java-based implementation that adheres to the connector framework and API provided by SailPoint.  

    This allows you to define the interaction between IdentityIQ and the specific external system you want to integrate with. A typical development of custom connector includes 4 steps – 

    1. Creating a new implementation of functionality and packaging it into JAR file. 
    • The custom connector uses the openconnector framework provided by SailPoint in the openconnector package where there are lot of methods provided for different type of operations.  
    • The custom logic which you want to implement using this custom connector shall be developed in the specified methods.  
    • Once code development is completed, Custom connector code with all the classes must be compiled and packaged to a JAR file.  
    • And the JAR file must be placed in WEB-INF/lib folder of IIQ Installation directory 
    1. Defining Connector type in Connector Registry 
    • Connector Registry is an XML file present in IdentityIQ as Configuration object. This file contains the information about all the different connectors and their related details.  
    • Now that we have created a new connector in our IdentityIQ, we have to declare its information and details in Connector Registry.  
    • Here we will create an xml file consisting of the details pertaining to our custom connector. Once we Import this xml file into IdentityIQ, it will be merged with the existing Connector Registry file in IdentityIQ database allowing IdentityIQ to create a new entry in the list of connectors.  
    • Alternatively, the Connector Registry could be manually edited through the Debug page
    1. Defining .xhtml page which specifies required and optional connection parameters. 
    • Usually, some parameters are required to define the connection to the target resource (e.g. host, port, username, password, etc.).  
    • To allow these parameters to be specified through the UI for each application that uses this connector, an .xhtml page must be written to define how the Application Configuration user interface will request and record those parameters.  
    • This file must be placed in the [IdentityIQ Installation Directory]/define/applications/ directory and must be referenced in the application definition’s XML as the “formPath” entry.  
    1. Testing the connector by Creating an application which uses this connector. 
    • Finally, after completing all the development related activities, one must start the application server which is hosting IdentityIQ.   
    • An Application object must be created for using the IdentityIQ’s UI. Select the configured custom connector as application type to tie it to the connector registry configuration and specifying any connection parameters through the configuration. 
    •  Once the application is onboarded, we can perform all the configured functionalities in it and verify back the results within the targeted external application.  
    • Alternatively, Application connector can be tested from the integration console (run iiq integration from the [IdentityIQ Installation Directory]/WEB-INF/bin directory).  
    • This console can be used to test the various features of your connector including Aggregation and Provisioning

    The following presentation gives you clear understanding of custom connector development in detail.

    Now let’s have a demo on building custom connector, deploying it into SailPoint IdentityIQ and using it. 

    Please subscribe to our social media and stay updated with latest technology content. Thanks!

    SailPoint IdentityNow Workflows

    About SailPoint IdentityNow Workflows:

    IdentityNow workflows are a way to automate processes related to Identity Security Cloud. These processes when carried individually are manual, error prone and laborious in nature.

    Here are a few examples of the power of workflows.

    1. Design workflows that can handle a growing number of users onboarding requests, ensuring scalability as the organization hires new employees.
    2. Design workflow to raise tickets in ticketing system to automate the resolution of access-related issues reported by users, ensuring a streamlined process.
    3. Modify an existing workflow to include new steps for managing temporary access during a special project, adapting to changing business needs.
    4. Implement a workflow for access reviews that automatically identifies and revokes unnecessary access rights, ensuring that users only retain permissions relevant to their current roles.
    5. Streamline access request procedures including approval steps for access approval or modification.
    6. Send email alert when an identity changes group in end application.
    7. No human involvement while configuring and activating certification campaign when identity changes department and also send email alert to reviewer.

    In this video blog, we will be discussing about the IdentityNow workflows in detail. The following are the key topics that are discussed as part of the blog.

    1. Why SailPoint introduced Workflow in IdentityNow
    2. Available platforms in IdentityNow to build a workflow.
    3. General terminology and use of Inline variables
    4. Simulating and testing a workflow
    5. Migrate workflows between sandbox and production.

    The detailed discussion of Workflows, it’s terminology and configuration process are present in the following video.

    Detailed demo on developing & testing workflows in all 3 possible ways is present in the following video.

    Please subscribe to our socials and stay updated with latest technology content.

    SailPoint IdentityNow Automation Testing

    Introduction
    Automation testing refers to the testing of the software in which tester write the test script once with the help of testing tools and framework and run it on the software.
    The test script automatically tests the software without human intervention and shows the result.

    Prerequisites for Automation:
    To begin automation testing using Selenium, there are few prerequisites should have in place:

    1. Programming Language: Choose a programming language in which you will write your test scripts. Java, Python, C#, and Ruby are common choices for Selenium automation. You should have a good grasp of the chosen language.so we have chosen java.
    2. Integrated Development Environment (IDE): Install an integrated development environment (IDE) such as Eclipse, IntelliJ IDEA, or Visual Studio Code to write and manage your Selenium scripts. We have chosen Eclipse as IDE platform.
    3. Java Development Kit (JDK): If u opt for Java, you’ll need to install the Java Development Kit (JDK) on your system.
    4. Selenium WebDriver: Download the Selenium WebDriver for your preferred programming language. You can add the WebDriver libraries to your project using build tools like Maven.
    5. Web Browsers: Make sure you have the web browsers you intend to automate (e.g., Chrome, Firefox) installed on your system.
    6. Web Drivers: Selenium interacts with browsers through web drivers. You should have the appropriate web drivers for the browsers you plan to test with (e.g., Chrome Driver, Gecko Driver). These should be downloaded and configured. Ensure that your chosen IDE is integrated with the Selenium WebDriver, making it easier to write, run, and debug test scripts.
    7. Test Framework: Select a test framework such as TestNG or Hybrid. Test frameworks help structure your tests and provide reporting capabilities.

    By meeting these prerequisites, you’ll be well. prepared to start automation testing using Selenium and create efficient, maintainable, and effective test scripts.

    The following below video showcases a small presentation on automation testing:

    Tools used for Automation testing.

    1. Eclipse:
      Eclipse is a digital workspace for automation testing. It’s a special software that makes creating and running automated tests easier. It is used by testers because it’s super flexible and works with different programming languages. It helps in writing, organizing, and running tests for finding problems or bugs in software, making sure everything works smoothly.
    2. Selenium:
      Selenium is an Open source, It Supports multiple languages like java, python, Ruby. Scripts can be run on Multiple browsers like Chrome, Firefox, IE, Microsoft Edge. It supports Multiple operating systems like Linux, Windows, MacOS. It can be integrated with third party applications like TestNG, Cucumber.
    3. TestNG:
      TestNG is a testing framework used with Selenium for automating tests. It allows for organizing test cases, running tests in a specific sequence. It offers annotations to manage test execution flow, such as @Test for defining test cases, @BeforeMethod and @AfterMethod as you can see the highlighted point in the picture for pre and post-test setups, and @DataProvider for parameterization. This combination of Selenium and TestNG helps in efficient and structured automation testing, enabling testers to create, manage, and execute test cases reliably. Generates HTML reports showing test execution details.
    4. Maven:
      Maven is an open-source tool. Maven allows to download all the JARs and Dependencies and manage lifecycle for a Selenium Java project. This makes it easier for the QA to configure dependencies for Selenium Java by automatically downloading the JARs from the Maven repository.

    Advantages of Automation testing

    Efficiency: Automation testing can execute repetitive and complex tasks faster than manual testing.
    Accuracy: Automated tests perform the same steps precisely every time, reducing the chance of human errors.
    Reusability: Test scripts can be reused across different phases of development and in various testing scenarios.
    Faster Feedback: Automated tests provide rapid feedback on the software’s stability and functionality.

    Let us see how we can execute the test cases in the below video:

    SailPoint IdentityNow Event Triggers

    Introduction

    Event triggers is an extensibility feature released by SailPoint which enables us to integrate identity now with third party applications.

    Event Triggers: In SailPoint any action is performed like account aggregation, account created, source created, source deleted called events, based on this event we can perform any new action called event trigger. Based on the different events SailPoint provides the different event triggers to perform action in identity now. In SailPoint tenant we can see the available event triggers, based on customer requirement we can subscribe the event trigger.

    Types of Event Triggers:

    1. Response required: A response-required trigger enables two-way interaction between the subscriber and the trigger service. This trigger type waits for the subscriber to respond with instructions on how to carry out the event.
    • Fire and Forget: fire-and-forget event only support one-way communication with subscribers. Its only job is to forward all received events to each subscribing service. This trigger type doesn’t wait for a response from subscribers

    Available Event Triggers in SailPoint IdentityNow

    Now, let us go through a presentation on Event Triggers in SailPoint IdentityNow.

    Use Case

    • When target system is to create a request in ServiceNow instance when user is terminated from organization.
    • We can track user status based on Identity attribute cloud Lifecycle state.
    • We can use Identity attribute change event trigger and create a request in service now instance.
    • Whenever an Identity Attributes change on Identity.
    • It triggers to external system (Webhooks), when Identity attributes change.

    Now, let us go through a demo on Event Triggers in SailPoint IdentityNow.

    Filtering Events

    A filter refers to a mechanism that allows to specify criteria for selecting or excluding certain identity or access-related information. 

    Benefits of using Filtering

    By using filters, you can reduce the number of events that trigger actions. This minimizes unnecessary processing and resource consumption, making our implementation more efficient.

    Constructing a Filter

    Event trigger filters are constructed using a Jayway JSONpath expression.