# SailPoint Identity Services
> SailPoint Identity Services Documentation
# Identity Security Cloud
# SailPoint Identity Services
Identity governance is about enforcing and maintaining least privilege access, where every identity has the access needed, when it’s needed. Explore the administrator help for our SaaS products to get the most out of your identity governance practice and meet your security and compliance needs.
We also provide [user documentation](https://documentation.sailpoint.com/saas/user-help/index.html) to support your non-admin users.
You can use the SailPoint Solutions Center icon in the upper-left corner to quickly access your other SailPoint products.
Access Requests
Access\
Certifications
Password\
Management
Provisioning
Separation of\
Duties
Recommendations
Access\
Insights
Access\
Modeling
Application\
Onboarding
Machine Identity\
Security
Agent Identity\
Security
Identity Graph
# Getting Started in Identity Security Cloud
Welcome to SailPoint!
To get the most out of SailPoint's SaaS offerings, review the following information about setting up your site for the first time.
Note
Identity Security Cloud is SailPoint’s next-generation identity security solution. It encompasses and builds on features and functions from IdentityNow. The product documentation covers both Identity Security Cloud and IdentityNow features.
## Register a Device
If you are signing into Identity Security Cloud using an identity provider (IdP) for the first time, you will be asked to configure an external authenticator immediately after signing in. This is a one-time requirement that will ensure you can access SailPoint if you need to bypass SSO, like with [emergency admin accounts](https://documentation.sailpoint.com/saas/help/setup/ea_admin.html).
Refer to [Registering a Time-Based One-Time (TOTP) Device](https://documentation.sailpoint.com/saas/help/common/strong_auth.html#registering-a-time-based-one-time-password-totp-device) for more information.
## Add Initial Administrators
Before you can begin setting up your site, you'll need one or more emergency access administrators.
- [**Updating Emergency Access Administrators**](https://documentation.sailpoint.com/saas/help/setup/ea_admin.html)
Emergency access administrators can sign in to your site even if your connectivity is interrupted, which allows them to make changes and troubleshoot your site to get it working again. When you're first given access to your new tenant, SailPoint has already created one of these administrators for you, which you'll use to sign in and add more admins.
## Load Data
Identity Security Cloud manages your identity and access data, but that data comes from sources. You can connect those sources to Identity Security Cloud and link together accounts that belong to the same person in the form of an identity.
- [**Identity Security Cloud SaaS Connectors**](https://documentation.sailpoint.com/connectors/isc/landingpages/help/landingpages/isc_landing.html)
If you want to upload data to Identity Security Cloud from a source without a virtual appliance cluster, use a SaaS connector.
- [**Create Virtual Appliances**](https://documentation.sailpoint.com/saas/help/va/get_started_va.html)
If you want to directly connect to any of your sources to load account data, you'll need a virtual appliance (VA). Virtual appliances allow you to connect your tenant to your sources without compromising your firewall.
### Create Identities
An identity serves as a way to store all of a user's account and access data in a single place.
- [**Create Initial Sources**](https://documentation.sailpoint.com/saas/help/sources/config_sources.html)
Many organizations have a few sources that, together, have records for every user in the organization. These might be HR or directory sources, and they should be created first so that their data is considered the highest priority. You can create other sources later.
Review our [supported sources](https://documentation.sailpoint.com/connectors/isc/landingpages/help/landingpages/isc_landing.html) so you can choose the best sources for your environment.
- [**Create Identity Profiles**](https://documentation.sailpoint.com/saas/help/setup/identity_profiles.html)
Creating an identity profile turns a source into an authoritative source. It also means that any accounts aggregated from this source become identities, and any other accounts aggregated for those users can be associated with their identities.
- [**Load Initial Accounts**](https://documentation.sailpoint.com/saas/help/accounts/loading_data.html)
Load accounts from those sources. This is also known as an aggregation.
### Load Other Account and Access Data
Once you've created the identities for your organization, you can add information about their other accounts and access.
- [**Create Additional Sources**](https://documentation.sailpoint.com/saas/help/sources/config_sources.html)
Configure connections to the rest of the sources in your environment and [load accounts](https://documentation.sailpoint.com/saas/help/accounts/loading_data.html) from those sources.
- [**Correlate Accounts to Identities**](https://documentation.sailpoint.com/saas/help/accounts/correlation.html)
Each account you aggregate can be associated with one of the identities you created earlier, so all of their accounts and access can be viewed in one place.
- [**Load Entitlement Data**](https://documentation.sailpoint.com/saas/help/access/entitlements.html)
Aggregate the access data from each of your sources so that those entitlements can be managed.
## Configure Security Settings
You'll want to make sure that every time an identity in your site signs in, they're the right person and they're allowed to do so. You can configure any or all of the following measures to help keep your site safer:
- [**Set Up Strong Authentication**](https://documentation.sailpoint.com/saas/help/common/strong_auth.html)
Strong authentication, sometimes called multifactor authentication, requires users to prove their identity before they can change their password.
- [**Configure Network and Location Settings**](https://documentation.sailpoint.com/saas/help/access/restrict_access.html)
You can block or allow users who are signing in from specific locations or from outside of your network.
- [**Configure Lockout Settings**](https://documentation.sailpoint.com/saas/help/setup/lockout.html)
Decide how many times a user can enter an incorrect password before they're locked out of the system.
- [**Configure Session Lengths**](https://documentation.sailpoint.com/saas/help/setup/lockout.html)
Decide how long a user can stay signed in to your tenant without reauthenticating, and how long they can be idle before they're signed out.
## Configure SailPoint’s Cloud Services
Now that the framework of your site has been set up, review the documentation about each cloud service you've subscribed to for more information about configuring each feature.
- [**Access Request**](https://documentation.sailpoint.com/saas/help/requests/index.html)
- [**Certifications**](https://documentation.sailpoint.com/saas/help/certs/index.html)
- [**Password Management**](https://documentation.sailpoint.com/saas/help/pwd/index.html)
- [**Separation of Duties**](https://documentation.sailpoint.com/saas/help/sod/index.html)
You can track the status of Identity Security Cloud and its services at [status.sailpoint.com](https://status.sailpoint.com/).
You can also review the documentation for some of SailPoint's other products that can be integrated with Identity Security Cloud.
- [**Access Risk Management**](https://documentation.sailpoint.com/access-risk-mgmt/help/)
- [**AI-Driven Identity Security**](https://documentation.sailpoint.com/saas/help/ai/index.html)
## Invite Users
Finally, if you've decided that your users should have access to your site to review certifications, manage their passwords, or complete other tasks, you can [invite them](https://documentation.sailpoint.com/saas/help/common/users/inviting_users.html) to Identity Security Cloud.
After you've completed your initial setup, you're ready to dive into the more detailed aspects of [managing identities](https://documentation.sailpoint.com/saas/help/identities/identity_mgmt.html) and [governing their access](https://documentation.sailpoint.com/saas/help/access/index.html).
## Using the Resource Center
The Resource Center provides a collection of resources to help administrators learn about, set up, and use the features and capabilities of Identity Security Cloud.
The **Resource Center** icon is displayed at the top right of the screen. Select the icon to open the Resource Center to:
- Access product documentation.
- View product tours with in-app guides for common features.
- Access the customer support portal to view knowledge articles and report issues with your service.
- Find announcements about new product updates. A badge is displayed when new announcements are available.
- View other helpful resources including service health status and training.
Tip
To dismiss the announcements badge, open the Request Center and view the product updates.
## Monitoring Your Tenant
Once your site has been set up, you can track the activity that takes place in your tenant in a variety of places.
You can review your options for monitoring your site's activity in [Audit Reports and Monitoring](https://documentation.sailpoint.com/saas/help/common/audit-reports.html).
Some basic information also appears on your [home page](https://documentation.sailpoint.com/saas/help/getting_started/dashboard.html).
## Viewing Organization Details and Licensed Features
Once your site has been set up, go to **Admin > System Settings > Product Licenses** to view licensing and organization details about your tenant, including:
- **Organization Details - Identities** - Lists the total number of identities permissible in the tenant. This includes identities in all [lifecycle states](https://documentation.sailpoint.com/saas/help/provisioning/lifecycle.html).
- **Organization Details - Org Name** - The identifier for your org. The org name is unique to your tenant.
- **Organization Details - Region** - The location of your org. Several individual orgs may share regions.
- **Active Licenses** - Lists all features licensed for use in the tenant. This includes enabled and disabled features.
- **Inactive Licenses** - List all features available in the tenant that are not licensed.
For more information about product licensing, including enabling additional features, contact your Customer Success Manager.
# Managing Dashboards
When you first authenticate into Identity Security Cloud, you see MySailPoint, a landing page where you can track important information about your account and tenant. The Home dashboard is displayed.
The Home dashboard is your default dashboard. All users have access to a personal Home dashboard that can be customized.
Refer to [Understanding Dashboards](https://documentation.sailpoint.com/saas/user-help/getting_started/dashboard.html) in the user documentation for more information about how non-admins can interact with their dashboards.
Administrators can create an additional personal dashboard to track important information. You might have access to additional personal or shared dashboards based on your [license](https://documentation.sailpoint.com/main_landing_page/customer_agreements.html).
What is displayed on each dashboard depends on the user's permissions and the type of dashboard.
| | Home | Personal | Shared |
| ----------------- | ------------- | ------------- | ---------------------------------------------------------- |
| Visible to Users | Tiles Widgets | N/A | Tiles Widgets, if the dashboard has been shared with them. |
| Visible to Admins | Tiles Widgets | Tiles Widgets | Tiles Widgets |
Caution
[Data segmentation](https://documentation.sailpoint.com/saas/help/segmentation/index.html) does not apply to the [Identity Graph](https://documentation.sailpoint.com/saas/help/identity_graph/index.html) dashboard widget. Users with access to the Identity Graph widget will be able to view all access objects and identities in your tenant, even if data segmentation is enabled.
## Using Personal Dashboards
You can add and remove widgets from all of your personal dashboards, including the Home dashboard.
You can also edit the tiles that are displayed on your Home dashboard.
Notes
- Tiles can't be added to personal dashboards besides the Home dashboard.
- End users can't see widgets on the Home dashboard or create additional personal dashboards.
You can move the tiles and widgets on all personal dashboards, including the Home dashboard. Drag and drop the widget or tile to where you want it to be on the page.
## Managing the Home Dashboard
When you first authenticate into Identity Security Cloud, the Home dashboard is displayed. This is a type of personal dashboard.
The Home dashboard is the default page users see when they initially sign in. Administrators can update the default Home Page available to everyone. Administrators can also customize the Home Page that displays by default to everyone, and all users can customize their view of the Home Page.
### Editing Your Home Dashboard
At the top of the dashboard, you can see a set of tiles representing basic information about your work in Identity Security Cloud.
Administrators can also see a set of widgets on your Home dashboard. These widgets contain details about the features you use in Identity Security Cloud. Widgets can contain actions you can take, a history of recent activity, or statistics about your tenant.
Administrators can edit their Home dashboards using the steps below. For more details about the customizations end users can make to their Home dashboards, refer to [Understanding Dashboards](https://documentation.sailpoint.com/saas/user-help/getting_started/dashboard.html).
Editing your personal Home dashboard doesn't change other users' dashboards. Refer to [Using Default Home Pages](#using-default-home-pages) for details on customizing the default home pages available to users.
Note
End users cannot see widgets on their Home dashboard.
You can add widgets and tiles to your Home dashboard to see the information most relevant to you.
1. From the Home dashboard, select the **Edit** icon .
The Home dashboard can't be deleted. Its name and description can't be changed.
1. On the **Available Tiles** tab, choose any additional tiles to add to your Home dashboard.
1. On the **Available Widgets** tab, choose any additional widgets to add to your Home dashboard.
Select a product name on the left side of the panel to review the widgets available with information related to each product.
Your changes are saved automatically as you edit the dashboard. You can see the widgets and tiles that you have added to the Home dashboard by selecting **Current Tiles and Widgets**.
When you are finished making changes, you can display this dashboard on MySailPoint by selecting **View**.
### Creating Personal Dashboards
You can create up to 4 custom personal dashboards.
Note
Only the Home dashboard can contain tiles.
**To create a new personal dashboard:**
1. On the Home dashboard, select **Dashboards**.
1. On the My Dashboards page, select **Create Dashboard**.
1. Enter a Name and Description for your dashboard.
1. Select **Save**.
1. Select **Continue**.
1. Select the **Add** button beside the widgets you want to add to this dashboard.
Select a product name on the left side of the panel to review the widgets available with information related to each product.
As you make your selections, your dashboard is saved automatically.
1. When you are finished adding widgets to your dashboard, select **View** to see the dashboard in its entirety.
You can change which dashboard you are viewing by selecting a dashboard beside Current Dashboard in MySailPoint.
### Viewing and Editing Personal Dashboards
You can view and edit the personal dashboards you've created.
1. From MySailPoint, select **Dashboards**.
1. Select **Edit** beside the dashboard you want to edit.
You can also select **View** to display the dashboard on MySailPoint, or select the **Delete dashboard** to delete any personal dashboard besides the Home dashboard.
1. Make any necessary changes to the details of the dashboard.
1. Select **Save**.
1. You can also add new widgets from the **Available Widgets** tab, or remove widgets on the **Current Widgets** tab.
Your changes are saved automatically as you edit the dashboard.
When you are finished making changes, you can display this dashboard on MySailPoint by selecting **View**.
## Using Default Home Pages
Default home pages are pre-configured dashboards available to users depending on their user level.
The following default home pages are available:
- **Home Page** - The default landing page for end users when they sign in, unless they have marked a different dashboard as a [favorite](https://documentation.sailpoint.com/saas/user-help/getting_started/dashboard.html#using-managed-dashboards).
- **Admin Overview Dashboard** - General information for administrators, with widgets that match the information found on the Admin Overview page. You can access this dashboard by [selecting](https://documentation.sailpoint.com/saas/user-help/getting_started/dashboard.html) it from the list of dashboards within MySailPoint.
You can customize what is displayed on your default home pages. Refer to [Using Your Home Dashboard](https://documentation.sailpoint.com/saas/user-help/getting_started/dashboard.html#using-managed-dashboards) for more information.
## Using Shared Dashboards
You can have up to 20 shared dashboards in your tenant. Shared dashboards are assigned to end users through an entitlement associated with the dashboard.
Shared dashboards can be accessed and edited by any administrator.
### Creating Shared Dashboards
Shared dashboards can be assigned to end users to give them access to important information.
**To create a shared dashboard:**
1. On the Home dashboard, select **Dashboards**.
1. Select **Shared Dashboards > Create Shared Dashboard**.
1. Enter a Name and Description for your dashboard.
1. Select **Save**.
Identity Security Cloud begins generating an entitlement for this dashboard so that it can be shared. This might take several minutes.
1. Select **Continue**.
1. On the Available Widgets page, select **+ Add** beside the widgets you want to add to this dashboard.
1. When you are finished adding widgets to your dashboard, select **View** to see the dashboard in its entirety.
The dashboard has been created and it can be [shared](#granting-access-to-shared-dashboards) with other users once its associated entitlement has been created.
### Granting Access to Shared Dashboards
To grant end users access to a shared dashboard, assign them the entitlement that was generated when the dashboard was first created.
Note
All users that are granted the entitlement associated with a dashboard can see all widgets contained in the dashboard, regardless of their user level.
The entitlement is given the same name as the dashboard. This can be edited later. The entitlement can also be accessed from the Shared Dashboards list by selecting **View Entitlement** beside the dashboard.
Users can be assigned this entitlement in any way that entitlements are granted. For example:
- The entitlement can be added to an access profile that is marked as [requestable](https://documentation.sailpoint.com/saas/help/requests/config_ap_roles.html#configuring-access-profiles-for-requests), and users can request access to it.
- The entitlement can be added to a [role](https://documentation.sailpoint.com/saas/help/access/roles.html) that is [assigned](https://documentation.sailpoint.com/saas/help/provisioning/role_assignment.html) to users automatically.
- The entitlement can be added to an access profile that is added to a [lifecycle state](https://documentation.sailpoint.com/saas/help/provisioning/lifecycle.html) and assigned to users automatically.
### Editing Shared Dashboards
You can edit shared dashboards after they've been created.
1. On the Home dashboard, select **Dashboards**.
1. Select **Shared Dashboards**.
1. Find the dashboard you want to edit and select **Edit**.
1. In **Details**, make the necessary changes to your dashboard's name and description.
1. Select **Save**.
1. Use the **Available Widgets** tab to add new widgets to the dashboard. Use the **Current Widgets** tab to remove widgets from the dashboard.
Note
Your widget changes are saved as you edit and are visible to users the next time they view or refresh the dashboard.
If you want to delete a dashboard, select the **Delete** icon from the list of shared dashboards.
If you delete a shared dashboard, the entitlement associated with it is also deleted and removed from users.
## Dashboard Templates
Dashboard templates are pre-built dashboards that you can edit to change the default home pages displayed to end users or create new personal or shared dashboards.
### Customizing Default Home Pages
The default home pages can be customized by creating a dashboard from the home page templates. Dashboards created from these templates overwrite the default Home Page available to users or the Admin Overview Dashboard.
Refer to [Using Default Home Pages](#using-default-home-pages) for information on the available home pages.
**To customize the default home pages:**
1. From MySailPoint, select **Dashboard Manager**.
1. Select **Templates > Home Page Templates**.
1. Select **Create Dashboard** beside the home page you want to customize.
1. A preview of the dashboard is displayed. You can reorder widgets and tiles by dragging and dropping them. You can also add and remove widgets and tiles by selecting **Edit**.
1. Select **Save**.
Caution
Changes to a default home page overwrite the configuration for all assigned users, including their personal customizations. Users can customize the dashboard again after you update it.
Your edits to the selected default home page are applied to all users who can access it. You can make additional changes to this home page by going to **Managed Dashboards > Default Home Pages** and editing the applicable dashboard, or by editing the home page template and overwriting the default dashboard.
### Using Feature Templates
You can also create personal or shared dashboards starting from a defined set of widgets using templates.
Feature templates contain widgets related to a specific feature. You can create a dashboard based on these templates and add or remove widgets to meet your needs.
**To create a dashboard based on a template:**
1. From MySailPoint, select **Dashboard Manager**.
1. Select **Templates > Feature Templates**.
A list of dashboard templates is displayed. You can select **Preview** to view the template before using it to create a dashboard.
1. Select **Create Dashboard** beside a template and choose whether to create a personal dashboard or a shared dashboard.
1. Enter a name and description for your new dashboard and select **Save**.
1. Select **Available Widgets** and select **Add** beside the widgets you want to add to your dashboard. You can select additional SailPoint products to see widgets related to those products.
Your changes are saved as you work.
1. Select **View** to go to your new dashboard, or select the **Close** icon to return to MySailPoint.
1. (Optional) If you created this dashboard as a shared dashboard, [edit the entitlement](#granting-access-to-shared-dashboards) used to share this dashboard with users.
# SailPoint Virtual Appliances
In order to securely communicate with your organization's systems, SailPoint uses Virtual Appliances (VAs) to connect your tenant and on-premises applications. A VA is a Linux-based virtual machine that connects to your sources and apps using SailPoint APIs, connectors, and integrations.
Note
Cloud applications are considered "on-premises" because they are private clouds reserved for use only by your organization.
The VA is provided as a virtual disk image. Each VA is deployed on your infrastructure and managed by SailPoint. SailPoint maintains, patches, and upgrades the VA software.
SailPoint doesn’t connect directly to the VA, so each VA must be able to make continuous outbound-only calls to the cloud environment to execute actions such as:
- Polling the cluster queue for requested actions like data aggregation and access provisioning
- Installing patches
- Updating images
To use SailPoint VAs, you must:
- Procure the hardware or hypervisor necessary to host the VA image
- Ensure proper connectivity to the cloud
- Monitor your VA health
Note
For a list of the services that run on the virtual appliance, refer to the [Virtual Appliance Troubleshooting Guide](https://community.sailpoint.com/t5/IdentityNow-Connectors/Virtual-Appliance-Troubleshooting-Guide/ta-p/78735) using your SailPoint Compass login.
# Configuring Virtual Appliances
There are three virtual appliance (VA) configuration options: standard, HTTP proxy, and network tunnel. You can also optionally enable transport layer security for encrypted communication.
## Standard VA Configuration
Standard is the default VA configuration option, as it allows the VA to connect to SailPoint and other required endpoints directly through the firewall.
### Standard VA Considerations
- There is no additional setup required to achieve connectivity after the network requirements are met.
- You will have to [add URLs to the allow list](https://documentation.sailpoint.com/saas/help/va/requirements_va.html#allowing-va-traffic-to-required-urls).
- SailPoint reserves the 10.255.255.241/28 IP range. If any sources reside in this range, traffic will not route properly.
### Configuring Standard VAs
To configure standard VAs, refer to [Creating Virtual Appliances](https://documentation.sailpoint.com/saas/help/va/deploy_va.html#creating-virtual-appliances).
## HTTP Proxy VA Configuration
This configuration option requires additional setup to achieve connectivity through a previously configured proxy service. The VA connects to SailPoint and other required endpoints through the proxy.
### HTTP Proxy VA Considerations
- All HTTP/HTTPS traffic (VA communication, updates, internal or external) is routed through the proxy.
- SailPoint reserves the 10.255.255.241/28 IP range. If any sources reside in this range, traffic will not route properly.
- This configuration is not compatible with the network tunnel configuration.
- Traffic to external sources such as Salesforce, Box, ServiceNow, Office365, GoogleApps, GoToMeeting, WebEx, and Workday is also routed through the proxy. You may be able to allow traffic to these external sources; consult your network administrator for more information.
- The connection from the VA to the proxy can be authenticated only if your proxy supports basic authentication over the connection string. If not, the connection must be unauthenticated. We do not currently support other authentication mechanisms. However, adding IP address sources to the allow list may be used.
- You will have to [add URLs to the allow list](https://documentation.sailpoint.com/saas/help/va/requirements_va.html#allowing-va-traffic-to-required-urls).
### Configuring HTTP Proxy VAs
After you have downloaded the VA image and copied it to your virtualization platform, complete the following steps to configure the HTTP proxy and create a VA:
1. Start the VA image.
1. [Download the `proxy.yaml` file](https://community.sailpoint.com/t5/IdentityNow-Connectors/Virtual-Appliance-HTTP-Proxy-Configuration-proxy-yaml-File/ta-p/74866) (SailPoint Compass login required), and copy it to `/home/sailpoint/`.
1. Uncomment the https and http lines and replace the `` and `` values. A space is required after `https_proxy:` and `http_proxy:` but before the URL.
`https_proxy: http://:/`
`http_proxy: http://:/`
Where `` is either a host name or IP address. Typically both the http and https lines will point to a single server.
Important
If you choose to use the HTTP proxy VA configuration in a cloud environment, be sure to allow traffic to all required URLs and avoid connectivity to the cloud environment's metadata API. The typical metadata IP address is 169.254.169.254, but it is not standard across cloud environments.
Important
If you have a host that needs to be reached directly over HTTP/HTTPS, you can bypass the proxy configuration by adding an exception to the `proxy.yaml` file. For example, you might have a custom connector that needs to reach locally-hosted APIs. In this case, add the following line to the `proxy.yaml` file:
`no_proxy: |`
Where `` can either be a domain or an IP address. This can contain any number of hosts separated by pipe (|) symbols.
1. Save the `proxy.yaml` file and exit the editor.
1. Sign in to the VA with User Name: sailpoint, Password: S@ilp0int, and then change the password immediately.
1. Enter the command to set up your passphrase:
`va-bootstrap set-passphrase --http-proxy --https-proxy `
The value of keyPassphrase must be identical for every virtual appliance in the cluster. The keyPassphrase cannot start with a special character, and cannot include !, /, , or spaces.
The VA automatically encrypts the keyPassphrase. Encrypted keyPassphrases are denoted by a leading set of colons (::::).
1. Enter the command to get a pairing code:
`va-bootstrap pair --http-proxy --https-proxy `
1. Enter the pairing code within 4 hours and select **Pair**.
1. Wait about 30 minutes for configuration to finish. When VA configuration is complete, the VA Status will change to Connected.
## Network Tunnel VA Configuration
If you are required to add outbound traffic to the allow list, and your firewall does not support domain entries, consider using a network tunnel configuration. This option requires additional setup for the VA to connect to SailPoint and other endpoints through network tunnel servers.
For considerations and configuration information, refer to [Virtual Appliance Network Tunnel Configuration](https://community.sailpoint.com/t5/IdentityNow-Connectors/Virtual-Appliance-Network-Tunnel-Configuration/ta-p/274648) using your SailPoint Compass login.
## Transport Layer Security
Transport Layer Security (TLS) is recommended for encrypted communication between VAs and sources that support it.
To enable TLS for a supported source:
1. In your tenant, go to **Admin > Connections > Sources**, and select your supported source.
1. In the **Source Setup** section, select **Use Transport Layer Security (TLS)** on the relevant config pages.
1. Select **Save**.
The TLS certificate should be automatically copied to the VA cluster associated with the source.
For example, Active Directory sources include checkboxes to enable TLS support in the following source configuration settings:
- Forest
- Domain
- IQ Service
- Exchange
For information about IQService TLS configuration and manually adding certificates to VAs, refer to [TLS Configuration on Virtual Appliances](https://documentation.sailpoint.com/connectors/iqservice/help/common/va_topics_and_snippets/tls_config_on_va.html).
## FIPS VA Configuration
FedRAMP users may need to configure their VAs to be compliant with Federal Information Processing Standards (FIPS).
FIPS configuration is performed on each individual VA at the Linux kernel level.
Important
FIPS configuration on a VA cannot be reversed or disabled. If you decide later not to use FIPS mode, you must create new VAs from a fresh VA image.
For instructions and more information, refer to [Configuring Virtual Appliances for FIPS Compliance](https://community.sailpoint.com/t5/IdentityNow-Connectors/Configuring-Virtual-Appliances-for-FIPS-Compliance/ta-p/236557) using your Compass login.
## Configuring a Hosts.yaml File
Source connectors may need a host entry in the `hosts.yaml` file to complete an [Identity Security Cloud Connector](https://documentation.sailpoint.com/connectors/isc/landingpages/help/landingpages/isc_landing.html) implementation.
To add a source host entry in the `hosts.yaml` file:
1. Go to `/home/sailpoint/`.
1. Create the file or edit an existing `hosts.yaml` file using the command `vim hosts.yaml`.
1. Add an entry for the source host.
Important
Example hosts.yaml
```yaml
hosts:
10.20.30.40:
- host1.domain.example
- host1
10.20.30.41:
- host2.domain.example
- host2
```
Spacing and indentation in the hosts.yaml file must be precise:
- The second line must start with 2 spaces followed by a valid IP address matching the IP address configured for the host.
- The third line must start with 4 spaces followed by a dash and one additional space. It must contain a fully qualified hostname matching the fully qualified hostname configured for the source.
- The fourth line must start with 4 spaces followed by a dash and one additional space. It must contain a hostname matching the hostname configured for the source.
- Repeat second to fourth lines for multiple entries.
- For Data Access Security, hosts.yaml lookups on Alpine are case-sensitive, so hostnames in the hosts.yaml file will need to match case used by the Data Access Security application (or Kerberos).
1. Save the `hosts.yaml` file.
1. Restart the `charon` service using the command `sudo systemctl restart charon`.
# Customer-Provided Operating System for Virtual Appliances
Limited Availability
Functionality available to select customers upon request. Visit [SailPoint Product News](https://developer.sailpoint.com/discuss/t/new-capability-limited-availability-of-va-customer-provided-operating-systems-cpos/111346) for more information.
Important
Installing your own operating system on the Virtual Appliance (VA) requires that your organization sign additional legal documents, including an addendum acknowledging assumption of increased liability and responsibility. Contact your Customer Success Manager for information.
Additionally, this updated Documentation supersedes and governs any previously incorporated Documentation agreed to by you or your organization with respect to updating the VA, your operating system, and associated support, maintenance, and other responsibilities.
Your organization has the option to create VAs on the Linux distribution of your choice where you can use your preferred vulnerability management, monitoring, and log management tools. This option is currently offered for the following OS versions:
- RedHat Enterprise Linux / CentOS / Rocky Linux: 8.x and 9.x and 10.x
- Ubuntu: 22.04 LTS, 24.04 LTS, and 26.04 LTS
- Amazon Linux: AL2 and AL2023 (2023 is the successor to 2)
- Suse Linux: SUSE Linux Enterprise Server - 15 and 16
- Oracle Linux: CIS Level 1 - Oracle Linux 9
To implement this option, a script is copied to the host during the [VA installation process](#installing-the-va-on-your-operating-system).
## Customer Responsibilities
By opting to provide your own OS, you are agreeing to expand your organization’s responsibilities regarding the OS and VA setup, maintenance, and upkeep.
You and your organization are responsible for the following:
- Ensure the virtual appliance hardware meets or exceeds the minimum published specifications. For customers that require specific /home, /var, or /opt partitioning, meet the following minimum requirements:
- /var/lib/docker - 40 GB
- /opt/sailpoint - 20 GB
- /home/sailpoint - 60 GB
- Monitor and implement all OS-level updates and patching and otherwise provide all relevant support and maintenance for the OS.
- Validate with SailPoint before making OS major version upgrades. You will be responsible for all OS reboots.
- Harden the OS using the [CIS benchmarks](https://www.cisecurity.org/cis-benchmarks).
- Provision the VMs from an allowed OS (see above), as supported by your organization, which include:
- Consult SailPoint Support for initial VA cluster setup.
- Configure your organization settings such that these VMs serve as dedicated VAs for SailPoint software or services.
- For clarity, the supported OS server should be dedicated to running the VAs for SailPoint software or services and ancillary tools or software used to support the primary function of the VAs or security for the VAs.
- Manage installations, troubleshoot, and maintain all required, non-SailPoint tools on the box.
- Allow, and configure all applicable organization settings to accept automatic updates by SailPoint to any SailPoint-provided software running on the VA (subject to your election of the separately-provided change control option by SailPoint).
By electing this option, you acknowledge and agree that except for the SailPoint software and services installed therein, your organization will be solely responsible for issues related to the setup, maintenance, update, and upkeep of the OS and VA. In most instances, a VA rebuild will be the default solution when troubleshooting issues related to the VA functions.
## Installing the VA on Your Operating System
The Customer-Provided Operating System (CPOS) VA installer is a bash script (`sp-va-install`) appended with the docker images required to bootstrap the VA. By default, the installer includes the latest released versions of `charon`, `va_agent`, `canal`, and `toolbox`. Once online and bootstrapped, the VA will pull the remaining images along with any updates from Elastic Container Registry (ECR) just as it does on Flatcar OS.
OS type detection is done in the script, so the install package works for all supported OS types.
Note
A new VA can be saved to the cluster without pairing, but is not operational until you enter the time-sensitive pairing code and wait for configuration to finish.
**To install the VA on your supported OS:**
1. [Create a VA cluster](https://documentation.sailpoint.com/saas/help/va/deploy_va.html#creating-a-va-cluster).
1. Select **Edit** on the VA cluster you want to work with.
1. Select **Virtual Appliances**.
1. Select **Add New > VA with custom OS**.
1. Select **Download the installer**.
1. Copy the `sp-va-install` script to the host.
1. Make the script executable with the following command:
`$ chmod +x sp-va-install`
1. Run the script with any of the following options:
- Check requirements and exit: `$ sudo ./sp-va-install`
- Install rpm/deb dependencies and exit: `$ sudo ./sp-va-install -d`
- Perform the full installation: `$ sudo ./sp-va-install -i`
- Specify the uid and gid if your preference differs from the default. (The default is the next available numeric IDs for the SailPoint user and group):\
`$ sudo ./sp-va-install -i --uid 1011 --gid 1011`
1. Sign in with User Name: sailpoint, Password: S@ilp0int, and then change the password immediately.
1. Enter the command to setup your passphrase:\
`va-bootstrap set-passphrase`
Note
Your passphrase must be identical for every VA in the cluster. The passphrase cannot start with a special character, and cannot include !, /, , or spaces.
1. Enter the command to get a pairing code:
`va-bootstrap pair`
1. Enter the pairing code within 4 hours and select **Pair**.
1. Wait about 30 minutes for configuration to finish. When VA configuration is complete, the VA Status will change to Connected.
If the VA connection is successful, you can now [connect the VA cluster to a source](https://documentation.sailpoint.com/saas/help/va/manage_va.html#connecting-a-va-cluster-to-a-source) and enable [Transport Layer Security](https://documentation.sailpoint.com/saas/help/va/config_va.html#transport-layer-security) if the source supports it.
## Security Requirements
Customers opting to provide their own operating system (OS) have additional responsibilities for maintaining the security of the OS they chose to use. These include:
- OS hardening to your company standards.
- We recommend using the [CIS benchmarks](https://www.cisecurity.org/cis-benchmarks) for hardening the OS.
- FedRAMP customers should use STIG.
- All OS-level updates and patching.
- We recommend patches be applied at least weekly or anytime a critical patch is released by the OS vendor.
- Vulnerability scanning and remediation.
- We recommend running a vulnerability scanning tool continuously or at least daily to identify any new vulnerabilities.
- Vulnerabilities should be remediated as soon as possible by either applying an available patch or removing the vulnerable OS package if it is not needed.
- Log collection and monitoring.
- Customers can either use their SEIM tool or Fluent, which is installed as part of the VA installation.
# Deploying Virtual Appliances
To deploy a virtual appliance (VA), complete the steps specific to your virtualization platform. Then, proceed to [starting a new virtual machine](#starting-a-new-virtual-machine) and subsequent steps.
**Start with the section for your deployment type.**
## Local VA Deployment with vSphere
To deploy a VA locally with vSphere:
1. [Download the virtual appliance package](https://sppcbu-va-images.s3.amazonaws.com/va-latest.zip).
1. Unzip the package.
1. Copy it to your virtualization platform following the standard process for your platform.
1. Proceed to [Starting a New Virtual Machine](#starting-a-new-virtual-machine).
## Local VA Deployment with Hyper-V
To deploy a VA locally with Hyper-V:
1. [Download the virtual appliance package](https://sppcbu-va-images.s3.amazonaws.com/va-azure-latest.zip).
1. Unzip the package.
1. Copy the `sailpoint-va.vhd` file to your virtualization platform.
1. In Hyper-V, select **New > Virtual Machine**. The New Virtual Machine Wizard launches.
1. On the Before You Begin screen, select **Next >** to create a virtual machine with custom configuration.
1. On the Specify Name and Location screen:
a. Enter a name for your new virtual machine.
b. Select the checkbox for **Store the virtual machine in a different location**.
c. Enter the desired location for your new virtual machine.
d. Select **Next >**.
1. On the Specify Generation screen, select **Generation 1**, and then **Next >**.
1. On the Assign Memory screen, enter the [amount of startup memory for the VA](https://documentation.sailpoint.com/saas/help/va/requirements_va.html#system-requirements), and select **Next >**.
1. On the Configure Networking screen, select **External** for the V-Switch connection, and then **Next >**.
1. On the Connect Virtual Hard Disk screen, select **Use an existing virtual hard disk**, enter the path to the extracted file in the **Location** field, and select **Finish**.
1. Verify the Summary.
1. Proceed to [Starting a New Virtual Machine](#starting-a-new-virtual-machine).
## Cloud VA Deployment with AWS
To support connections to other cloud-based applications, you may want to deploy SailPoint VAs on your AWS infrastructure.
VA deployment with AWS must be completed by an experienced admin of your company’s AWS tenant with knowledge of the following:
- The VPC, networking, and security group requirements for your AWS tenant.
- The AWS regions where the VA will reside.
To deploy a VA in the cloud with AWS:
1. Ensure that your environment meets the following prerequisites:
- Meets the [AWS EC2 instance size requirements](https://documentation.sailpoint.com/saas/help/va/requirements_va.html#system-requirements).
- In the security group, Port 22 is open from your IP range.
1. [Open a support ticket](https://community.sailpoint.com/t5/Working-With-Support/ct-p/WorkWithSupport) requesting an Amazon Machine Image (AMI) ID to install a VA in AWS. You will need to provide your AWS account number and region, such as us-east-1.
SailPoint Support will then share the AMI with your account and provide you with an AMI ID.
Tip
To locate the shared AMI image, select **EC2 > Images > AMIs** and filter your search by Private Images.
1. In AWS, select the AMI, and select **Launch**.
1. In the Instance Type page, select the appropriate AWS EC2 instance size based on the [system requirements](https://documentation.sailpoint.com/saas/help/va/requirements_va.html#system-requirements).
1. Select **Configure Instance Details**.
1. Select the appropriate VPC and Subnet for your environment.
1. Select **Add Storage**, and leave the defaults on this page.
1. Select **Instance Metadata Service**.
1. Enable **Metadata accessible**, and set **Metadata response hop limit** to 2.
1. Select **Add Tags**, and complete this page as appropriate for your organization.
1. Select **Configure Security Group**, and select the appropriate security group.
1. Select **Review and Launch > Launch**.
1. In the **Select an existing key pair or create a new key pair** dialog box, select the option appropriate to your company policy.
1. Proceed to [Starting a New Virtual Machine](#starting-a-new-virtual-machine).
## Cloud VA Deployment with Azure
To support connections to other cloud-based applications, you may want to deploy SailPoint VAs on your Azure infrastructure.
VA deployment with Azure must be completed by an experienced admin of your company’s Azure tenant with knowledge of the following:
- The Azure CLI
- The networking and security group requirements for your Azure tenant
- The regions where the VA will reside
To deploy a VA in the cloud with Azure:
1. Ensure that your environment:
- Meets the [Azure VM instance size requirements](https://documentation.sailpoint.com/saas/help/va/requirements_va.html#system-requirements) for storage account, blob container, and resource group to hold the VA resources.
- Has sufficient bandwidth to upload a 132 GB image to Azure
1. [Download the virtual appliance package](https://sppcbu-va-images.s3.amazonaws.com/va-azure-latest.zip).
1. Unzip the package.
Important
The extracted VHD file will be around 132 GB. Check your disk space before extracting.
1. Log in to your Azure command line tool. Refer to the [Azure CLI Command Reference](https://learn.microsoft.com/en-us/cli/azure/reference-index?view=azure-cli-latest) as necessary.
1. Upload `sailpoint-va.vhd` to an Azure storage container with the following [az storage blob upload command](https://learn.microsoft.com/en-us/cli/azure/storage/blob?view=azure-cli-latest#az-storage-blob-upload):
`az storage blob upload --container-name "$container_name" --file "sailpoint-va.vhd" --name "sailpoint-va.vhd" --connection-string "$connection_string"`
Note
Given the large size of the image, this step might take hours.
1. Create a managed disk from the blob with the following [az disk create command](https://docs.microsoft.com/en-us/cli/azure/disk?view=azure-cli-latest#az-disk-create):
`az disk create --resource-group "$resource_group" --name "sailpoint-va" --source "$vhd_blob_url"`
Where:
`$vhd_blob_url` is the URL of the `sailpoint-va.vhd` blob.
For example: `https://${storage_account}.blob.core.windows.net/$container_name/sailpoint-va.vhd`
1. Create the VM from the managed disk with the following [az vm create command](https://docs.microsoft.com/en-us/cli/azure/vm?view=azure-cli-latest#az-vm-create):
`az vm create --resource-group "$resource_group" --location "$region" --name "$name" --os-type linux --attach-os-disk "sailpoint-va" --nsg "$network_security_group" --size "Standard_B4ms"`
Note
The network security group you associate with the VM must allow traffic over port 22 in order for you to SSH into the VA.
1. To test the VM, SSH in using the default login:
Username: `sailpoint`
Password: `S@ilp0int`
1. Proceed to [Starting a New Virtual Machine](#starting-a-new-virtual-machine) to change your password.
## Cloud VA Deployment with GCP
VA deployment with Google Cloud Platform (GCP) must completed by an experienced admin of your company’s GCP environment with the following:
- Google SDK
- Admin permissions for GCP account
- A bucket to hold the VA image with admin permissions
- Knowledge of the networking and security requirements for your GCP environment
- A project on GCP
To deploy a VA in the cloud with GCP:
1. [Download the virtual appliance package](https://sppcbu-va-images.s3.amazonaws.com/va-latest.zip).
1. Extract the `.ova` file using 7-Zip or similar software.
1. Launch a Google Cloud SDK Shell.
1. Authenticate to GCP.
1. Upload the unzipped VA-latest folder to the bucket you will use for the VA.
1. In Google Cloud Shell SDK, execute a command to import the VA disk as a *non-bootable virtual disk* into GCP.
For example:
`gcloud compute migration image-imports create sailpoint-va-disk --source-file gs://(cloud storage bucket)/sailpoint-va.vmdk --location (location) --skip-os-adaptation`
1. After the import completes, log in to Google Admin Console and go to **Computer Engine > VM Instances > Create an Instance**.
a. On Boot disk section go to **Change > Custom Images**.
b. Select the Project you created and where the VA Disk was updated.
c. Choose the image you imported.
d. Size the disk to 128G.
1. Create the instance. After the instance is created it will appear on the instances tab and you will be able to log in via SSH using the default username and password for the VA.
1. Log in as the SailPoint user through SSH and register the VA to your tenant.
1. Proceed to [Starting a New Virtual Machine](#starting-a-new-virtual-machine).
## Starting a New Virtual Machine
1. Start the virtual machine (VM) you previously downloaded and copied to your local virtualization platform or launch your VM instance.
1. Sign in to the VM:
Username: `sailpoint`
Password: `S@ilp0int`
1. Change your password immediately:
a. At the command prompt, type `passwd`.
b. Enter the current password `S@ilp0int`.
c. Provide a new password.
d. Repeat the new password.
Important
- It is very important to save your `sailpoint` user password. If the password is lost, a new VA must be created.
- If you are performing a cloud VA deployment and receive a failed unit message for the `esx_dhcp_bump.service` after login, run the following command to disable the service: `sudo systemctl disable esx_dhcp_bump.service`
1. For local VA deployments, [set a static IP address for your virtual appliance](#setting-a-static-ip-address-for-local-va-deployments).
1. For cloud VA deployments, proceed to [Creating Virtual Appliances](#creating-virtual-appliances).
## Setting a Static IP Address for Local VA Deployments
1. Find the name of your virtual NIC card for your VA:
a. In the command line, type `ip addr`
b. From the list of virtual NICs displayed, find the second one.
Note
Virtual NIC names are dynamically assigned upon initial VA creation, so you will need to perform this step for each VA to enter the correct name into your static.network file in the steps that follow.
1. Create the `static.network` file:
a. From the /home/sailpoint/ directory, enter:
`sudoedit /etc/systemd/network/static.network`
b. Enter the following:
`[Match]`
`Name=`
`[Network]`
`DNS=`
`Address=`
`Gateway=`
Where:
- `` is the name of your VA's virtual NIC card and the values under Network are specific to your VA's IP address.
- `CIDR` in the Address field is required if you want to set a subnet mask
Note
To set a custom DNS Search Domain, add `Domains=` to the bottom of the `[Network]` section.
1. Reboot the VA: `sudo reboot`
1. Proceed to [Creating Virtual Appliances](#creating-virtual-appliances).
#### If using Hyper-V:
Hyper-V images ship with the `waagent` Azure service enabled by default. This can cause DNS issues and irregular network routing on virtual appliances running on Hyper-V. To prevent these issues, disable the `waagent` service:
`systemctl status waagent`
`sudo systemctl mask waagent`
`sudo reboot`
## Creating Virtual Appliances
After you get your URL from SailPoint, you can securely connect the virtual machine to your tenant by creating VAs.
This section describes how to create VAs with the standard configuration.
Note
If you are using non-standard VA configurations, be sure to complete the additional configuration steps for [HTTP proxy VAs](https://documentation.sailpoint.com/saas/help/va/config_va.html#configuring-http-proxy-vas) or [Network Tunnel VAs](https://documentation.sailpoint.com/saas/help/va/config_va.html#network-tunnel-va-configuration) before creating VAs.
### Creating a VA Cluster
1. Go to **Admin > Connections > Virtual Appliances**.
1. On the Virtual Appliance Clusters page, select **Create New**.
1. Enter a unique **Cluster Name** and **Cluster Description** for the virtual appliance cluster. You cannot have two clusters with the same name in your organization.
1. Select a **Time Zone**. The cluster time zone determines the GMT offset when scheduling [account aggregations](https://documentation.sailpoint.com/saas/help/accounts/loading_data.html#scheduling-aggregations-for-direct-connect-sources) and [entitlement aggregations](https://documentation.sailpoint.com/saas/help/loading_entitlements/aggregating_entitlements.html#scheduling-recurring-aggregations) for the connected source.
1. Select the **Standard** cluster type unless your organization uses IdentityIQ.
If your organization has [AI-Driven Identity Security for IdentityIQ](https://documentation.sailpoint.com/saas/help/ai/iiq/index.html), select the **IAI Harvester** cluster type.
Important
You cannot change the cluster type for an existing cluster. If the wrong cluster type is selected for a cluster, you must delete the cluster and start over.
1. (Optional) Select **Enable Debugging** to start 24 hours of debug-level (verbose) logging for all VAs in this cluster. It is not required to enable debugging, but it can be helpful in case you need to troubleshoot anything.
When debugging is enabled, all log information is saved to log files for 24 hours regardless of file size. When debugging is not enabled, log files are replaced once they reach 512 MB.
1. Select **Save**.
1. If your organization has licensed [Data Access Security](https://documentation.sailpoint.com/das/help/index.html) or [SailPoint Privilege](https://documentation.sailpoint.com/saas/help/privilege/index.html), select **Cluster Components** to [enable cluster components](#enabling-cluster-components) for these products.
If your organization does not have these products, you can now add VAs to the cluster.
#### Enabling Cluster Components
Enabling cluster components allows you to create VAs that support the other SailPoint products or features used in your organization.
The Cloud Connector Gateway component is enabled by default for all Identity Security Cloud VA clusters. Deselect this component only if you want to create a standalone VA for a single SailPoint product component.
**To enable cluster components:**
1. After saving a Standard cluster, select **Cluster Components**.
1. Select component checkboxes for only your licensed SailPoint products and features.
The total minimum system requirements per VA are updated as new components are selected for enablement. You are responsible for allocating enough resources for the total minimum requirements per VA. The following cluster components are available:
#### VA Cluster Components
**Privileged Access Gateway** - Select this component to run privileged workflow actions against target systems and applications. The Privileged Access Gateway VA cluster component supports [standard](https://documentation.sailpoint.com/saas/help/va/config_va.html#standard-va-configuration) and [HTTP proxy](https://documentation.sailpoint.com/saas/help/va/config_va.html#http-proxy-va-configuration) VA configurations, but not the [network tunnel](https://documentation.sailpoint.com/saas/help/va/config_va.html#network-tunnel-va-configuration) configuration. For more information, refer to [SailPoint Privilege Overview](https://documentation.sailpoint.com/saas/help/privilege/index.html).
**Data Access Security** - Data Access Security VA cluster components support only [standard](https://documentation.sailpoint.com/saas/help/va/config_va.html#standard-va-configuration) VA configurations and not [HTTP proxy](https://documentation.sailpoint.com/saas/help/va/config_va.html#http-proxy-va-configuration) or [network tunnel](https://documentation.sailpoint.com/saas/help/va/config_va.html#network-tunnel-va-configuration) configurations. For more information, refer to [SailPoint Data Access Security](https://documentation.sailpoint.com/das/help/index.html).
- **Data Access Security - Resource Collector** - Select this component to enable resource discovery for on-premises applications governed by Data Access Security.
- **Data Access Security - Permission Collector** - Select this component to enable permission collections and access rights analysis tasks for on-premises applications governed by Data Access Security.
- **Data Access Security - Data Classification Collector** - Select this component to enable data collection, classification and cataloging tasks for applications governed by Data Access Security.
- **Data Access Security - Activity Monitor** - Select this component to enable event collection for on-premises applications governed by Data Access Security.
1. Select **Save**.
VA cluster components can be added to existing Standard type clusters. For more information, refer to [Editing a VA Cluster](https://documentation.sailpoint.com/saas/help/va/manage_va.html#editing-a-va-cluster).
### Adding VAs to a Cluster
1. Select **Edit** on the VA cluster you want to work with.
1. Select **Virtual Appliances**.
1. Select **Add New > VA**. The Configure Virtual Appliance page displays.
Note
A new VA can be saved to the cluster without pairing, but is not operational.
1. Download the VA image and copy it to your virtualization platform.
If you are adding HTTP Proxy VAs, stop here and complete the rest of the process using the steps in [Configuring HTTP Proxy VAs](https://documentation.sailpoint.com/saas/help/va/config_va.html#configuring-http-proxy-vas).
1. Start the VA image.
1. Sign in with User Name: sailpoint, Password: S@ilp0int, and then change the password immediately.
1. Enter the command to set up your passphrase:
`va-bootstrap set-passphrase`
FedRAMP customers enter this command instead:
`va-bootstrap -t govcloud set-passphrase`
The value of keyPassphrase must be identical for every virtual appliance in the cluster. The keyPassphrase cannot start with a special character, and cannot include !, /, , or spaces.
The VA automatically encrypts the keyPassphrase. Encrypted keyPassphrases are denoted by a leading set of colons (::::).
1. Enter the command to get a pairing code:
`va-bootstrap pair`
1. Enter the pairing code within 4 hours and select **Pair**.
1. Wait about 30 minutes for configuration to finish. When VA configuration is complete, the VA Status will change to Connected.
If the VA connection is successful, you can now [connect the VA cluster to a source](https://documentation.sailpoint.com/saas/help/va/manage_va.html#connecting-a-va-cluster-to-a-source) and enable [Transport Layer Security](https://documentation.sailpoint.com/saas/help/va/config_va.html#transport-layer-security) if the source supports it.
## Deploying VAs for High Availability and Disaster Recovery
The need to factor High Availability (HA) and Disaster Recovery (DR) into your deployment decisions may be obvious, but it might help to also understand the following:
- Each source is associated with a specific VA cluster.
- Any actions performed on that source, such as aggregation, test connection, authentication, or provisioning are sent as requests to the VA cluster and form a queue.
- Each VA that's running continually polls the queue of requests sent to its associated VA cluster.
This section outlines different strategies for handling high availability and disaster recovery scenarios in virtual appliance deployments.
*High Availability* means ensuring that there are enough VAs running to meet the processing needs of the business, as well as sufficient redundancy to be able to compensate for a single VA becoming temporarily unavailable due to an upgrade process, loss of connectivity, or other activity that could otherwise result in downtime.
*Disaster Recovery* means making sure that your organization has VAs deployed in more than one location, as part of a failover strategy that ensures business continuity in the face of a disaster (natural or otherwise).
### All VAs Running
In this strategy, all VAs are deployed in a single VA cluster, with all VAs running concurrently. Some VAs are in the primary datacenter, and others (called DR VAs) are deployed in a DR datacenter.
As work is assigned to the VA cluster, either primary VAs or DR VAs can pick up and perform requests. A problem could arise if there are latency issues between the source that the VA is communicating with and the VA's deployment location. This is especially true for DR VAs, which may be farther from the sources they are communicating with.
During a failover event, no action is needed. If the primary VAs go down, the DR VAs continue to respond to requests.
| | |
| ------------------------------------------------------------------------------------------------------------- | -------------------------- |
| **Advantages** | **Disadvantages** |
| - On DR event, no action needed - Full utilization of all VAs - VAs stay up-to-date - Minimal risk of outages | - Potential latency issues |
### Switch Clusters
In this strategy, two VA clusters are deployed. One VA cluster is the 'primary VA cluster', with all member VAs in the primary datacenter. The other VA cluster is the 'DR VA cluster', with all member VAs in the backup DR datacenter. All VAs in all clusters are powered-on and receiving updates.
As work is assigned to the primary VA cluster, the primary VAs can pick up and fulfill requests. This mitigates any sort of latency issues between the source that the VA is communicating with and the VA deployment location. Even though the DR VAs are powered on, they are not receiving requests, because they are not associated with the primary VA cluster that the sources are using.
During a disaster event where the primary VAs go down, there would be an outage until the sources are reconfigured to use the DR VA cluster.
Note
On failover, switching clusters requires reentering the source credentials. This can complicate the failover process if these credentials are not readily available to the administrator, or if there are many sources to manage.
| | |
| --------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **Advantages** | **Disadvantages** |
| - DR VAs stay up-to-date - DR VAs don’t add latency, as they aren’t processing anything until a DR event occurs | - No utilization of DR VA cluster - Reconfiguration needed upon DR event, involving reentering of source credentials - Difficult if large number of sources to manage |
### Standby Reactive Deployment
In this strategy, primary VAs are deployed in a single VA cluster. Only the VAs in the primary datacenter are running concurrently. There are existing standby VAs set up and tested in a DR zone, but not yet deployed to a VA cluster. These VAs can be left powered up or down.
As work is assigned to the primary VA cluster, the primary VAs can pick up and fulfill requests. This mitigates any sort of latency issues between the sources that the VA is communicating with and the VA deployment location.
During a disaster event where the primary VAs go down, there would be an outage until the standby DR VAs are deployed to the primary VA cluster. As the new standby DR VAs come online, they start to fulfill requests.
| | |
| ----------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------ |
| **Advantages** | **Disadvantages** |
| - VAs do not add latency, as they are not processing anything until a DR situation occurs | - Turnaround time can be greater depending on deployment of VA DR - Relies on VA readiness |
## Deployment in the DMZ is Not Recommended
While there are no technical reason prohibiting it, **we strongly recommend that you not deploy virtual appliances in the DMZ**, or perimeter network. For the most secure and highest performing communication with target sources, we recommend that you deploy VAs near their sources on internal networks as shown in the following diagram.
#### Why Not Deploy in the DMZ?
We recommend against deploying the VA in the DMZ for the following reasons:
- **Security** - The most important consideration against DMZ deployment is security. A DMZ is a less-secure perimeter network by design. SailPoint VAs are hardened against attack, but they are a communication backbone with sources, and could be an attack vector. Each VA also contains the 2048-bit RSA asymmetric private key (generated from the chosen key passphrase), which is used to decrypt credentials when talking to various sources. Placing a VA in a less-secure zone could put your information at risk.
- **Proximity** - Virtual appliances connect to various sources, and both read (aggregation) and write (provisioning) activities can occur via API on these connections. Some connector APIs can be latency-sensitive. Deploying the VAs closer to the sources they are communicating with yields better performance.
- **Connectivity** - VAs are designed to communicate with internal sources, not perimeter sources. The purpose of a DMZ perimeter network is for externally-facing components to communicate with each other, not with components on the internal network. If a VA is deployed in the DMZ and needs to communicate with internal sources, you might have to open more ports on your internal firewall to facilitate that communication.
# Getting Started with Virtual Appliances
Because the VA is critical to your SailPoint infrastructure, you'll need to understand your options, make crucial deployment and configuration decisions, and carefully complete deployment and configuration.
Important
This process must be completed by someone with a clear understanding of the organization’s virtualization platform and network security requirements. These instructions assume expertise in the general tasks of deploying virtual machines on the organization's local network or cloud infrastructure.
Notes
- VAs run with UTC as their time zone. The VA time zone cannot be changed.
- Adding users, VA trust/key store access, and root access is not supported.
- The VA uses Flatcar as its operating system. Prior to VA release, [Flatcar releases and security updates](https://www.flatcar.org/releases) are monitored in a sandbox environment for one week.
- Organizations with IdentityIQ require additional configuration to deploy the VA. IdentityIQ users should refer to [Deploying the Virtual Appliance with IdentityIQ](https://documentation.sailpoint.com/saas/help/ai/iiq/iiq_ai_get_started.html#deploying-the-virtual-appliance-with-identityiq).
## VA Process Overview
The high-level steps to get a VA up-and-running are:
1. Review and understand [VA system and network requirements](https://documentation.sailpoint.com/saas/help/va/requirements_va.html).
1. Review and understand VA [best practices](#best-practices).
1. Review and select VA deployment options.
Even though the VA itself runs Linux, the hypervisor can be any operating system that is compatible with your hardware. VA deployment options include:
- [**Local with vSphere**](https://documentation.sailpoint.com/saas/help/va/deploy_va.html#local-va-deployment-with-vsphere) - Deploy the downloaded image on a virtual machine behind your firewall. Local deployments require a static network.
- [**Local with Hyper-V**](https://documentation.sailpoint.com/saas/help/va/deploy_va.html#local-va-deployment-with-hyper-v) - Deploy the downloaded image on a virtual machine behind your firewall. Local deployments require a static network.
- [**AWS Cloud**](https://documentation.sailpoint.com/saas/help/va/deploy_va.html#cloud-va-deployment-with-aws) - Deploy our AMI on your AWS infrastructure.
- [**Azure Cloud**](https://documentation.sailpoint.com/saas/help/va/deploy_va.html#cloud-va-deployment-with-azure) - Deploy the downloaded image on a virtual machine running in your Azure environment.
- [**Google Cloud Platform (GCP)**](https://documentation.sailpoint.com/saas/help/va/deploy_va.html#cloud-va-deployment-with-gcp) - Deploy the downloaded image on a virtual machine running in your GCP environment.
In addition to your selection of a deployment type, you should also consider options for [high availability and disaster recovery](https://documentation.sailpoint.com/saas/help/va/deploy_va.html#deploying-vas-for-high-availability-and-disaster-recovery).
1. Review and select VA network configuration options.
This selection determines how the VA will communicate with external systems. All communications, regardless of the deployment configuration selected, will be initiated as outbound only. No incoming communications from outside your network will be requested or required.
Choose the network configuration option that is most appropriate for your network layout and policy.
- [**Standard**](https://documentation.sailpoint.com/saas/help/va/config_va.html#standard-va-configuration) - Uses the standard traffic generated by the VA.
- [**HTTP Proxy**](https://documentation.sailpoint.com/saas/help/va/config_va.html#http-proxy-va-configuration) - Routes all HTTP/HTTPS traffic through a proxy.
- [**Network Tunnel**](https://documentation.sailpoint.com/saas/help/va/config_va.html#network-tunnel-va-configuration) - Limits the outbound connections generated by the VA. Choose this option only if your firewall cannot support host names.
In addition, you can also implement:
- [**Transport Layer Security (TLS)**](https://documentation.sailpoint.com/saas/help/va/config_va.html#transport-layer-security) - Encrypts the connection between the VA and sources that support TLS. TLS encryption is recommended when connecting VAs to sources that support it.
- [**Password Interceptor**](https://community.sailpoint.com/t5/IdentityNow-Connectors/Configuring-Sources-and-Virtual-Appliances-to-Support-the/ta-p/76693) - If you enable password interception, password changes on supported sources (Active Directory) are intercepted and propagated to the related source in Identity Security Cloud.
- [**Local NTP Server**](https://documentation.sailpoint.com/saas/help/va/requirements_va.html#connecting-the-va-to-a-local-ntp-server) - If you do not want to allow outbound access for port 123, you can configure your VAs to communicate with NTP servers behind your firewall.
1. Complete [deployment steps](https://documentation.sailpoint.com/saas/help/va/deploy_va.html) for the VA deployment options you selected in Step 3.
1. Complete [configuration steps](https://documentation.sailpoint.com/saas/help/va/config_va.html) for the VA configuration options you selected in Step 4.
1. [Monitor and maintain](https://documentation.sailpoint.com/saas/help/va/manage_va.html) your VA infrastructure.
#### Troubleshooting
Restarting the VA cluster is almost always the best first action to resolve problems with a VA.
If you cannot resolve a problem with a VA, consider standing up a new replacement VA or refer to the [Virtual Appliance Troubleshooting Guide](https://community.sailpoint.com/t5/IdentityNow-Connectors/Virtual-Appliance-Troubleshooting-Guide/ta-p/78735) using your SailPoint Compass login.
## Best Practices
In addition to meeting all [System and Network Requirements](https://documentation.sailpoint.com/saas/help/va/requirements_va.html), SailPoint recommends the following best practices when deploying virtual appliances:
- **Locate VAs Close to Sources** - To ensure a reliable connection between a VA and the source system, locate them as follows:
- **Local** - Install clusters near the connected source system.
- **AWS/Azure/GCP** - Place clusters in the Availability Zone as close as possible to the target sources. If your organization has a VPN connection to its AWS or Azure Virtual Private Cloud (VPC), the VAs should be hosted in the same region that's hosting the network gateways for your organization.
- **Maintain a 1:1 VA to Virtual Machine Ratio** - To avoid a single point of failure in your environment, have a a ***1:1 ratio of VA to VM***.
- To build in fault tolerance, configure local VAs in the same cluster to run on different servers whenever possible.
- Spread VAs in the same cluster running in AWS/Azure across different Availability Zones.
- **Create New VAs to Switch Deployment Locations and Platforms** - Migrating existing VAs to a different deployment method is not supported. New VAs must be created to switch from one deployment method to another, such as from standard deployment to network tunnel deployment.
# Managing Virtual Appliances
Virtual appliances connect your SailPoint tenant and enterprise systems, supporting secure communication between them. It's therefore important to regularly monitor and maintain each SailPoint VA, and be familiar with the connected sources.
## VA Updates
SailPoint manages VA updates. Whenever we make improvements to the VA image, we deploy them to the clusters, which then perform rolling updates and reboots on the related VAs one at a time. As stated in the [System and Network Requirements](https://documentation.sailpoint.com/saas/help/va/requirements_va.html), you must have at least 2 VAs per cluster to ensure connectivity with your sources during these updates. By applying updates and rebooting one at a time, the VA cluster maintains full availability during the update process.
Note
While cluster availability is maintained during updates, in-progress processes, such as long-running aggregations that have not completed in time for the upgrade to complete, may be interrupted.
If a VA does not automatically reboot after an update, please manually [restart the VA cluster](#restarting-a-va-cluster).
Caution
If any VA in a cluster is not connected, no software or maintenance updates are made to any of the VAs in that cluster.
VA updates cannot be skipped or delayed. SailPoint does not notify before VA updates. VA updates are usually released to sandbox environments a week before they are released to production environments.
Your organization must have similar VA setups in sandbox and production and be [configured to send notifications](https://documentation.sailpoint.com/saas/help/common/getting_notified_org_health.html) if a VA fails.
### Updates to VA Components and Processes
Updates to a VA component or process are performed in coordination with the status of other processes. Processes running on the VA signal their availability status for updates to avoid disrupting running processes. This [VA Component Process Status](#va-component-process-status) is displayed in the UI and designates whether the process is busy or available for updates.
VAs with idle processes will be prioritized for updates and restarts and processes that are busy will continue uninterrupted for a period of time.
While most updates occur without disruption, sometimes it is necessary to override busy processes. If a process on the VA is continually busy for an excessive amount of time, then updates may be applied to maintain supportability, patch vulnerabilities, or apply critical fixes.
Depending on the extent of updates, sometimes you must restart the process, or reboot the VA to complete the updates.
### VA Update Errors Require Action
While SailPoint automatically applies updates to your VA, there may be situations where a VA is unable to be updated, misses updates, or otherwise does not deploy an update correctly, including if your VA does not meet the requirements specified in this document. In these cases, intervention may be required to return the VA to its required state and/or maintain full functionality.
You agree to cooperate with SailPoint upon request to enable SailPoint to take any actions necessary to bring your VA up to date, which may include performing these steps:
- Rebooting your cluster, upon notification, to complete interrupted updates
- Investigating and resolving environmental issues that may be preventing updates
Prompt intervention in the event of a VA update error is important to avoid the following possible issues:
- Loss of support (SailPoint supports only N-2 major releases)
- Missing functionality and degradation of service
- Persisting vulnerabilities
- Compromised cluster high availability
## Monitoring VA Health
You have the following options to check on the health of your VAs:
- **Notifications** - You can [receive emails](https://documentation.sailpoint.com/saas/help/common/getting_notified_org_health.html) when a VA goes down or a VA cluster has a health warning or error.
- **Admin Dashboard** - Select the Clusters tile of the [system components status](https://documentation.sailpoint.com/saas/help/common/audit-reports.html#admin-dashboard) panel.
- **Virtual Appliance Clusters Page** - Select **Admin > Connections > Virtual Appliances** to view cards for each VA cluster in your organization. Each VA cluster card displays status and alert messages informing about the health of the cluster. When you have a warning or error, select the health badge for a link to the VA list that shows which VA is experiencing the error. From there, you can select the VA to see more details, including timestamp, category, severity, error message, and additional information.
- **Virtual Appliance Cluster Details Page** - To monitor the health of the individual VAs in the cluster, select **Details** on the cluster card, and then select the **Virtual Appliances** tab. When you have a warning or error, select the health badge for a link to the VA list that shows which VA is experiencing the error. From there, you can select the VA to see more details, including timestamp, category, severity, error message, and additional information.
- **Edit Virtual Appliance Cluster Page** - Select **Edit** on the cluster card, then select **Virtual Appliances** from the left navigation. When you have a warning or error, select the health badge for details, including timestamp, category, severity, error message, and additional information.
- **View Virtual Appliance Page** - To view the status of a VA's processes, go to the VA cluster card and select **Details > Virtual Appliances > linked VA ID > VA Components**. You can also access these tabs from a VA cluster card by selecting **Edit > Virtual Appliances > Actions > View > VA Components**.
- **Third-Party Monitoring Tools** - SailPoint supports the export of VA metrics and logging information to third-party monitoring tools. Refer to [Virtual Appliance Observability](https://documentation.sailpoint.com/saas/help/va/observe_va.html) for more information.
### Cluster Status and Alert Messages
| Badge Text | Information |
| --------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------- |
| VA Update in Progress | At least 1 VA in the cluster is in the configuring state. If the cluster contains at least 2 VAs, normal cluster operation is maintained during updates. |
| Empty Cluster | The cluster does not have any VAs. SailPoint recommends having at least 2 VAs in a cluster. The cluster is not usable until VAs are added. |
| Only 1 VA in Cluster | There is only 1 VA in the cluster. SailPoint recommends having at least 2 VAs in a cluster. |
| Inactive VA | One or more of the VAs in the cluster are inactive. |
| VA Did Not Update | One or more VAs in the cluster did not update. Restart the cluster. |
| All VAs Inactive | All the VAs in the cluster are inactive. |
### VA Status and Alert Messages
| Badge Text | Information |
| ------------------------ | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Connected | The VA is operating as expected. |
| Update in Progress | The VA in the cluster is in the configuring state. Normal operation will resume after update is complete. |
| Configuration Incomplete | The VA failed to connect during configuration. Delete this VA and try again. (This status is unlikely to be encountered, because VAs that fail to successfully connect during configuration are auto-deleted.) |
| VA Did Not Update | Restart the cluster. If the problem persists, contact SailPoint Support. |
| Inactive State | The VA is in an inactive state and cannot connect. Contact your network administrator. |
### VA Cluster Warnings and Errors
| Type | Summary | Details | Recommendations |
| ------------------------------ | ---------------------------------------------- | ---------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Certificate Expiration Warning | Certificate expired or expiring within 30 days | Certificate has expired or the certificate will expire within 30 days. | Renew expiring certificate stored in the location /home/sailpoint/ca-certificates/. Delete the expired certificate from this location or move it to /tmp if possible. |
| Disk Warning | Low storage space | File system storage usage is over 80%. | Check the log levels and turn off debug logs if they are not needed. Go to **Admin > Connections > Virtual Appliances**. Locate the VA and select **Edit**. Unselect the checkbox for Enable Debugging. Select **Save**. Alternatively, you can clear logs or split them up. Refer to [Working with Debug Logging](https://community.sailpoint.com/t5/IdentityNow-Connectors/Virtual-Appliance-Troubleshooting-Guide/ta-p/78735#toc-hId--791106575). |
| Disk Error | Storage full | File system storage usage is over 90%. | Check the log levels and turn off debug logs if they are not needed. Go to **Admin > Connections > Virtual Appliances**. Locate the VA and select **Edit**. Unselect the checkbox for Enable Debugging. Select **Save**. Alternatively, you can clear logs or split them up. Refer to [Working with Debug Logging](https://community.sailpoint.com/t5/IdentityNow-Connectors/Virtual-Appliance-Troubleshooting-Guide/ta-p/78735#toc-hId--791106575). |
| Network Error | Network connectivity error | VA cluster is unable to reach the required endpoints. | Check the network configuration as described in the [VA Network Troubleshooting guide](https://community.sailpoint.com/t5/IdentityNow-Connectors/Virtual-Appliance-Troubleshooting-Guide/ta-p/78735#toc-hId--1449899724). Be sure that you are allowing VA traffic to required URLs. |
| Memory Warning | High memory usage warning | Average memory usage for the last 12 hours is over 80%. | Make sure you have sufficient memory for the VAs in your cluster. Refer to [VA Image Sizes](https://documentation.sailpoint.com/saas/help/va/requirements_va.html#system-requirements) to review SailPoint's requirements and recommendations. |
| Memory Error | Memory error | Average memory usage for the last 12 hours is over 90%. | Make sure you have sufficient memory for the VAs in your cluster. Refer to [VA Image Sizes](https://documentation.sailpoint.com/saas/help/va/requirements_va.html#system-requirements) to review SailPoint's requirements and recommendations. |
| OS Update Error | OS failed to update | Flatcar OS update failed. | Follow the process for [VA Flatcar OS Update Problems](https://support.sailpoint.com/csm/en/virtual-appliance-os-has-not-updated-to-a-recent-flatcar-version?id=kb_article_view&sysparm_article=KB0011734). |
| OS Update Warning | OS has been updated and requires reboot | Flatcar OS update requires reboot. | Get status by running 'sudo update_engine_client -status' Look for a value of CURRENT_OP: UPDATE_STATUS_UPDATED_NEED_REBOOT An update is pending and the system needs to reboot. |
| Service Stability Warning | Service instability | Container has restarted more than 10 times in 30 minutes. | Make sure your containers are up to date. Refer to [Are VA Services Up to Date?](https://community.sailpoint.com/t5/IdentityNow-Connectors/Virtual-Appliance-Troubleshooting-Guide/ta-p/78735#toc-hId--933657684). Manually [restart the VA cluster](#restarting-a-va-cluster). |
### VA Component Process Status
Processes operate as part of VA cluster components. The badge text indicates the status for processing or updates.
| Badge Text | Information |
| ---------- | ------------------------------------------------------------------ |
| OK | The process is available for processing or updates. |
| Busy | The process is busy and unavailable for new processing or updates. |
| Error | The process reported an error or was unable to report its status. |
## Reviewing Sources Connected to VAs
To review the sources connected to a specific VA:
1. Go to **Admin > Connections > Virtual Appliances**.
1. Select **Details** on the cluster card you want to review.
1. Select the **Connections** tab. All sources connected to the VA cluster are listed along with source status messages and other information.
Refer to [Managing Sources](https://documentation.sailpoint.com/saas/help/sources/index.html) for information about working with sources.
## Connecting a VA Cluster to a Source
A VA cluster can be connected to a source when the source is being created or after the source has already been created.
To connect a VA cluster to an existing source:
1. Go to **Admin > Connections > Sources**.
1. Select or edit the source you want to connect.
1. In the **Base Configuration**, select a VA cluster in the **Virtual Appliance Cluster** dropdown list.
1. Select **Save**.
Refer to [Managing Sources](https://documentation.sailpoint.com/saas/help/sources/index.html) for information about working with sources.
## Disconnecting a VA Cluster from a Source
To disconnect a VA cluster from a source:
1. Go to **Admin > Connections > Sources**.
1. Select or edit the source you want to disconnect.
1. In the **Base Configuration**, select a different VA cluster in the **Virtual Appliance Cluster** dropdown list.
1. Select **Save**.
Refer to [Managing Sources](https://documentation.sailpoint.com/saas/help/sources/index.html) for information about working with sources.
## Setting the VA Cluster Time Zone
The cluster time zone determines the GMT offset when scheduling [account aggregations](https://documentation.sailpoint.com/saas/help/accounts/loading_data.html#scheduling-aggregations-for-direct-connect-sources) and [entitlement aggregations](https://documentation.sailpoint.com/saas/help/loading_entitlements/aggregating_entitlements.html#scheduling-recurring-aggregations) for the connected source.
To set the VA cluster time zone:
1. Go to **Admin > Connections > Virtual Appliances**.
1. Select **Edit** on the VA cluster you want to change.
1. Select a **Time Zone**.
1. Select **Save**.
Refer to [Loading Identity and Access Data](https://documentation.sailpoint.com/saas/help/setup/index.html) for more information about working with aggregations.
## Maintaining Your VA Infrastructure
Maintaining your VA infrastructure ensures continuous connectivity with your sources. If there is an issue with a VA, it is important to respond quickly so the VAs are available for updates and able to maintain connectivity.
Caution
SailPoint strongly advises against moving or migrating existing virtual appliances. You must create new VAs, ensure connection, and then delete the old, existing VAs.
### Changing Your VA Password
You can change the password on a VA at any time:
1. Sign in as `sailpoint` user to the virtual machine on which the VA is running.
1. At the command prompt, type `passwd`.
1. Enter the current password.
1. Enter the new password.
1. Repeat the new password.
1. Reboot the VA: `sudo reboot`
Important
It's very important to save your `sailpoint` user password. If the password is lost, a new VA must be created.
### Restarting a VA Cluster
If a VA cluster or VA is not operating as expected, a status or alert message may prompt you to restart the VA cluster.
To restart a VA cluster:
1. Go to **Admin > Connections > Virtual Appliances**.
1. On the card for the cluster you want to restart, select **Menu > Restart**.
1. In the confirmation window, select **Restart Cluster**. A confirmation banner confirms that the VA cluster restart process has been initiated.
### Editing a VA Cluster
You can update names and descriptions, change time zones, and add or remove cluster components for existing Standard VA cluster types. You cannot enable or disable cluster components for older, Default VA cluster types.
To edit VA clusters:
1. On the Virtual Appliance Clusters page, select Edit for the cluster you would like to change.
1. In the left pane select the page related to the changes you would like to make:
1. **Cluster Configuration** – Enable debugging, or change the cluster name, cluster description, or timezone.
1. **Virtual Appliances** – Add or remove virtual appliances.
1. **Cluster Components** – Enable or disable cluster components.
1. **Review Details** – Restart the cluster.
1. Select **Save** if required on the page.
### Deleting a VA Cluster
To delete a VA cluster:
1. Go to **Admin > Connections > Virtual Appliances**.
1. [Disconnect the VA cluster from the source](#disconnecting-a-va-cluster-from-a-source).
1. [Delete each VA in the cluster you want to delete](#deleting-a-va).
1. On the card for the cluster to be deleted, select **Menu > Delete**.
1. In the confirmation window, select **Delete Cluster**. A banner confirms that the VA cluster has been deleted, and the deleted cluster is removed from the cluster list.
### Deleting a VA
You can delete a single VA without deleting the entire cluster.
To delete a specific VA:
1. Go to **Admin > Connections > Virtual Appliances**.
1. Select **Edit** on the cluster that includes the VA you want to delete.
1. Select **Virtual Appliances** to display the list of VAs in the cluster.
1. Select **Delete** for the VA you want to delete.
Caution
After deleting the VA, you also need to shut down the related VA instances on your virtualization platform. Failure to do so can result in degraded performance or potential downtime.
Info
A VA cannot be deleted if it is the only VA within a cluster and is still attached to a source. To delete the VA, reassign the source to a different VA in another cluster.
### Recovering from a VA Failure
When a VA cluster fails, you need to replace it quickly with a new VA cluster and reconnect all of the sources.
Caution
SailPoint strongly advises against moving or migrating existing virtual appliances. You must create new VAs, ensure connection, and then delete the old, existing VAs.
To replace a failed VA:
1. Create a new VA cluster and at least 2 VAs on that cluster. You will be connecting your sources to this new VA cluster.
1. On the failed VA cluster, select **Details > Connections** and make note of the sources that are connected to the failed VA cluster.
1. Go to **Admin > Connections > Sources**, and connect each source to the new VA cluster you just created as follows:
1. Select or edit the affected source.
1. In the **Base Configuration**, select the new VA cluster in the **Virtual Appliance Cluster** dropdown list.
1. Select **Save**.
1. Repeat these steps for each source connected to the failing cluster.
1. Once all sources are connected to the new VA cluster, go to **Admin > Connections > Virtual Appliances**.
1. Select **Details** on the new VA cluster.
1. Select the **Connections** tab and verify that the new VA cluster is connected to the same sources that the failed VA was.
1. [Delete](#deleting-a-va-cluster) the failed VA cluster.
For troubleshooting tools and resources, refer to the [Virtual Appliance Troubleshooting Guide](https://community.sailpoint.com/t5/IdentityNow-Connectors/Virtual-Appliance-Troubleshooting-Guide/ta-p/78735) using your SailPoint Compass login.
# Manual VA Updates
Limited Availability
Functionality available to select customers upon customer inquiry. Visit [SailPoint Product News](https://developer.sailpoint.com/discuss/c/announcements/product-news/65) for more information.
Important
Opting out of automatic Virtual Appliance (VA) updates from SailPoint requires that your organization sign additional legal documents, including an addendum, acknowledging assumption of increased liability and responsibility. Contact your Customer Success Manager for information.
Additionally, this updated Documentation supersedes and governs any previously incorporated Documentation agreed to by you or your organization with respect to updating the VA and associated support, maintenance, and other responsibilities.
Updates to the VA generally include any security fixes, bug fixes, patches, releases,enhancements, configurations, and new features for the following:
- Flatcar Linux VA operating system as configured by SailPoint
- SailPoint-developed software applications that run on the VA
As a general best practice, SailPoint recommends implementing automatic VA updates. Upon your organization's election, SailPoint provides the option to forego automatic VA updates and instead apply updates manually, as described further below. This option may be suitable for organizations that are required to comply with security practices that include anticipating, vetting, and mitigating risks of changes made to their network infrastructure that is outside their control.
Caution
By choosing to disable automatic VA updates, and enable manual updates only, organizations acknowledge and agree to assume significant risks and responsibilities to the same, and agree that falling behind certain updates may limit access to SailPoint support for the VA, as further described below.
## Manual VA Update Risks and Responsibilities
Organizations choosing to manually update their VAs will have the ability to control whether and when updates provided by SailPoint get deployed to the VA. You can choose to delay or decline updates, but your organization will be subject to limits or exclusions on SailPoint’s obligations if you are no longer on a supported version. For organizations electing manual update, the following applies with respect to support for the VA (including both the Flatcar Linux operating system as configured by SailPoint and SailPoint software applications running on the VA):
- SailPoint provides standard support for N-2 major releases of the Flatcar Linux operating system configured by SailPoint and any SailPoint software applications running on the VA (including all minor releases falling under a supported major release). The version numbering scheme is {Major}.{Minor}. For example, 1.5 indicates version 1 as the major release, and version 5 as the minor release. If the current release were version 4.5, SailPoint would support versions 4.0-4.5, 3.0-3.n, and 2.0-2.n. Anything from version 1 (including 1.0, 1.1, 1.2, etc.) would be deemed out of support.
- By choosing manual updates you acknowledge that VA updates will NOT be managed or automatically applied by SailPoint to the VA, the Flatcar Linux operating system, or SailPoint software applications on the VA and will be solely your responsibility.
- Any update designated as a “security fix” in release notes or the UI must be applied immediately. If your organization does not apply security fixes, you will not be eligible for support, warranty, indemnity, or other liability coverage in the event of a security incident or breach that could have been prevented or mitigated by automatic updates of such security fixes.
## Configuring Manual VA Update Settings
Important
Opting out of automatic Virtual Appliance (VA) updates from SailPoint requires that your organization sign additional legal documents, including an addendum, acknowledging assumption of increased liability and responsibility. Contact your Customer Success Manager for information.
Additionally, this updated Documentation supersedes and governs any previously incorporated Documentation agreed to by you or your organization with respect to updating the VA and associated support, maintenance, and other responsibilities.
To configure manual VA updates:
1. Go to **Admin > Connections > Virtual Appliances**.
1. On the card for the cluster you want to manually update, select **Menu > Update Settings**.
1. On the cluster's Update Settings page, select **Manual** for Virtual Appliance Updates.
1. Enter an email address to receive update notifications.
1. Select **Save**.
It can take several hours for the new update settings to synchronize and save successfully.
## Monitoring VA Cluster Update Status
The cluster cards on the Virtual Appliance Clusters page display version information, update methods, and the following informational badges relating to update status:
| Badge Text | Information |
| ----------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Updates Available | A VA update is available to apply. |
| Critical Update | You are required to immediately apply critical updates to your virtual appliances. |
| Out of Support | Your virtual appliances have fallen behind more than 2 update versions and are no longer supported by SailPoint. Please apply updates as soon as possible. |
## Manually Applying VA Updates
To manually apply a VA update:
1. Go to **Admin > Connections > Virtual Appliances**.
1. On the card for the cluster you want to manually update, select **Apply Updates**.
1. On the Apply Updates page review the displayed version and component information.
1. Select **Confirm** when you are ready to apply the update. A message displays confirming that the virtual appliance updates are being applied. This may take several hours.
## VA Update Notifications
### Virtual Appliance Updates Available Email Template
The Virtual Appliance Updates Available email is sent when a new virtual appliance (VA) update bundle is available.
**Name:** Virtual Appliance Updates Available
**Subject:** $PRODUCT_NAME Notification: Virtual appliance updates are available for the $clusterName cluster.
**Body:**
```html
Dear recipient,
The following updates are available for your virtual appliance cluster:
Cluster Name: $clusterName
Update Type: $releaseType
Update Version: $releaseVersion
$releaseData
Please sign in to ${PRODUCT_NAME} for more information.
Thank you, The $PRODUCT_NAME Team
```
#### Attributes
This email template uses [version 1](https://documentation.sailpoint.com/saas/help/common/emails/available_templates.html#version-1-templates) global variables and the following template-specific attributes:
| Name | Type | Description |
| -------------- | ------ | ---------------------------------------------------------------- |
| clusterName | String | The name of the cluster for which release bundles are available. |
| releaseType | String | Type of new release. Example: SOFTWARE/OS |
| releaseVersion | String | The version of new available release. |
| releaseData | Map | Information about available updates. |
### Virtual Appliance Updates Failed Email Template
The Virtual Appliance Update Failed email is sent when virtual appliance updates failed to be applied to a cluster.
**Name:** Virtual Appliance Updates Failed
**Subject:** $PRODUCT_NAME Notification: Virtual appliance updates failed to be applied to the $clusterName cluster
**Body:**
```html
Dear recipient,
Some virtual appliance updates failed to be applied to the $clusterName cluster.
Try restarting the cluster in $PRODUCT_NAME. If the problem persists, please contact Support
Thank you, The $PRODUCT_NAME Team
```
#### Attributes
This email template uses [version 1](https://documentation.sailpoint.com/saas/help/common/emails/available_templates.html#version-1-templates) global variables and the following template-specific attributes:
| Name | Type | Description |
| ----------- | ------ | ------------------------------------------------- |
| clusterName | String | The name of the cluster for which updates failed. |
# Virtual Appliance Observability
SailPoint supports the export of virtual appliance (VA) metrics and logging information to third-party monitoring tools.
## Exporting VA Metrics
You can configure an Identity Security Cloud Virtual Appliance (VA) to export metrics to an observability tool of your choice. These include priority metrics, such as CPU usage, disk space, memory usage, and network traffic, and secondary metrics from SailPoint applications, such as aggregation times, CCG health status, and VA cluster uptime.
SailPoint uses an OpenTelemetry agent (otel_agent) to send metrics from the VA to your preferred observability tool. The list of tools that support OpenTelemetry Protocol (OTLP) is extensive, and each requires a separate OTLP configuration from the OTEL agent to send metrics.
To address this, SailPoint has selected the following widely-used tools that share a common set of OTLP agent configurations and support standard observability backends and pipelines:
- Datadog
- Dynatrace
- Grafana Labs
- Honeycomb
- New Relic
- SignalFX
### Configuring VA Metrics Export
To enable metrics to move from the VA, you need to provide the endpoint URL and API keys to authenticate the otel_agent to the observability tool. Then, run the otel_agent within the VA to load its configuration from `/etc/otel-agent-config.yaml` and transmit metrics to your OTLP-supported backend.
1. Enable the otel_agent.
- On the VA, locate the `/home/sailpoint/config.yaml` file.
- Add the line `enableOTELAgent: true`.
1. Start the otel_agent service by executing the command `sudo systemctl start otel_agent`.
1. When the agent successfully starts, it creates an `otel.env` file in the `/home/sailpoint` directory. This is where you configure the OTLP endpoint and API key for the otel_agent.
- Set values for:
- `OTLP_ENDPOINT=""` to define the endpoint URL.
- `OTLP_API_KEY=""` to define the API key.
Note
The VA encrypts the value inside the `otel.env` file for the OTLP_ENDPOINT and OTLP_API_KEY.
If you do not define these values in the `otel.env` file, the otel_agent can still run, but it will send metrics to your SailPoint tenant rather than sending them to your observability tool.
1. After defining these values, restart the otel_agent service using the command `sudo systemctl restart otel_agent`.
1. The otel-agent automatically detects the OTLP backend and loads the appropriate configuration.
1. Check the agent’s log files at `/home/sailpoint/log/otel_agent.log`. If there are no errors and the otel_agent has detected the backend, then the configuration is successful.
1. Go to your observability tool and search for the [available VA metrics](#available-va-metrics). You can create a dashboard to monitor them more easily.
Tip
You can switch between observability tools by changing the endpoint and API key in the `otel.env` file and restarting the otel_agent.
### Available VA Metrics
Once configured, the following system metrics will be available to your OTLP-supported observability tool:
```text
system.cpu.load.average.15m
system.cpu.load.average.1m
system.cpu.load.average.5m
system.filesystem.usage{state="free", type="ext4"}
system.filesystem.usage{state="reserved", type="ext4"}
system.filesystem.usage{state="used", type="ext4"}
system.memory.utilization{state="buffered"}
system.memory.utilization{state="cached"}
system.memory.utilization{state="free"}
system.memory.utilization{state="slab.reclaimable"}
system.memory.utilization{state="slab.unreclaimable"}
system.memory.utilization{state="used"}
system.network.io
```
Available CCG metrics are:
```text
ccg_healthy
ccg_queue_healthy
ccg_sufficient_uptime{"type":"gauge","count":1,"sum":1.0,"min":1.0,"max":1.0,"latest":1.0}
```
### Troubleshooting VA Metrics Export Configuration
The following list describes some common issues with exporting VA metrics to your observability tool and their solutions.
- If otel_agent failed to start, check to be sure you've added `enableOTELAgent: true` at the bottom of the `/home/sailpoint/config.yaml` file.
- Error logs in `/home/sailpoint/log/otel_agent.log` may indicate that the API key or endpoint URL is wrong or that it may have extraneous details.
For example, OTLP_API_KEY should only mention the API key. Grafana Labs may provide additional information with the API key, such as:
```text
OTEL_EXPORTER_OTLP_HEADERS="Authorization=Basic nlJam9pY0hKdlpDMWhjQzF643434sbjE5".
```
In this case, `OTLP_HEADERS="Authorization=Basic` is already managed in the `otel-agent-config.yaml`, so there is no need for that information here.
Remove the excess information in the `otel.env` file so that it only includes `OTLP_API_KEY="nlJam9pY0hKdlpDMWhjQzF643434sbjE"`, then restart the otel_agent service using the command `sudo systemctl restart otel_agent`.
- If `sudo docker logs otel_agent` has an unknown OTLP backend and no information for the Detected backend, then the otel_agent is not able to detect the observability tool because the endpoint URL is wrong. Check and correct the endpoint URL, then restart otel_agent.
- The otel_agent specifically looks for the keywords `OTLP_ENDPOINT` and `OTLP_API_KEY` in the `otel.env` file. If these variables are missing or if you erase all contents from the `otel.env` file and restart the otel_agent, it will load an empty configuration, as shown below.
```text
##############################
# OTLP Configuration
##############################
# Set these variables to export metrics to an OTLP-compatible backend.
OTLP_ENDPOINT=""
OTLP_API_KEY=""
# Example: OTLP_ENDPOINT="https://otlp.nr-data.net:4318"
# Example: OTLP_API_KEY="ABCD1234567890"
```
Running the agent without these values will send metrics to your SailPoint tenant rather than to your observability tool.
## Exporting VA Logs
You can configure a virtual appliance to send systemd logs to the following tools:
- Splunk HTTP event collector (HEC)
- CloudWatch Logs
- Datadog
### Configuring VA Log Exports
To configure VA log exports:
1. Ensure network connectivity between the VA and the monitoring tool.
1. Create or gather the tokens, URLs, or keys required to configure your specific monitoring tool.
1. Create a [`host-logging.yaml`](#example-host-loggingyaml) file in the VA's `/home/sailpoint` directory.
1. Enter the key information for your tool as shown in the following example.
1. Wait for the VA to detect the configured `host-logging.yaml`.
1. Confirm in the monitoring tool that the logs are appearing.
### Example host-logging.yaml
```text
---
config:
enableSailPointLogging: true
loggers:
- name: splunk_hec
type: splunk_hec
hec_host: 172.31.31.31
hec_port: 8383
hec_token: quzkajkfkdjafk
insecure_ssl: true
- name: cwl
type: cwlogs
log_group_name: sailpoint
log_stream_name: sailpoint
region: us-east-1
- name: thedog
type: datadog
api_key: 1234-1234-1234
tags:
customer: foobar
```
where:
- `name` is a valid YAML string.
- `type` is one of the following:
- `splunk_hec`
- `cwlogs`
- `datadog`
### Global Config Keys
| Key | Required | Description |
| ------------------------ | -------- | ------------------------------------------------------------------------------------------- |
| `enableSailPointLogging` | No | Enables export of the SailPoint container logs in addition to the Flatcar OS system journal |
### Monitoring Tool Keys
#### Splunk HEC
Type: `splunk_hec`
| Key | Required | Description |
| -------------- | -------- | ------------------------------------------------------------------- |
| `hec_host` | Yes | Hostname of HEC host |
| `hec_port` | Yes | TCP port HEC is listening on |
| `hec_token` | Yes | HEC token (from Splunk) |
| `index` | No | Index targeted |
| `insecure_ssl` | No | Bypasses certificate validity check (for development/test purposes) |
#### CloudWatch Logs
Type: `cwlogs`
| Key | Required | Description |
| ----------------- | -------- | ------------------------------------------- |
| `log_group_name` | Yes | CloudWatch Logs Group Name |
| `log_stream_name` | Yes | CloudWatch Logs Stream Name |
| `region` | Yes | AWS region CloudWatch Logs Group resides in |
#### Datadog
Type: `datadog`
| Key | Required | Description |
| ------------------- | -------- | --------------------------------------------------------- |
| `api_key` | Yes | Datadog API key |
| `host` | No | Datadog API host target (defaults to US/Datadog Standard) |
| `dd_source` | No | Sets the `dd_source` field |
| `dd_sourcecategory` | No | Sets the `dd_sourcecategory` field |
| `tags` | No | Sets additional tags (should be in key: value form) |
# System and Network Requirements
For successful VA deployment and configuration, your organization's environment must meet [system](#system-requirements), [network](#network-requirements), and [geography](#restricted-geographies) requirements and [allow VA traffic](#allowing-va-traffic-to-required-urls) to required URLs.
## System Requirements
| | | | |
| ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------ | --- |
| **Virtualization Environments** | | | |
| Local | vSphere 8.0+ Microsoft Hyper-V Server 2016 or later Windows Server 2016 or later Minimum CPU Instruction Level: Intel Nehalem or AMD Opteron Generation 4 The hypervisor must expose these instructions to the VA. | | |
| Cloud | AWS Azure GCP | | |
| **Minimum VA Image Sizes** | | | |
| Local | **Minimum** Processors: 4 Memory: 16 GB Storage: 128 GB | **IdentityIQ Users With AI Services** Processors: 4 Memory: 16 GB Storage: 128 GB | |
| AWS EC2 Instance Size | M5.xlarge or equivalent size x86 Processors: 4 Memory: 16-32 GB Storage: 128 GB Refer to [Amazon EC2 Instance Types](https://aws.amazon.com/ec2/instance-types/) for details. | | |
| Azure VM Instance Size | Standard_D8s_v5 or equivalent size x86 Processors: 4 Memory: 16-32 GB Storage: 128 GB Refer to [Azure Virtual Machine Sizes](https://learn.microsoft.com/en-us/azure/virtual-machines/sizes) for details. | | |
| GCP VM Instance Size | n2-standard-4 or equivalent size x86 Processors: 4 Memory: 16-32 GB Storage: 128 GB Refer to [Machine Families Resource and Comparison Guide](https://cloud.google.com/compute/docs/machine-resource) for details. | | |
| **VA Cluster Components - Required Additions to Minimum VA Image Sizes** | | | |
| Enabling additional [VA Cluster Components](https://documentation.sailpoint.com/saas/help/va/deploy_va.html#enabling-cluster-components) requires increasing the Minimum VA Image Sizes by the following additional amounts. | | | |
| Privileged Access Gateway | Processors: 2Memory: 4 GB | | |
| Data Access Security - Resource Collector | Processors: 2Memory: 8 GB | | |
| Data Access Security - Permission Collector | Processors: 2Memory: 8 GB | | |
| Data Access Security - Data Classification Collector | Processors: 2Memory: 8 GB | | |
| Data Access Security - Activity Monitor | Processors: 2Memory: 8 GB | | |
| **VA Locations and Minimum Distributions** | | | |
| Virtual Machines | 1 VA per virtual machine host. | | |
| Clusters | Required. Deploy at least 2 VAs per cluster and deploy at least 1 production cluster and 1 sandbox cluster to ensure connectivity during updates and minimize the risk of downtime or data loss. | | |
| VAs and Sources | - Local - Each cluster should be installed in close proximity to the connected source system. - AWS/Azure - Each cluster should be placed in the Availability Zone as close as possible to the target sources. If your organization has a VPN connection to its AWS or Azure VPC, the VAs should be hosted in the same regions hosting the network gateways for your organization. | | |
| Sandbox | Required. Deploy at least 2 VAs per sandbox cluster to ensure connectivity during updates and minimize the risk of downtime or data loss. Closely monitor sandbox VA clusters and test connectivity changes before they go to production. | | |
| [High Availability and Disaster Recovery](https://documentation.sailpoint.com/saas/help/va/deploy_va.html#deploying-vas-for-high-availability-and-disaster-recovery) | Required. Deploy at least 2 VAs per cluster to ensure connectivity during updates. A load balancer is not required. | | |
| DMZ | [DMZ deployment is not recommended](https://documentation.sailpoint.com/saas/help/va/deploy_va.html#deployment-in-the-dmz-is-not-recommended). | | |
Note
For organizations implementing AI-Driven Identity Security with IdentityIQ, only 1 VA is required for connectivity.
## Network Requirements
| | |
| ---------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| DNS Servers | Required. VAs must connect to your internal DNS servers. You can connect VAs to a local DNS server behind your firewall. |
| NTP Servers | Required. VAs must connect to a network time protocol (NTP) server. You can ["connect VAs to a local NTP server](#connecting-the-va-to-a-local-ntp-server) behind your firewall. |
| HTTP Proxy Servers | Optional. VA traffic must be [allowed to access required URLs](#allowing-va-traffic-to-required-urls) for external sources and tools. |
| Network Tunnel | Optional. VA traffic must be allowed access to the [network tunnel IP addresses](#network-tunnel-https-port-requirements) for your region. |
| Third-party Monitoring | Not supported |
| SailPoint-reserved IP Ranges | - 10.255.255.241/28 - If any sources reside in this range, traffic will not route properly for any VA configuration type. - 172.16.0.0/22 - If any sources reside in this range, traffic will not route properly for network tunnel VA configurations. |
### Port Requirements
VA communication should be allowed through these ports in the specified directions.
| | | | | |
| -------- | ---------- | ------------- | --------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **Port** | **Reason** | **Direction** | **IP Addresses** | **Description** |
| 22 | SSH | Inbound | Internal Only (Recommended) | Used to access VA when inside your network |
| 53 | DNS | Outbound | All | Used to access internal name servers and name resolution |
| 123 | NTP | Outbound | All | Used for time synchronization. If you connect all of your VAs to a [local NTP server](#connecting-the-va-to-a-local-ntp-server), you can close port 123. |
| 443 | HTTPS | Outbound | All | Used for HTTPS communication. The network tunnel configuration has specific requirements for this port. |
Important
Target systems might have their own port requirements. VAs must be allowed to communicate over the ports required by target systems.
### Network Tunnel HTTPS Port Requirements
| | | | | |
| -------- | ---------- | ------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------- |
| **Port** | **Reason** | **Direction** | **IP Addresses** | **Description** |
| 443 | HTTPS | Outbound | US East (N. Virginia): 52.206.133.183 52.206.132.240 52.206.130.59 Europe (Frankfurt): 35.157.132.22 35.157.185.79 35.157.251.228 Europe (London): 18.130.210.174 18.130.148.201 35.178.220.78 Asia Pacific (Singapore): 52.77.39.81 13.250.189.48 54.251.149.153 Asia Pacific (Sydney): 52.65.42.92 13.55.78.212 3.24.127.50 | Used for network tunnel initialization and HTTPS communication. |
### Connecting the VA to a Local NTP Server
By default, VAs are configured to communicate with external network time protocol (NTP) servers using port 123. If you do not want to allow outbound access for port 123, you can configure your VAs to communicate with NTP servers behind your firewall.
Each VA must be configured individually. While you do not have to configure every VA to use your NTP server, you cannot close port 123 until all of your VAs have been configured to use internal NTP servers.
Complete the following steps to connect a VA to a local NTP server:
1. Edit the `timesyncd.conf` file using the full path:
`sudoedit /etc/systemd/timesyncd.conf`
1. Add entries to the NTP line for local servers using the server host names or IP addresses. More than one server can be added, separated by a space.
Examples:
`NTP=chronos.acme.com`
`NTP=chronos1.acme.com chronos2.acme.com`
Caution
Be sure to remove the # sign on the NTP line before adding server names.
1. Save the changes to the `timesyncd.conf` file.
1. Restart the `systemd-timesyncd` daemon:
`sudo systemctl restart systemd-timesyncd`
1. To verify the UTC time status on the VA run:
`timedatectl status`
### Deep Packet Inspection Support
SailPoint VAs can be configured to trust a private root certification authority (CA) and any certificates that have that CA in their trust chain, such as those from deep packet inspection (DPI) transport layer security (TLS) inspection solutions. SailPoint VAs reject untrusted certificates.
SailPoint is unable to provide guidance on specific DPI implementation issues beyond setting up root CA certificate trust. Contact your Customer Success Manager for information regarding DPI.
## Restricted Geographies
Contracts for SailPoint products restrict customers from installing a VA in any country that has data residency or data transmission restrictions, including, but not limited to, Russia and China. The customer must install the VA in a SailPoint-approved country and is responsible for any legal compliance for the transfer of data from countries like China and Russia to that VA for use in our products, including data residency restrictions.
## Allowing VA Traffic to Required URLs
Depending on your firewall configuration, you may need to add URLs to the allow list.
If you are required to add outbound traffic to the allow list, and your firewall does not support domain entries, consider using a [network tunnel VA configuration](https://documentation.sailpoint.com/saas/help/va/config_va.html#network-tunnel-va-configuration).
Notes
- These lists are subject to change without notice.
- Allowing IP addresses of connected service endpoints is not supported.
### Primary URLs
The following table lists URLs that must be accessible to the VA, regardless of the VA region.
| | | |
| ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------ | --------------------------------------------------------------------------------------------------------------- |
| **URL** | **Source** | **Purpose** |
| \*.flatcar-linux.net \*.flatcar-linux.org | Flatcar | Used for security patches and software updates |
| \*.identitynow.com \*.api.identitynow.com \*.sailpoint.com \*.secure-api.infra.identitynow.com va-access.infra.identitynow.com FedRAMP users only: \*.sailpointfedramp.com \*.secure-api.saas.sailpointfedramp.com va-docker.secure-api.saas.sailpointfedramp.com | SailPoint | Allows the VA to: - Communicate with SailPoint - Retrieve service updates - Make REST requests to SailPoint |
| \*.launchdarkly.com | LaunchDarkly | Sailpoint uses this service to manage feature releases. |
| NTP | N/A | Allows the clock to sync to standard. **NOTE**: This is only applicable if you're using an external NTP server. |
### Region-Specific AWS URLs
The services in this section must be accessible, but the URLs you must add to the allow list depend on the region configured for your VA. For example, SailPoint places messages into SQS in your region. The VA checks the queue for messages about work it needs to complete.
| | |
| ------------------------- | -------------- |
| **Supported AWS Regions** | **Code** |
| US East (N. Virginia) | us-east-1 |
| US West (Oregon) | us-west-2 |
| US-West (GovCloud) | us-gov-west-1 |
| Asia Pacific (Mumbai) | ap-south-1 |
| Asia Pacific (Singapore) | ap-southeast-1 |
| Asia Pacific (Sydney) | ap-southeast-2 |
| Asia Pacific (Tokyo) | ap-northeast-1 |
| Canada (Central) | ca-central-1 |
| Europe (Frankfurt) | eu-central-1 |
| Europe (London) | eu-west-2 |
| Middle East (UAE) | me-central-1 |
| South America (São Paulo) | sa-east-1 |
Contact your SailPoint deployment team to determine the region you need to use.
You must always allow:
- The us-east-1 URL for each of these services, even if your region is located elsewhere.
- The region-specific URL for each of these services if your tenant is in a region other than us-east-1.
The following table lists region-specific URLs that must be accessible to the VA. Replace `` with the AWS region where your tenant resides.
| | |
| -------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **Service** | **Region-specific URLs to Allow** |
| S3 | \*.s3.us-east-1.amazonaws.com and \*.s3.\.amazonaws.com FedRAMP users only: \*.s3-fips.us-gov-west-1.amazonaws.com Refer to [AWS Regional endpoints](https://docs.aws.amazon.com/general/latest/gr/rande.html#regional-endpoints). |
| SQS | sqs.us-east-1.amazonaws.com and sqs.\.amazonaws.com Refer to [Amazon Simple Queue Service endpoints](https://docs.aws.amazon.com/general/latest/gr/sqs-service.html). |
| DynamoDB | dynamodb.us-east-1.amazonaws.com and dynamodb.\.amazonaws.com Refer to [Amazon DynamoDB endpoints](https://docs.aws.amazon.com/general/latest/gr/ddb.html). |
| Elastic Container Registry | 874540850173.dkr.ecr.\.amazonaws.com Refer to [Amazon ECR endpoints](https://docs.aws.amazon.com/general/latest/gr/ecr.html). |
| Firehose1 | firehose.us-east-1.amazonaws.com and firehose.\.amazonaws.com FedRAMP users only: firehose-fips.us-gov-west-1.amazonaws.com Refer to [Amazon Kinesis Data Firehose endpoints](https://docs.aws.amazon.com/general/latest/gr/fh.html). |
1 Required only for AI-Driven Identity Security with IdentityIQ
### IdentityIQ Customers Using IAI Harvester Only
For IdentityIQ customers using the IAI Harvester, the following URL must be accessible to the VA:
\*.launchdarkly.com
If you are unable to use this URL, you may instead allow these specific URLs:
- app.launchdarkly.com
- events.launchdarkly.com
- stream.launchdarkly.com
- sdk.launchdarkly.com
- clientstream.launchdarkly.com
- clientsdk.launchdarkly.com
### Deprecated Allow List URLs
If your organization has previously added these now-deprecated URLs to your firewall allow list, you do not need to remove them. However, SailPoint recommends updating your firewall allow list to those listed in [Primary URLs](#primary-urls).
| | |
| --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------- |
| **Deprecated URL** | **Source** |
| s3.amazonaws.com \*.s3.amazonaws.com | AWS |
| api.ecr.us-east-1.amazonaws.com ecr.us-east-1.amazonaws.com 874540850173.dkr.ecr.us-east-1.amazonaws.com FedRAMP users only: api.ecr.us-gov-west-1.amazonaws.com ecr.us-gov-west-1.amazonaws.com ecr-fips.us-gov-west-1.amazonaws.com 240112628119.dkr.ecr-fips.us-gov-west-1.amazonaws.com 240112628119.dkr.ecr.us-gov-west-1.amazonaws.com 229634586956.dkr.ecr-fips.us-gov-west-1.amazonaws.com 229634586956.dkr.ecr.us-gov-west-1.amazonaws.com | Elastic Container Registry |
# Loading Identity and Access Data
Note
Identity Security Cloud is SailPoint’s next-generation identity security solution. It encompasses and builds on features and functions from IdentityNow. The product documentation covers both Identity Security Cloud and IdentityNow features.
Identity Security Cloud collects identity and access information about the people in your organization from your enterprise systems. It attaches accounts and access data to identities to give you an overall view of each person's access rights.
To facilitate this, you need to:
- [Manage emergency access admins](https://documentation.sailpoint.com/saas/help/setup/ea_admin.html) to ensure administrative Identity Security Cloud access regardless of enterprise network availability.
- [Load account data](https://documentation.sailpoint.com/saas/help/accounts/loading_data.html) by defining sources and aggregating their accounts and access.
- [Create identity profiles](https://documentation.sailpoint.com/saas/help/setup/identity_profiles.html) to define authoritative sources of identities.
- [Configure Multifactor Authentication](https://documentation.sailpoint.com/saas/help/common/strong_auth.html) to define the required authentication methods for your users.
- [Assign source accounts to identities](https://documentation.sailpoint.com/saas/help/accounts/correlation.html) based on account correlation attributes.
- [Use identity processing](https://documentation.sailpoint.com/saas/help/setup/identity_processing.html) to keep your configurations and your identity data in sync.
- [Load entitlements](https://documentation.sailpoint.com/saas/help/access/entitlements.html) to reflect all available access, including descriptions and display names.
# Updating Emergency Access Administrators
When an identity profile uses a flat file source as its account source, the admins listed in that flat file have special emergency, or break glass, access so they can sign in when your site is having connectivity issues to troubleshoot and repair problems.
When you first gain access to your orgs, you're granted one emergency access administrator. You can add or remove emergency access admins by editing the file containing the emergency access administrator identity information.
Note
Emergency access administrators are frequently referred to as *break glass administrators*.
**Prerequisites:**
- SailPoint has created your org and given you access to an initial administrator account.
- At least one identity profile exists with a flat file account source.
## Updating Emergency Access Administrators List
Download the emergency access administrator file to add, remove, or update information in the file.
**To download the list of emergency access administrators:**
1. Go to **Admin > Connections > Sources**.
1. Select or edit the **IDN Administrator** source.
1. In the **Account Management** section, select **Accounts**.
1. Select **Export** to download the current list of emergency access administrators.
1. Open the .csv file and review the list of accounts.
Each administrator has one row under each column header. Column headers represent account attributes.
1. Update, add, or remove rows for each administrator as needed. **Do not add or remove any column headers.** Save the .csv file.
Important
- When this file is uploaded, the identities provided are used as the complete set of emergency access admins for the site. Removing an account from this file and uploading the file removes that identity from Identity Security Cloud.
- Do not include the SailPoint Support identities *slpt.support* or *slpt.services* in this file. These identities are used to allow the SailPoint support team to troubleshoot your site. To grant or disable access to these identities, visit [Granting Support Access to Your Site](https://documentation.sailpoint.com/saas/help/common/grant-tenant-access.html).
- Do not delete the *slpt.support* or *slpt.services* identities from your site. If these accounts are deleted, SailPoint Support might be unable to sign in to your site to help with implementation or troubleshooting.
1. In the **Account Management** section, select **Account Aggregation**.
1. Under **Import Accounts**, select the **Upload** icon and choose the .csv file of accounts.
While an aggregation is running, the Start Aggregation button will be disabled. You can view the progress of this aggregation in the Latest Account Aggregation section on this page. You can cancel the aggregation by selecting **Cancel** at the top of the aggregation card.
You can also view aggregation activity on the [**Aggregation History**](https://documentation.sailpoint.com/saas/help/accounts/loading_data.html#viewing-account-aggregation-history) page. You can also [cancel](https://documentation.sailpoint.com/saas/help/accounts/loading_data.html#canceling-an-aggregation) the aggregation from this page.
## Setting Up Emergency Access Administrators
After adding users to the emergency access admins flat file, grant them admin access.
1. Go to **Admin > Identity Management > Identities** and find the identities you have designated as emergency access administrators.
1. Select **Actions** **> Set User Levels**.
1. Enable the toggle for the **Admin** user level and select **Save**.
## Inviting New Emergency Access Administrators
Invite new emergency access admins who are also new users to Identity Security Cloud. Refer to [Inviting Users to Register](https://documentation.sailpoint.com/saas/help/common/users/inviting_users.html) for instructions.
# Getting Started in Identity Security Cloud
Welcome to SailPoint!
To get the most out of SailPoint's SaaS offerings, review the following information about setting up your site for the first time.
Note
Identity Security Cloud is SailPoint’s next-generation identity security solution. It encompasses and builds on features and functions from IdentityNow. The product documentation covers both Identity Security Cloud and IdentityNow features.
## Register a Device
If you are signing into Identity Security Cloud using an identity provider (IdP) for the first time, you will be asked to configure an external authenticator immediately after signing in. This is a one-time requirement that will ensure you can access SailPoint if you need to bypass SSO, like with [emergency admin accounts](https://documentation.sailpoint.com/saas/help/setup/ea_admin.html).
Refer to [Registering a Time-Based One-Time (TOTP) Device](https://documentation.sailpoint.com/saas/help/common/strong_auth.html#registering-a-time-based-one-time-password-totp-device) for more information.
## Add Initial Administrators
Before you can begin setting up your site, you'll need one or more emergency access administrators.
- [**Updating Emergency Access Administrators**](https://documentation.sailpoint.com/saas/help/setup/ea_admin.html)
Emergency access administrators can sign in to your site even if your connectivity is interrupted, which allows them to make changes and troubleshoot your site to get it working again. When you're first given access to your new tenant, SailPoint has already created one of these administrators for you, which you'll use to sign in and add more admins.
## Load Data
Identity Security Cloud manages your identity and access data, but that data comes from sources. You can connect those sources to Identity Security Cloud and link together accounts that belong to the same person in the form of an identity.
- [**Identity Security Cloud SaaS Connectors**](https://documentation.sailpoint.com/connectors/isc/landingpages/help/landingpages/isc_landing.html)
If you want to upload data to Identity Security Cloud from a source without a virtual appliance cluster, use a SaaS connector.
- [**Create Virtual Appliances**](https://documentation.sailpoint.com/saas/help/va/get_started_va.html)
If you want to directly connect to any of your sources to load account data, you'll need a virtual appliance (VA). Virtual appliances allow you to connect your tenant to your sources without compromising your firewall.
### Create Identities
An identity serves as a way to store all of a user's account and access data in a single place.
- [**Create Initial Sources**](https://documentation.sailpoint.com/saas/help/sources/config_sources.html)
Many organizations have a few sources that, together, have records for every user in the organization. These might be HR or directory sources, and they should be created first so that their data is considered the highest priority. You can create other sources later.
Review our [supported sources](https://documentation.sailpoint.com/connectors/isc/landingpages/help/landingpages/isc_landing.html) so you can choose the best sources for your environment.
- [**Create Identity Profiles**](https://documentation.sailpoint.com/saas/help/setup/identity_profiles.html)
Creating an identity profile turns a source into an authoritative source. It also means that any accounts aggregated from this source become identities, and any other accounts aggregated for those users can be associated with their identities.
- [**Load Initial Accounts**](https://documentation.sailpoint.com/saas/help/accounts/loading_data.html)
Load accounts from those sources. This is also known as an aggregation.
### Load Other Account and Access Data
Once you've created the identities for your organization, you can add information about their other accounts and access.
- [**Create Additional Sources**](https://documentation.sailpoint.com/saas/help/sources/config_sources.html)
Configure connections to the rest of the sources in your environment and [load accounts](https://documentation.sailpoint.com/saas/help/accounts/loading_data.html) from those sources.
- [**Correlate Accounts to Identities**](https://documentation.sailpoint.com/saas/help/accounts/correlation.html)
Each account you aggregate can be associated with one of the identities you created earlier, so all of their accounts and access can be viewed in one place.
- [**Load Entitlement Data**](https://documentation.sailpoint.com/saas/help/access/entitlements.html)
Aggregate the access data from each of your sources so that those entitlements can be managed.
## Configure Security Settings
You'll want to make sure that every time an identity in your site signs in, they're the right person and they're allowed to do so. You can configure any or all of the following measures to help keep your site safer:
- [**Set Up Strong Authentication**](https://documentation.sailpoint.com/saas/help/common/strong_auth.html)
Strong authentication, sometimes called multifactor authentication, requires users to prove their identity before they can change their password.
- [**Configure Network and Location Settings**](https://documentation.sailpoint.com/saas/help/access/restrict_access.html)
You can block or allow users who are signing in from specific locations or from outside of your network.
- [**Configure Lockout Settings**](https://documentation.sailpoint.com/saas/help/setup/lockout.html)
Decide how many times a user can enter an incorrect password before they're locked out of the system.
- [**Configure Session Lengths**](https://documentation.sailpoint.com/saas/help/setup/lockout.html)
Decide how long a user can stay signed in to your tenant without reauthenticating, and how long they can be idle before they're signed out.
## Configure SailPoint’s Cloud Services
Now that the framework of your site has been set up, review the documentation about each cloud service you've subscribed to for more information about configuring each feature.
- [**Access Request**](https://documentation.sailpoint.com/saas/help/requests/index.html)
- [**Certifications**](https://documentation.sailpoint.com/saas/help/certs/index.html)
- [**Password Management**](https://documentation.sailpoint.com/saas/help/pwd/index.html)
- [**Separation of Duties**](https://documentation.sailpoint.com/saas/help/sod/index.html)
You can track the status of Identity Security Cloud and its services at [status.sailpoint.com](https://status.sailpoint.com/).
You can also review the documentation for some of SailPoint's other products that can be integrated with Identity Security Cloud.
- [**Access Risk Management**](https://documentation.sailpoint.com/access-risk-mgmt/help/)
- [**AI-Driven Identity Security**](https://documentation.sailpoint.com/saas/help/ai/index.html)
## Invite Users
Finally, if you've decided that your users should have access to your site to review certifications, manage their passwords, or complete other tasks, you can [invite them](https://documentation.sailpoint.com/saas/help/common/users/inviting_users.html) to Identity Security Cloud.
After you've completed your initial setup, you're ready to dive into the more detailed aspects of [managing identities](https://documentation.sailpoint.com/saas/help/identities/index.html) and [governing their access](https://documentation.sailpoint.com/saas/help/access/index.html).
## Using the Resource Center
The Resource Center provides a collection of resources to help administrators learn about, set up, and use the features and capabilities of Identity Security Cloud.
The Resource Center icon is displayed at the bottom right of the screen. Select the icon to open the Resource Center to:
- Access product documentation.
- View product tours with in-app guides for common features.
- Access the customer support portal to view knowledge articles and report issues with your service.
- Find announcements about new product updates. A badge is displayed when new announcements are available.
- View other helpful resources including service health status and training.
Tip
To dismiss the announcements badge, open the Resource Center and view the product updates.
# Processing Identity Data
When changes occur to identity data or access model configurations (identity profiles, roles, access profiles, or applications), corresponding access for your identities may also need to change. These changes happen through identity processing, which can be initiated in response to events, scheduled, or executed manually.
- [Event-based processing](#event-based-processing) immediately processes identity data for identities changed during an aggregation and for identities modified in provisioning actions.
- [Scheduled processing](#scheduled-processing) occurs every morning and evening for identities that meet the requirements.
- [Time-based processing](#time-based-processing) uses an identity attribute to schedule the exact date and time an identity will be processed.
- [Manual processing](#manual-processing) can be initiated following changes to configurations like role definitions or identity attribute mappings.
These actions were previously performed by the process known as an identity refresh.
## Event-Based Processing
When an aggregation or provisioning process modifies an identity, that event initiates identity processing to automatically analyze the identity to make sure the rest of their data is accurate.
If the identity's data is out of sync with the configurations, it performs these changes:
1. Updates identity attribute according to the [identity profile](https://documentation.sailpoint.com/saas/help/setup/identity_profiles.html) mappings.
1. Determines the identity’s correct manager through [manager correlation](https://documentation.sailpoint.com/saas/help/sources/manager_correlation.html).
1. Updates the identity’s access according to their assigned [lifecycle state](https://documentation.sailpoint.com/saas/help/provisioning/lifecycle.html).
1. Updates the roles assigned to the identity based on the criteria they meet, and updates their access based on which roles were added to or removed from them. However, identity processing does not validate that access was successfully provisioned to the identity after starting the provisioning process.
## Scheduled Processing
In some identity profiles, lifecycle states and other identity attributes are calculated through rules or transforms that determine values based on time, rather than on aggregated data.
Example
The lifecycle state attribute is commonly calculated with a [transform](https://developer.sailpoint.com/docs/extensibility/transforms/operations/date-math/#transform-structure) that compares the current date to a hire date or termination date attribute.
Scheduled identity processing runs twice daily, at 8:00 AM and 8:00 PM in the tenant's configured time zone (default CST/CDT).
- At 8:00 AM:
- Active and Inactive (short-term) identities with an account on a source configured with [attribute synchronization](https://documentation.sailpoint.com/saas/help/provisioning/attr_sync.html) are processed.
- This operation performs all necessary actions for [event-based processing](#event-based-processing) for the specified identities. To optimize system performance, Identity Security Cloud updates identity attribute data and reevaluates user access data (roles and lifecycle-driven access) for only those identities with changes.
- At 8:00 PM:
- If your site has any roles implemented, Active and Inactive (short-term) identities are automatically processed.
- If you have no roles defined, identities are processed based on their identity profile. If any of its identity attributes are marked as requiring a periodic refresh, Active and Inactive (short-term) identities are processed.
- This operation performs all necessary actions for [event-based processing](#event-based-processing) for the specified identities. To optimize system performance, Identity Security Cloud updates identity attribute data and reevaluates user access data (roles and lifecycle-driven access) for only those identities with changes.
Notes
- The scheduled processing jobs are queued for execution at the specified times. Other queued or in-progress operations may delay the job start.
- Times are based on your site's [configured time zone](https://developer.sailpoint.com/docs/api/beta/org-config) (default CST/CDT).
## Time-Based Processing
Time-based processing uses the `nextProcessing` identity attribute to determine the next date and time an identity should be processed. This identity attribute must be configured per identity profile.
Identities will be refreshed at the date and time set in this attribute, as well as during [scheduled processing](#scheduled-processing).
**To configure time-based processing:**
1. Go to **Admin > Identity Management > Identity Profiles** and select the identity profile you want to edit.
1. Select **Mappings**.
1. Map the **Next Processing Date** (`nextProcessing`) attribute to an account attribute containing the date the identity should be processed next.
Important
- Ensure the date occurs in the future and uses [ISO 8601](https://www.iso.org/iso-8601-date-and-time-format.html) format. You can use a [transform](https://developer.sailpoint.com/docs/extensibility/transforms/) to convert the date to ISO 8601 format.
- The value for the `nextProcessing` attribute must be set for at least an hour after the `nextProcessing` identity attribute was updated in Identity Security Cloud.
The `nextProcessing` attribute is often mapped to a start date or an end date. This attribute can be assigned a [transform](https://developer.sailpoint.com/docs/extensibility/transforms/operations/static/) so that the next processing date is calculated based on your business needs. For example, you can build a transform that represents the following logic, which will evaluate the `startDate` and `endDate` attributes and select the earliest future date:
```text
if (startDate > now) return startDate + "T06:00:00" else if (endDate > now) return endDate + "T15:00:00" else return null
```
For additional information on using transforms to set the next processing date, refer to the [Developer Community](https://developer.sailpoint.com/discuss/t/time-based-identity-refresh/135906).
1. Select **Save** to complete the mapping.
Best Practice
If you've used transforms in your mappings, SailPoint recommends [previewing and verifying your identity profile changes](https://documentation.sailpoint.com/saas/help/setup/identity_profiles.html#verifying-mappings-with-preview) before selecting **Apply Changes**.
The next time this source is aggregated, this value will be populated for identities and they will be processed as applicable at the assigned date and time.
The identity will undergo processing at that date and time, in addition to during scheduled processing.
## Manual Processing
When you create or edit identity profiles, roles, or access profiles, you must manually initiate identity processing to update your identities. This is required to apply your access model updates to your identities and recalculate access requirements, even when the identities have not changed. You can also initiate identity processing for selected identities.
### Manual Processing for All Identities
To manually start identity processing, select **Apply Changes** on an identity profile or on the role, access profile, or application list pages.
This performs the actions described in [event-based processing](#event-based-processing) for the affected identities:
- From the role, access profile, and application pages, this runs for Active and Inactive (short-term) identities.
- From the identity profile, this runs for identities associated with that profile.
Best Practice
These processes are time- and resource-intensive. For best results:
- Complete all desired role, access profile, and application changes before selecting **Apply Changes** to recalculate membership and access for all of those at once.
- Save and preview your identity profile changes to verify the expected results before selecting **Apply Changes**.
When you select **Apply Changes** for roles, access profiles, or applications, you can select **Review recent configuration changes** before you initiate the job. This will open a pre-defined search showing changes made since manual identity processing was last initiated for all identities through the role, access profile, and application pages. This can help you anticipate the impact of the identity processing job you are initiating.
### Manually Processing for Select Identities
You can also initiate identity processing for a set of identities.
1. Go to **Admin > Identity Management > Identities** and find the identity you want to process.
1. Select **Actions** **> Process Identity**.
This performs the actions described in [event-based processing](#event-based-processing) for the affected identity.
To process multiple identities, select the checkboxes next to the identities you want to process, select the **Actions** menu, and choose **Process Identities**.
## Monitoring Identity Processing
When identity processing is executing, you can go to **Admin > Dashboard > Monitor** to monitor the running process in the Active Jobs list.
You can also use Search to review audit records of identity processing jobs initiated with Apply Changes. Use this query to see the start and end records for each execution: `name:"Manual Identity Processing Started" OR name:"Manual Identity Processing Passed"`.
## Synchronizing Identity Data After Processing
When an identity changes after processing, its data is synchronized across connected services like [Search](https://documentation.sailpoint.com/saas/help/search/index.html) and other systems. Identities are typically synchronized at the same time they are updated. However, in some cases, identities are not processed yet have data changes that affect associated identity data. To capture these cases, the SYNCHRONIZE_IDENTITIES job runs daily at 1:00 AM CST/CDT (6:00 AM UTC) in every tenant. This reconciliation job scans eligible identities in the tenant, determines which changes are necessary, and synchronizes them as needed.
Note
Identities in the Inactive (long-term) [identity state](https://documentation.sailpoint.com/saas/help/provisioning/lifecycle.html#identity-state) are excluded from the SYNCHRONIZE_IDENTITIES job to reduce the system resource consumption and ensure other nightly scheduled jobs are completed.
The job’s speed depends on system load and other identity-related operations. For example, provisioning processes and aggregations may lock identities to maintain their state. For these cases, synchronization will occur after these locks are released.
Note
Submit a [Support](https://community.sailpoint.com/t5/Working-With-Support/ct-p/WorkWithSupport) ticket to adjust the time that the SYNCHRONIZE_IDENTITIES job is scheduled to run.
## Confirming Identity Update Status
Identity data shows when each user was last updated in Identity Security Cloud.
1. Go to **Admin > Identity Management > Identities**.
1. Find and select an identity.
1. In the **Details** tab, view the **Modified** date to determine when the identity was updated.
# Creating Identity Profiles
Most organizations have one or two *authoritative sources*: sources that provide a complete list of their users, such as an HR source or Active Directory. When you define a source as authoritative in Identity Security Cloud, an identity is created for each of its accounts.
You make a [source](https://documentation.sailpoint.com/saas/help/accounts/loading_data.html) authoritative by configuring an identity profile for it. The identity profile determines:
- Security settings for the identities associated to the identity profile, such as authentication settings.
- Mappings for populating identity attributes for those identities.
- The access granted to or removed from those identities when Provisioning is enabled and their [lifecycle states](https://documentation.sailpoint.com/saas/help/provisioning/lifecycle.html) change.
## Prioritizing Authoritative Sources
Each identity can be associated to only one identity profile. If a user can exist in multiple authoritative sources for your organization, it is important to set the priority order of those sources' identity profiles correctly. Identities will be associated with the highest priority identity profile where they have an account on its authoritative source.
By default, identity profiles are prioritized based on the order they were created. The earlier an identity profile is created, the higher priority it is assigned.
If you need to change this order, you can use the [Update Identity Profile API](https://developer.sailpoint.com/docs/api/beta/update-identity-profile) to change the identity profiles' `priority` attribute values.
## Setting Up Identity Profiles
1. Go to **Admin > Identity Management > Identity Profiles**.
1. Select **Create New**.
1. Enter a name for your identity profile. As a best practice, describe the source for this identity profile.
1. Choose a source from the dropdown list. This source will become an authoritative source, and the source's users will become identities in Identity Security Cloud.
1. Enter a description for this identity profile.
1. Configure the identity profile's sign-in and security settings:
**Invitation Options**
- Unless you configure external authentication options (such as pass-through authentication or single sign-on), only invited users can sign in to your tenant. You can choose to invite users manually or automatically. If you have the provisioning service enabled for your org, you can configure the identity profile to automatically invite users to join Identity Security Cloud when they enter a specific lifecycle state.
- Refer to [Inviting Users to Register with Identity Security Cloud](https://documentation.sailpoint.com/saas/help/common/users/inviting_users.html#inviting-users-manually) for details.
**Sign-in Method**
- **`< Site >` User Name & Password** - Users in this identity profile sign in to Identity Security Cloud with the username and password created during their registration process.
- **Directory Connection** - Users loaded from the identity profile sign in using the password associated with the source selected from the Authentication Source dropdown list. This type of authentication is also referred to as [*pass-through authentication*](https://documentation.sailpoint.com/saas/help/common/pta.html).
- **Multifactor Authentication** - Users in this identity profile sign in using a mobile authenticator application such as Google Authenticator or Duo Mobile. *Admins will still be required to use [MFA](https://documentation.sailpoint.com/saas/help/common/strong_auth.html) even if this checkbox is disabled on the identity profile.*
**Password Reset and User Unlock Settings**
- **Enable Two-Factor Authentication** - Select this option to require users to complete two (rather than the standard one) of the enabled Password Reset and User Unlock Methods before resetting their passwords or unlocking their Identity Security Cloud accounts. Refer to [Enabling Two-Factor Authorization](https://documentation.sailpoint.com/saas/help/pwd/pwd_reset.html#enabling-two-factor-authentication) for more information.
- **Mask Phone Numbers** - Select this option to enable phone number masking when users are resetting their passwords.
**Block Access From**
- **Off Network** - If you select this option, users with IP addresses outside of your specified network block won't be able to sign in to Identity Security Cloud. Configure a network block in [Restricting Identity Security Cloud Access](https://documentation.sailpoint.com/saas/help/access/restrict_access.html#specifying-network-ip-restrictions).
Caution
If you select **Off Network** without specifying a network definition, all users associated with the identity profile will be blocked from accessing Identity Security Cloud.
- **Untrusted Geography** - You might have configured a list of [untrusted countries](https://documentation.sailpoint.com/saas/help/access/restrict_access.html#specifying-a-block-list-or-allow-list). If you select this option, users in those countries won't be able to access Identity Security Cloud.
Alternatively, you might have created a list of [trusted countries](https://documentation.sailpoint.com/saas/help/access/restrict_access.html#specifying-a-block-list-or-allow-list). If this is the case, and you select this option, users outside of those trusted countries won't be able to access Identity Security Cloud.
**Password Reset and User Unlock Methods**
- Select the checkbox beside the options you want users to have for resetting their Identity Security Cloud passwords or unlocking their accounts. You can learn about the available methods in [Configuring User Authentication for Password Resets](https://documentation.sailpoint.com/saas/help/pwd/pwd_reset.html#setting-password-reset-and-user-unlock-methods).
1. Select **Save**.
Note
An identity profile cannot be created while an account aggregation is running.
Now that you've set up an identity profile, you are ready to map the identity profile attributes to the appropriate source attributes.
## Defining Identity Profile Attributes
Mappings define how each identity profile's attributes, also known as *identity attributes*, should be populated for its identities. Identity attributes can be mapped from account attributes on any source and can differ for each identity profile.
For example, your Employees identity profile could map most attributes from your HR system while the email attribute is sourced from Active Directory. At the same time, contractors' information might come exclusively from Active Directory.
You can also configure and apply a [transform](#transform) or [rule](#rules) if you need to make changes to a source value in setting your identity attributes.
Important
The special characters `* ( ) & ! .` cannot be used in the source attribute mapped to a username or alternative sign-in attribute. If the username or other sign-in attribute includes any of these special characters, the user associated with the identity may not be able to sign in to or otherwise access your tenant.
### Mapping Identity Attribute Values
The Mappings page contains the list of identity attributes. This includes both the default attributes included with Identity Security Cloud and identity attributes you have added for your site.
Default attributes should not be deleted. Contact SailPoint Support for assistance.
Default Attributes
The following attributes are available by default in newly-created tenants:
- city
- costCenter
- country
- department
- displayName
- email
- endDate
- firstname
- identificationNumber
- inactive
- initials
- lastname
- licenseStatus
- location
- locationCode
- middleName
- nextProcessing
- organization
- personalEmail
- phone
- postalCode
- preferredName
- startDate
- state
- streetAddress
- timezone
- title
- uid
- workPhone
**To map identity attributes for identities in an identity profile:**
1. Open the identity profile you want to edit and select **Mappings**.
In some cases, Identity Security Cloud sets a default mapping from attributes on the account source.
Required Attributes
- The identity attributes **User Name** (uid), **Work Email** (email), and **Last Name** (lastname) are required. They must be set with a mapping for each identity profile and cannot be null for any identity.
- User Name must be unique across all identities from any identity profile.
- Work Email cannot be null but is not validated as an email address.
1. To change or set the source attribute mapping for an identity attribute:
- Select the desired source from the **Source** dropdown list.
- Select a source attribute from the **Attribute** dropdown list.
1. If an identity attribute cannot be set directly from a source attribute, you can use a [transform](https://developer.sailpoint.com/docs/extensibility/transforms/) or [rule](https://developer.sailpoint.com/docs/extensibility/rules/) to calculate the attribute value.
- To apply a transform, choose a source and an attribute, then choose a transform from the **Transform** dropdown list.
Transforms
Identity Security Cloud provides the following **simple** transforms:
- E.164 Phone Format - Converts a phone number into the [E.164 standard](http://en.wikipedia.org/wiki/E.164) for phone numbers.
- ISO3166 Country Format - Converts the name of a country into the two-character [ISO 3166](https://en.wikipedia.org/wiki/ISO_3166) format for countries.
- Remove Diacritical Marks - Converts [diacritical marks](https://en.wikipedia.org/wiki/Diacritic) to their base characters.
- ToLower - Converts the value in the selected attribute to lowercase letters.
- ToUpper - Converts the value in the selected attribute to uppercase letters.
Additional transforms available for tenants onboarded after February 7, 2024.
- RFC5646 - Converts an incoming string into an RFC 5646 language tag value.
- User Preferred Name - Converts an identity’s Display Name value using the Preferred Name value when it exists over the Given Name value. The Family Name value is then appended to form the complete Display Name.
You can combine simple transforms to create **complex** transforms that perform multiple operations on a single attribute, like automatically calculating an identity's lifecycle state based on the start date attribute. You can also [create and upload transforms](https://developer.sailpoint.com/docs/api/v3/transforms). Note that if you contact SailPoint Services to help with this effort, it will be considered a billable service.
Important
- To allow identities with this profile to use [international phone numbers](https://documentation.sailpoint.com/saas/user-help/getting_started/country_codes.html), you must apply the E.164 Phone Format transform to the Work Phone attribute.
- Adding a multi-value attribute to a mapping transform will take the first value only and transform it to a single value attribute.
- To use a rule, choose **Complex Data Source** from the **Source** dropdown list and select a rule from the **Transform** dropdown list.
Note
Rules can provide more flexibility to perform complex calculations of identity attributes, modify provisioning instructions, interact with a connector, and more. Unlike transforms, rules must be reviewed by SailPoint Services before they can be implemented for your org. Refer to the [Developer Community Rules documentation](https://developer.sailpoint.com/docs/extensibility/rules/) for guidelines and review information.
1. To unmap an attribute, select **None** from the **Source** dropdown list.
Special Attributes
- If you want to use [lifecycle states](https://documentation.sailpoint.com/saas/help/provisioning/lifecycle.html) to perform provisioning tasks, the **Lifecycle State** attribute must be mapped.
- If you plan to use functionality that requires users to have a manager, ensure the **Manager Name** attribute is mapped, and then define [manager correlation logic](https://documentation.sailpoint.com/saas/help/sources/manager_correlation.html) for the source. Download an [audit report](https://documentation.sailpoint.com/saas/help/common/audit-reports.html#reporting-overview) for a list of identities without managers.
- If identity attributes are enabled, the identity's Details page displays the `personalEmail` and `phone` attributes set by the user on their Preferences page. These attributes’ values are unaffected by aggregation changes and will only update if the user updates the attributes in their preferences.
### Adding Identity Attributes
You can define custom identity attributes for your site. Any attribute you add under any identity profile will appear in all of your identity profiles, but you do not have to map and use all attributes in all identity profiles.
**To add a new attribute for your site:**
1. Select **Add New Attribute** at the top of the **Mappings** page.
1. In the **Add New Attribute** overlay, enter the name for the new attribute. The Name field only accepts letters, numbers, and spaces. The Technical Name field populates automatically with a camel case version of the name you typed in the Name field.
1. Select **Add** to save and add the new attribute.
1. Map the attribute to a source and source attribute as described in the [mapping instructions](#mapping-identity-attribute-values) above.
1. Repeat these steps for any additional attributes, and then select **Save**.
1. Use the **Preview** feature to [verify your mappings](#verifying-mappings-with-preview). Make any needed adjustments and save your changes.
1. Select **Apply Changes** at the top of the page to apply your changes to the identity profile's identities.
### Verifying Mappings with Preview
Use preview to verify your mappings using your data.
1. Select **Preview** at the upper-right corner of the Mappings page of an identity profile.
1. Select an **Identity to Preview** and verify that your mappings populate their identity attributes as expected.
1. To return to the **Mappings** page to edit or apply your changes, select **< Mappings** at the top of the page.
### Deleting Identity Attributes
You can delete custom attributes you no longer need. This deletes them from all identity profiles. Be mindful of where the attribute may be in use in your implementation and the [implications of deleting them](#impact-of-deleting-a-custom-identity-attribute).
To delete a custom attribute:
1. Select **Remove** on the attribute you want to delete. This immediately removes the attribute from the mappings list, though it is not yet deleted.
1. Select **Save**.
1. Review the warning message about deleting custom attributes. Select **OK** to proceed with the deletion, or select **Cancel** to abort the deletion and restore the attribute to the mappings list.
Note
If you select **Cancel**, all other unsaved changes will also be reverted.
#### Impact of Deleting a Custom Identity Attribute
Deleting a custom identity attribute may have unintended consequences.
- Deleting a custom attribute from an identity profile deletes the attribute from all identity profiles, not just the identity profile you are editing.
You must individually run identity processing on each identity profile in the Identity Profiles list. This is required even if the attribute is not mapped in the identity profile.
- Deleting the attribute could cause data integrity issues if it's used in other areas of your tenant, such as:
- Roles whose [membership criteria](https://documentation.sailpoint.com/saas/help/provisioning/role_assignment.html#standard-criteria) are based on the value of this attribute.
- The Identity Security Cloud User Name field if it has been configured to use this attribute.
- A custom app's User Name field if it has been configured to use this attribute.
- SAML attributes including the attribute maps. Refer to [SAML Configuration Guide](https://documentation.sailpoint.com/saas/help/common/config_isc_service_provider.html) for details.
- [Rules](https://developer.sailpoint.com/docs/extensibility/rules/) or [transforms](https://developer.sailpoint.com/docs/extensibility/transforms/) that call this attribute in the related code.
This can include calculations to determine:
- [Lifecycle states](https://documentation.sailpoint.com/saas/help/provisioning/lifecycle.html) which could impact provisioning.
- [Exclusion rules](https://documentation.sailpoint.com/saas/help/certs/campaign_filters.html) which could impact certifications.
## Viewing Identity Profiles
You can view your identity profiles, as well as their identity exceptions, priority, and statuses, by going to **Admin > Identity Management > Identity Profiles**.
**Identity Exceptions**
An identity exception occurs when an account on an authoritative source is missing values for one or more of the [required attributes](#required-attrs). If an identity profile contains identity exceptions, you can select the **Identity Exceptions** icon to download a .csv or .pdf file to [resolve the identity exceptions](#resolving-identity-exceptions).
**Priority**
Identity profiles are prioritized based on the order they were created. The earlier an identity profile is created, the higher priority it is assigned. By default, the first identity profile created will be assigned 10 as a priority and will have the highest priority. The next identity profile created will be assigned 20 and will have a lower priority. This pattern continues for each identity profile you create. You can change the priority order of identity profiles through the [Update the Identity Profile API](https://developer.sailpoint.com/docs/api/beta/update-identity-profile). For more information about an identity profile’s priority, refer to [Prioritizing Authoritative Sources](#prioritizing-authoritative-sources).
**Scheduled Processing**
An identity profile will be marked as having scheduled processing if it has an identity attribute mapped to a rule or transform that is tagged with `@requiresPeriodicRefresh`. For more information, refer to [Scheduled Processing](https://documentation.sailpoint.com/saas/help/setup/identity_processing.html#scheduled-processing).
**Status**
An identity profile can have an Active or Needs Processing status. For identity profiles that need processing, you can select **Actions** **> Apply Changes** to apply changes made to that identity profile. For example, if you make changes to your mappings, the identity profile needs processing to apply those changes.
### Resolving Identity Exceptions
When you aggregate data from an authoritative source, if an account on that source is missing values for one or more of the [required attributes](#required-attrs), Identity Security Cloud generates an *identity exception*. A duplicate User Name (uid) also generates an exception. You can resolve identity exceptions by updating the missing attributes in the source.
Note
Identities missing required attributes also appear as Incomplete Identities on the Identities page.
1. Go to **Admin > Identity Management > Identity Profiles**.
1. Find an identity profile with the **Identity Exceptions** icon . Select either **Download CSV** or **Download PDF** to download the report. The CSV option downloads the report as a zip file.
If these buttons are disabled, there are currently no identity exceptions for the identity profile.
1. Review the report and determine which attributes are missing for the associated accounts.
1. Edit the account in the source to resolve the data problem.
1. Manually aggregate the source again or wait for a regularly scheduled aggregation to confirm that the exceptions were resolved.
Identity Security Cloud automatically [processes identity data](https://documentation.sailpoint.com/saas/help/setup/identity_processing.html) changed in aggregation, so you can be sure you're working with the latest identity data.
## Deleting Identity Profiles
When you attempt to delete an identity profile, you'll receive a warning message that describes the implications of deleting the identity profile. Deleting an identity profile:
- Does not delete its account source, but it does make the source non-authoritative.
- Does not delete the source's accounts in Identity Security Cloud or deprovision them from the source system.
- Deletes its identities unless they can be [reassigned to other identity profiles](https://documentation.sailpoint.com/saas/help/accounts/loading_data.html#deleting-authoritative-accounts-and-identities) in your system. When identities get deleted, all of their source accounts become [uncorrelated](https://documentation.sailpoint.com/saas/help/accounts/correlation.html#resolving-uncorrelated-accounts).
Before deleting an identity profile, verify that any associated identities are not source or app owners. If they are, you won't be able to delete the identity profile until those connections are removed.
**To delete an identity profile:**
1. Go to **Admin > Identity Management > Identity Profiles**.
1. Select the **Actions** icon next to the identity profile you want to delete.
1. Select **Delete Identity Profile**.
1. Select **Delete**.
Note
An identity profile cannot be deleted while an account aggregation is running.
# Managing Lockout Settings
Identity Security Cloud locks a user account if they fail to enter the correct password or complete multifactor authentication (MFA) verification after a certain number of tries to sign in or reset a password.
By default, if a user or an unauthorized person provides the wrong password five times in a row in a five-minute period, they are locked out of their account for 15 minutes. You can change the default settings to meet the requirements of your organization by following the process described below.
Note
The sign in page does not warn the user that this is happening to prevent malicious activities such as brute force attacks. However, the user does receive an [email notification](https://documentation.sailpoint.com/saas/help/common/emails/et_user_lockedout.html) that indicates when and where the attempts occurred and when the account will be unlocked.
After 15 minutes, the user can try again or choose to [reset their password](https://documentation.sailpoint.com/saas/user-help/accounts/resolving_issues.html#resetting-your-password).
Important
If your tenant is configured to restrict users from unlocking their account or resetting their password based on their [country or network](https://documentation.sailpoint.com/saas/help/access/restrict_access.html), these options might not be available to all users.
Be aware of how these lockout settings might interact with pass-through authentication sources. If Identity Security Cloud is configured to use [pass-through authentication](https://documentation.sailpoint.com/saas/help/common/pta.html), locking the Identity Security Cloud account also locks their Active Directory or other primary account.
If users are locked out because of failed sign ins, they can choose to [unlock their account](https://documentation.sailpoint.com/saas/user-help/accounts/resolving_issues.html#unlocking-your-account) or [reset their password](https://documentation.sailpoint.com/saas/user-help/accounts/resolving_issues.html#resetting-your-password) to access the system immediately. If a user needs help resetting their password or you believe their account is compromised, you can [reset their password](https://documentation.sailpoint.com/saas/help/common/users/reset_pwd_auth.html#initiating-a-password-reset) for them.
**To manage lockout settings:**
1. Select **Global > Security Settings > Lockout Management**.
1. Under **Sign In Lockout Settings**, use the dropdown menus to set the:
- **Maximum Attempts** - The number of times someone can enter the wrong password before the account is locked.
- **Minutes Until Attempt Count Resets** - The period during which the number of failures is counted. For example, by default, if someone enters the wrong password five times within a five-minute period, they are locked out. However, if they enter four wrong passwords and then take a break for five minutes, they can try again without being locked out because the failure count resets.
- **Minutes User is Locked Out** - How long the account is locked before the user can try again.
Note
These settings apply to both password authentication attempts and MFA verification attempts during sign-in. If a user fails to provide the correct password or MFA verification code the specified number of times within the configured window, their account will be locked.
1. Under **Password Reset Lockout Settings**, use the dropdown menus to set the maximum attempts and minutes the user is locked out of the account. These settings apply to password reset attempts, including both password entry and MFA verification attempts during the password reset process.
If a user successfully enters their password but fails the security questions, they are not locked out of their accounts.
Note
Maximum attempt limits do not apply to [security questions](https://documentation.sailpoint.com/saas/help/accounts/kba.html).
However, if a user is *resetting* their password and fails the questions, they will be temporarily blocked from resetting their password.
The attempt limit and duration of being blocked are configured in **Global > Lockout Management > Password Reset Lockout Settings**.
# Managing Sources Overview
A *source* is the Identity Security Cloud representation of a third-party application, database, or directory management system that maintains its own set of user accounts or personnel records. Identity Security Cloud uses [*connectors*](https://documentation.sailpoint.com/connectors/isc/landingpages/help/landingpages/isc_landing.html) to collect user accounts and access rights from those systems and associate them to the source definition.
[Multi-Host groups](https://documentation.sailpoint.com/saas/help/multihost/index.html) can be used for bulk source creation of infrastructure components and server configuration.
## Source and Connector Definitions
There are multiple methods to load identity data into Identity Security Cloud. The following definitions outline the differences between sources, connectors, connection types, and applications.
### Source Definitions
| Term | Definition |
| --------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Source | The Identity Security Cloud representation of a third-party [enterprise application](#enterprise-app), database, or directory management system that maintains its own set of user accounts or personnel records. It contains the identities you want to govern in Identity Security Cloud. For a list of available source types, refer to the [SailPoint Connectors documentation](https://documentation.sailpoint.com/connectors/isc/landingpages/help/landingpages/isc_landing.html). |
| [SAML Just-in-Time (JIT) Provisioning Source](https://documentation.sailpoint.com/saas/help/common/jit-accounts.html) | The SAML Just-in-Time (JIT) provisioning source connects with your identity provider to create an account on an app for a user when they attempt to authenticate for the first time. |
### Connection Type Definitions
| Term | Definition |
| -------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Direct Connection | A connection type where you enter configuration details to allow Identity Security Cloud to connect directly to the source system. Identity Security Cloud uses direct connections to track and aggregate identity data changes from the source system. Direct connections can use [VA-based connectors](#va-based) or [SaaS connectors](#saas-connector). |
| Flat File Connection | A connection type where you provide a flat file, like a .csv, containing identity and account data. |
### Connector Definitions
| Term | Definition |
| ----------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Connector | An interface provided by SailPoint to enable you to provide configuration details or a flat file to collect user accounts and access rights from your source systems. Refer to the [SailPoint Connector Documentation](https://documentation.sailpoint.com/connectors/isc/landingpages/help/landingpages/isc_landing.html) for a list of available connectors. |
| VA-Based Connector | Virtual appliance (VA)-based connectors provide an interface to read user account data and provision changes from Identity Security Cloud to target systems and applications. VA-based connectors are on-premise deployments which require you to configure a virtual appliance cluster to manage the connector. Previously referred to as "direct sources." |
| SaaS Connector | SaaS connectors provide an interface to read user account data and provision changes from Identity Security Cloud to target systems and applications without needing an on-premise virtual appliance cluster. |
| [Deep Governance Connector](https://documentation.sailpoint.com/connectors/isc/landingpages/help/landingpages/deep_governance.html) | Deep governance connectors read user account data and provision changes directly from Identity Security Cloud to managed systems and applications. This includes governance actions on the source like configuring account schemas and provisioning, aggregating and managing entitlements, and configuring password settings. They can be SaaS or VA-based. |
| [Quick Compliance Connector](https://documentation.sailpoint.com/connectors/isc/landingpages/help/landingpages/quick_compliance.html) | Quick Compliance connectors support account and entitlement aggregation only. These read-only configurations require minimal information to quickly begin gathering user data from the source system. They can be SaaS-based only. |
| File-Based Connector | File-based connectors are disconnected, read-only sources that require a file to upload data to Identity Security Cloud. These are either Delimited File or Generic Flat File connectors. |
| [Single Source Connectors](https://documentation.sailpoint.com/connectors/isc/landingpages/help/landingpages/single_source.html) | SaaS connectors that enable you to configure both your identity governance sources and Cloud Infrastructure Entitlement Management (CIEM) or Activity Insights within Identity Security Cloud. |
| [Enterprise Application](https://documentation.sailpoint.com/saas/help/ai/app_onboarding/index.html#application-definitions) | Enterprise applications are on-premise or SaaS platforms that require identity security functions to manage access to accounts on them. Enterprise applications are often the source systems you're connecting to. If your organization has licensed SailPoint application onboarding, you can use [Discovery Connectors](https://documentation.sailpoint.com/saas/help/ai/app_onboarding/app_discovery.html#available-discovery-connectors) to quickly discover these enterprise applications. |
| [Access Application](https://documentation.sailpoint.com/saas/help/access/app-config.html#configuring-access-applications) | Access applications are logical groupings of access within Identity Security Cloud that provide context for access rights, access requests, and password policies. These are groups you create within Identity Security Cloud, as opposed to enterprise applications, which are external systems you connect using connectors or SailPoint application onboarding. |
| [SAML Just-in-Time (JIT) Provisioning Source](https://documentation.sailpoint.com/saas/help/common/jit-accounts.html) | The SAML Just-in-Time (JIT) provisioning source connects with your identity provider to create an account on an app for a user when they attempt to authenticate for the first time. |
| [Discovery Connectors](https://documentation.sailpoint.com/saas/help/ai/app_onboarding/app_discovery.html#available-discovery-connectors) | Discovery connectors are connectors used in SailPoint application onboarding that are capable of discovering enterprise applications in your organization. Discovery connectors have categories like CMDB and SSO. |
| [Connector Category](https://documentation.sailpoint.com/saas/help/ai/app_onboarding/app_discovery.html) | The source category is used to determine where the discovery connector should look to find your enterprise applications. For example, SSO discovery connectors like Okta identify applications connected through SSO connections that you can add to Identity Security Cloud. |
## Viewing Source Details
After you have [configured a source](https://documentation.sailpoint.com/saas/help/sources/config_sources.html) and [loaded account data](https://documentation.sailpoint.com/saas/help/accounts/loading_data.html), you can view or edit a source's details.
To view a list of sources configured by your organization, go to **Admin > Connections > Sources**. You can search the list by name or description, or filter the list by connection type, source owner, warnings, and more. If there are warnings or statuses, you may be able to select them for more information.
The default view of the sources list is the table view. Select **Cards** to display source details in a card view.
From the sources list, you can view:
- **Source type** - The type of data provided by the source. For a list of source types, refer to the [SailPoint Connector documentation](https://documentation.sailpoint.com/connectors/isc/landingpages/help/landingpages/isc_landing.html).
- **Connection type** - The method used to connect the source to Identity Security Cloud. Sources can be connected through a direct connection with an external system or through a flat file that a user imports. For more information on these connections, refer to [Loading Account Data](https://documentation.sailpoint.com/saas/help/accounts/loading_data.html).
- **Source Owner** - The owner of the source. After you've configured a source, you must [assign a source owner](#assigning-a-source-owner).
- **Recommendations** - If your organization uses [Recommendations](https://documentation.sailpoint.com/saas/help/ai/app_onboarding/source_recommendations.html), you can view the status of source configuration recommendations. If you visit the source page with recommendations, the Ready state will be cleared until recommendations are refreshed.
To view governance group and connectivity information for a source, select **Edit** from the **Actions** menu or on a card:
- [**Governance Group for Source Management**](https://documentation.sailpoint.com/saas/help/common/users/governance_groups.html) - The group used for granting users source role sub-admin level oversight of the source and its access.
- **Additional connectivity details** - Connectivity information such as URL, host, port, username, password, and more. This information varies by connector.
## Viewing Accounts on a Source
To view which identities have accounts on a source, go **Admin > Connections > Sources** and select or edit a source.
In the **Account Management** section, select **Accounts** to view a list of the accounts on the source.
Select an account to view additional details.
The identity assigned to each correlated account is listed by default within the table. Select the **Correlated** filter at the top of the page to show only correlated accounts.
If an identity is listed multiple times, this indicates that the identity has multiple accounts on this source. As a result, the identity may be able to access the application using any of these accounts, possibly with different types of access through each account.
Uncorrelated accounts have `(Uncorrelated)` beside their identity name, indicating that while a shadow identity has been created for them, the account hasn't been correlated to an authoritative identity. Select the **Uncorrelated** filter to show only [uncorrelated accounts](https://documentation.sailpoint.com/saas/help/accounts/correlation.html#resolving-uncorrelated-accounts), which are accounts that have not been matched to an identity in your system.
You can also take several actions on the accounts in this list by selection the **Actions** icon beside the account.
- Select **Disable Account** to disable the user's account on the source.
- Select **Aggregate Account** to aggregate only this account data from this source.
- Select **Remove Account** to remove this account from Identity Security Cloud. It will be re-aggregated during the next complete source aggregation unless it is removed from the source as well.
Select **Export** to export details for all accounts on a source, including their entitlements. Sources with more than 100,000 accounts can't be exported.
## Assigning a Source Owner
Sources must have a designated *source owner* who can complete provisioning and certifications tasks:
- **Provisioning** - For sources added using a flat file feed, source owners will receive notifications in their [Task Manager](https://documentation.sailpoint.com/saas/user-help/task_manager.html) when an account needs to be added, modified, or removed.
- **Certifications** - A source owner may be asked to review the access of people who have entitlements on a source. They may also receive tasks to remove entitlements that were revoked during certification campaigns.
Note
The source owner of the IdentityNow source can only be assigned using the [Update Source (Partial)](https://developer.sailpoint.com/docs/api/v3/update-source/) API.
**To assign a source owner:**
1. Go to **Admin > Connections > Sources**.
1. Select or edit the source you want to assign an owner to.
1. In the **Source Setup** section, select **Base Configuration**.
1. In the **Source Owner** dropdown field, enter the name of the user you want to assign as the source owner.
1. Select **Save** to add this user as the source owner.
The source owner will receive notifications of tasks they need to complete in their [Task Manager](https://documentation.sailpoint.com/saas/user-help/task_manager.html).
Notes
If a source owner is not assigned:
- Access Request approvals are escalated to an Admin if there is a source owner in the approval schema.
- Source Owner Certification Campaigns show an error.
## Verifying Connectivity
You can check the following to ensure that your sources are working after an update:
**Identity System Checks**
- Check the [Virtual Appliance Health](https://documentation.sailpoint.com/saas/help/va/manage_va.html#monitoring-va-health).
- Validate that VA clusters have a status of **Normal**.
- Check the health of your sources:
- Check the System Status dashboard for source errors.
- Look for [status banners](#source-status-messages) on the source pages.
- Edit a source and choose **Test Connection** in the **Review and Test** section.
- Validate that user/group [aggregations](https://documentation.sailpoint.com/saas/help/accounts/loading_data.html#viewing-account-aggregation-history) are functioning appropriately.
**Verifying Provisioning**
- Validate the [role](https://documentation.sailpoint.com/saas/help/access/roles.html) is providing the expected entitlements.
- Validate [attribute synchronization](https://documentation.sailpoint.com/saas/help/provisioning/attr_sync.html) operates as expected.
- Validate [lifecycle state changes](https://documentation.sailpoint.com/saas/help/provisioning/lifecycle.html) operate as expected.
## Resetting Sources
You can remove data associated with a source from your system, including accounts, entitlements, and access profiles, without losing the source's configuration. For example, you may want to reload the data for a source after you've changed its schema. Rather than delete the source and start over, you can reset the source so it maintains its configuration, and then run a [full aggregation](https://documentation.sailpoint.com/saas/help/accounts/loading_data.html#aggregating-account-information-on-a-direct-connect-source-using-apis) to reload its data.
Note
You can reset one source at a time.
Before you reset a source, review the following table to understand how resetting a source can affect your data and what actions you may need to take after the reset.
| Source Data Affected | System or User Behavior | Post-Aggregation |
| --------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------- |
| Connected Identity Profile | The identity profile is not deleted, but all identities are deleted from it. If the identity also exists on another authoritative source, it will temporarily become an identity on that source. | Identities are recreated. If an identity was temporarily moved to a different identity profile, it will be reconnected to the original source. |
| Identity Profiles with Required Attributes Mapped to the Source | If mappings are on required attributes, those accounts become uncorrelated. | Accounts become correlated. |
| Identity Profiles with Attributes Mapped to the Source | Associated attributes are temporarily removed from the related identities. **Note:** Attributes that are mapped to transforms that reference this source are also temporarily removed. | The attributes and their values appear correctly. |
| Source Owners from the Source | If any of the identities on the source you are resetting are [source owners](#assigning-a-source-owner) of any source, you will not be able to reset the source. Choose a new source owner for that source and try again. | Reassign the previous source owner as needed. |
| App Owners from the Source | The app owner field on the app is cleared. | You must reassign the app owner. |
| Entitlements | Entitlements are cleared. | Entitlements are reloaded. |
| Access Profiles | Access profiles are deleted. | You must recreate any access profiles needed for provisioning. |
| Accounts Correlated to Identities | Source accounts that were correlated to your identities are removed. | The new correlation configuration is applied to your current identities. Account sources might be reassigned based on these changes. |
### Aggregations and Source Resets
- A source reset will fail if an aggregation is in progress.
- [Aggregation schedules](https://documentation.sailpoint.com/saas/help/accounts/loading_data.html#scheduling-aggregations-for-direct-connect-sources) are retained after a reset.
- You must disable [delta aggregations](https://documentation.sailpoint.com/saas/help/accounts/loading_data.html#configuring-delta-aggregations-for-supported-sources) for JDBC, Lotus Domino, and SAP HR before resetting these sources. After executing a full aggregation, you can reinstate the delta aggregation configurations.
- For Active Directory and SharePoint, [delta aggregations](https://documentation.sailpoint.com/saas/help/accounts/loading_data.html#configuring-delta-aggregations-for-supported-sources) can remain in place, and schedules associated with aggregation still apply. Identity Security Cloud will run one full aggregation before resuming delta aggregation for these sources.
### Resetting a Source
To reset a source, you will remove [accounts](#remove-accounts-from-a-source) and [entitlements](#remove-entitlements-from-a-source) from a source using the REST API. API calls require the appropriate authentication.
To reset your source, you will need the cloud source ID displayed at the end of the URL in your browser address.
Alternatively, you can [delete a source](#deleting-sources) if you no longer need to maintain it.
**To remove accounts from a source using the REST API:**
1. Go to **Admin > Connections > Sources**.
1. Select or edit the source you want to remove accounts from.
1. Make note of the cloud source ID, which is displayed at the end of the URL in your browser address.
1. Use your preferred tool to call the following API:
`POST https://.api.identitynow.com/beta/sources/<:id>/remove-accounts`
where
`` is the URL for your Identity Security Cloud tenant.
`<:id>` is the ID of the source your accounts will be removed on.
The call removes all accounts from the source. To reload accounts onto this source, run a full, un-optimized [aggregation](https://documentation.sailpoint.com/saas/help/accounts/loading_data.html#aggregating-account-information-on-a-direct-connect-source-using-apis).
If you need to remove entitlements, refer to [removing entitlements from a source](#remove-entitlements-from-a-source).
**To remove entitlements from a source using the REST API:**
1. Go to **Admin > Connections > Sources**.
1. Select or edit the source you want to remove entitlements from.
1. Make note of the cloud source ID, which is displayed at the end of the URL in your browser address.
1. Use your preferred tool to call the following API:
`POST https://.api.identitynow.com/beta/entitlements/reset/sources/<:id>`
where
`` is the URL for your Identity Security Cloud tenant.
`<:id>` is the ID of the source your entitlements will be removed on.
The call removes all entitlements and access profiles from the source. Run an account aggregation and entitlement aggregation to add accounts and entitlements to the source.
## Deleting Sources
Before you can delete a source, you'll need to remove all connections to that source. This includes:
- [Resetting the source](#resetting-a-source) to remove its accounts and entitlements.
- [Removing identity profiles](#removing-identity-profiles-from-a-source) associated with the source.
- [Removing access applications](#removing-access-app-connections-from-a-source) connected to the source.
- Removing references to the source in [transforms](https://developer.sailpoint.com/docs/extensibility/transforms/).
Note
If the source is used to authenticate logins to Identity Security Cloud through [pass-through authentication](https://documentation.sailpoint.com/saas/help/common/pta.html), you must configure an alternative authentication process (source) prior to deleting the source.
Tip
To see a comprehensive list of connections to a source, including the virtual appliance, identity profiles, and access apps, select **Connections** under **Aggregation History and Connections** in the source configuration.
### Removing Identity Profiles from a Source
Before you delete an [identity profile](https://documentation.sailpoint.com/saas/help/setup/identity_profiles.html), it's important to understand the implications of doing so. For example, in addition to deleting identities, the accounts on the related source become [uncorrelated](https://documentation.sailpoint.com/saas/help/accounts/correlation.html#resolving-uncorrelated-accounts) unless another identity profile in your system also owns those accounts.
**Prerequisite:** Before deleting an identity profile, verify that associated identities are not source or access app owners. If they are, you won't be able to delete the identity profile until those connections are removed.
**To view the identity profiles on a source:**
1. Go to **Admin > Connections > Sources**.
1. Select or edit the source you want to remove identity profiles from.
1. In the **Aggregation History and Connections** section, select **Connections**. If the source is connected to an identity profile, the name of the profile is displayed under **Identity Profile** along with the number of identities that came from the source using that identity profile.
1. Select **Details** on the identity profile to view additional details and to verify that deleting it will not pose any problems.
**To delete a source's associated identity profile:**
1. Go to **Admin > Identity Management > Identity Profiles**.
1. Select **Actions > Delete Identity Profile** for the identity profile you want to delete.
1. In the confirmation window, select **Delete**.
### Removing Access App Connections from a Source
Before you remove an access app from a source, it's important to understand the implications of doing so. Removing an access app from a source affects users' ability to use those access applications. You must select a replacement source for the access application before you remove the current source.
1. Go to **Admin > Connections > Sources**.
1. Select or edit the source you want to remove access applications from.
1. In the **Aggregation History and Connections** section, select **Connections**.
1. Choose the access app from the **Applications** section to view additional details about it before removing it from the source.
1. When you understand the impact of removing the access app from the source, go to **Admin > Access Model > Applications** and select the access app you want to edit.
1. In the **Account Source** section of the **Configuration** tab, use the **Select Source** dropdown list to select the new source for the access app to use in place of the one you are preparing to delete.
Note
The **Account Source** section only displays when **Admin (IT)** is selected for **App Accounts Created By**.
1. Complete your configuration and select **Save** to update Identity Security Cloud with your changes.
After you've removed all connections to the source, run an aggregation for the source. When the aggregation process completes, you can [delete the source](#deleting-a-source).
Note
You cannot delete a source while identity data is being processed, even if the data isn't connected to the source you want to delete.
### Deleting a Source
Before you delete a source, you must you must remove its accounts and entitlements and remove all references to that source from identity profiles and applications.
You can delete a source on the Sources list page or from the Source Configuration page, or by using the Identity Security Cloud REST API. Refer to the [Delete Source API](https://developer.sailpoint.com/docs/api/v3/delete-source) documentation for more information on the API call.
**To delete from the sources list page**:
1. Go to **Admin > Connections > Sources**.
1. Select **Actions > Delete** for the source you want to delete.
1. Select **Continue** on the confirmation message to delete the source. If the source is still in use, an error will display.
Tip
You will see more details about where the source is in use if you delete it from the source details page.
**To delete from the source details page**:
1. Go to **Admin > Connections > Sources**.
1. Select or edit the source you want to delete.
1. Select **Actions > Delete**.
If the source is still in use, a list of items connected to the source displays. You must remove these connections before you can successfully delete the source.
1. If the source is not in use, select **Continue** on the confirmation message to delete the source and its related data.
## Source Status Messages
You can view source status information in:
- The [alert](https://documentation.sailpoint.com/saas/help/common/audit-reports.html#admin-dashboard) icon in both the **Sources** panel of the System Status and the list of sources.
- The [email](https://documentation.sailpoint.com/saas/help/common/emails/et_source_health.html) notification from Identity Security Cloud, if you have enabled email [notifications](https://documentation.sailpoint.com/saas/help/common/getting_notified_org_health.html#configuring-system-notifications) for your sources.
- A banner on the source's page.
You can select the source to see the banner at the top of the source's configuration. This banner contains more information about the problem your source is experiencing. Use the following table to troubleshoot source errors:
| Banner Text | Source Type | Suggested Solutions |
| ------------------------------------------------ | ---------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| VA cluster failing for `
#if($emailRecipientName != $cancelerName)
Please contact ${cancelerName} if you have any questions.
#end
Thanks,
The ${PRODUCT_NAME} Team
```
## Attributes
This email template uses [version 1](https://documentation.sailpoint.com/saas/help/common/emails/available_templates.html#version-1-templates) global variables and the following template-specific attributes:
| Name | Type | Description |
| ---------------------------- | ------- | ---------------------------------------------------------------------------------------------------------------- |
| cancelComment | String | The reason for canceling the request. |
| cancelerName | String | The name of the user who canceled the request. |
| emailRecipientName | String | The name of the email recipient. |
| isRobo | Boolean | Whether the request was made on the behalf of another user. |
| requestedForName | String | The name of the user for whom access was requested. |
| requestedObjectDetailsByType | Map | A list of details about each item requested, in order of the object type (access profile, entitlement, or role). |
| requestedObjectNamesByType | Map | The names of each item requested, in order of the object type (access profile, entitlement, or role). |
| requesterName | String | The name of the user who requested the access. |
# Access Request Decision Email Template
The Access Request Decision email is sent to a user when an access request they made is approved or denied.
**Name:** Access Request Decision
**Subject:** Your access request for ${accessProfileName} has been #if($approved)approved#{else}denied#end
**Body:**
```html
Dear ${user.name},
#if(${roleRequestEnabled})
Your request for the ${requestedObjectName} #if(${requestedObjectType}=="Role") role #elseif(${requestedObjectType}=="Entitlement") entitlement #else access profile #end
#if($requesterName != $requestedForIdentityName) for ${requestedForIdentityName}#end has been
#else
Your request for ${accessProfileName}#if($requesterName != $requestedForIdentityName) for ${requestedForIdentityName}#end has been
#end
#if ($approved)approved#{else}denied#end.
#if(${requestedObjectType}=="Role" && ${accessRequestMetadata} && ${accessRequestMetadata.get("requestContextInformation")}) Requested Dimensions Attributes:#foreach($key in ${accessRequestMetadata.get("requestContextInformation").keySet()})
#end#end
#if(${roleRequestEnabled})
#if($approved && $accessibleItems && $accessibleItems.size() > 0)
This means #if($requesterName != $requestedForIdentityName) the user now has #else you now have #end access to
the following:
#set($sep="")
#foreach($item in $accessibleItems)
$sep$item
#set($sep=", ")
#end.
#end
#end
#if (!$approved && $reviewerComment)
${rejecterName} included the following comment when denying the access: $reviewerComment
This entitlement requires activation before each use. To activate this entitlement, visit MySailPoint > Launchpad > Just-In-Time Access
#end
#if ($removeDate)
#if($requesterName != $requestedForIdentityName) The user's #else Your #end access to ${requestedObjectName} is scheduled to end on ${removeDate}.
#end
#end
#if (!$approved)
Please contact ${rejecterName} if you have any questions.
#end
Thanks,
The ${PRODUCT_NAME} Team
```
## Attributes
This email template uses [version 1](https://documentation.sailpoint.com/saas/help/common/emails/available_templates.html#version-1-templates) global variables and the following template-specific attributes:
| Name | Type | Description |
| ------------------------ | ------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| accessibleItems | List | A list of items the user can access as a result of their request being approved. |
| accessProfileName | String | The access profile that was requested during this access request. |
| activationRequired | Boolean | Whether the requested entitlement requires activation before each use. |
| approved | Boolean | Whether or not the request was approved. |
| approverName | String | The display name of the identity that approved the request. |
| rejecterName | User | If applicable, the name of the reviewer who rejected this access request. |
| removeDate | String | The date on which the access will be removed. |
| requestedForIdentityName | String | The name of the user for whom access was requested. |
| requestedObjectName | String | The name of item that was requested. |
| requestedObjectType | String | The type of item that was requested. |
| requesterName | String | The display name of the identity that requested the app. |
| reviewerComment | String | The comments the reviewer enters when they deny access, if applicable. |
| roleRequestEnabled | Boolean | Whether the role request feature is enabled for a site. |
| sourceInformation | List | A list of mapping for account source information in case of multi account request. Map contains the following keys: - sourceAccountName - sourceAccountId - sourceName Note: This is only populated if supplied as part of the account request payload. The Request Center will always provide this, though the account name and ID may be null if the user did not already have an account on the source. This will only be blank for requests submitted through an API call that omits account selection, which is allowed when the user has one or no accounts. |
| accessRequestMetadata | Map | A map of dimension attributes. Contains both Requested Dimension attributes and Matched Dimension attributes. By default, we show Requested Dimension Attributes. To use the Matched Dimension Attributes, please take reference on how requested attributes are used. Use the key “matchedRolesInformation” |
# Access Request Decision for Other Email Template
The Access Request Decision for Other email is sent to a user when the reviewer of a request made on their behalf has made a decision.
**Name**: Access Request Decision for Other
**Subject**: ${requesterName}'s Request for Access for you was #if($approved)approved#{else}denied#end
**Body**:
```html
Dear ${user.name},
On ${dateRequested}, ${requesterName} requested ${requestedObjectName} for you.
#if(${requestedObjectType}=="Role" && ${accessRequestMetadata} && ${accessRequestMetadata.get("requestContextInformation")}) Requested Dimensions Attributes:#foreach($key in ${accessRequestMetadata.get("requestContextInformation").keySet()})
Your access has been approved. The system is now processing the request.
#if ($activationRequired)
This entitlement requires activation before each use. To activate this entitlement, visit MySailPoint > Launchpad > Just-In-Time Access
#end
#if ($removeDate)
Your access to ${requestedObjectName} is scheduled to end on ${removeDate}.
#end
#{else}
Your access has been denied.
#if ($reviewerComment)
${rejecterName} included the following comment when denying the access: $reviewerComment
#{else}
Please contact ${rejecterName} if you have any questions.
#end
#end
Thanks,
The ${PRODUCT_NAME} Team
```
## Attributes
This email template uses [version 1](https://documentation.sailpoint.com/saas/help/common/emails/available_templates.html#version-1-templates) global variables and the following template-specific attributes:
| Name | Type | Description |
| ------------------------ | ------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| activationRequired | Boolean | Whether the requested entitlement requires activation before each use. |
| approved | Boolean | Whether the access request was approved. |
| approverName | String | The display name of the identity that approved the request. |
| dateRequested | String | The date the request was made. |
| rejecterName | String | The display name of the identity who denied the request. |
| removeDate | String | The date on which the access will be removed. |
| requestedForIdentityName | String | The display name of the identity that the access was requested for. |
| requestedObjectName | String | The name of item requested. |
| requestedObjectType | String | The type of item requested. |
| requesterName | String | The display name of the identity who requested the access. |
| reviewerComment | String | If available, any comments left by the reviewer. |
| roleRequestEnabled | Boolean | Whether the role request feature is enabled for a site. |
| sourceInformation | List | A list of mapping for account source information in case of multi account request. Map contains the following keys: - sourceAccountName - sourceAccountId - sourceName Note: This should only be used in case of multiple accounts. Otherwise, this variable will not be populated. |
| accessRequestMetadata | Map | A map of dimension attributes. Contains both Requested Dimension attributes and Matched Dimension attributes. By default, we show Requested Dimension Attributes. To use the Matched Dimension Attributes, please take reference on how requested attributes are used. Use the key “matchedRolesInformation” |
# Access Request Failed - Multiple Accounts
The Access Request Failed - Multiple Accounts email notifies the requester that their access request failed because the user they requested access for has multiple accounts on the source. This email is sent when the request is submitted through the API and does not resolve account selection as Identity Security Cloud is unable to determine which account should receive the access included in the access request.
**Name**:Access Request Failed - Multiple Accounts
**Subject**: Request for {requestItemName} Failed
**Body**:
```html
Dear ${recipientName},
Your request for '${requestItemName}' failed because you have more than one account on the '${sourceName}' source.
Please contact your administrator for assistance.
Thanks, The ${PRODUCT_NAME} Team
```
## Attributes
This email template uses [version 1](https://documentation.sailpoint.com/saas/help/common/emails/available_templates.html#version-1-templates) global variables and the following template-specific attributes:
| Name | Type | Description |
| --------------- | ------ | ------------------------------- |
| recipientName | String | The name of the recipient. |
| requestItemName | String | The name of the requested item. |
| sourceName | String | The name of the source. |
# Access Request for Other Email Template
The Access Request for Other emails is sent to a user to confirm that someone has successfully submitted an access request on their behalf.
**Name**: Access Request for Other
**Subject**: ${requesterName} Has Requested Access on Your Behalf
**Body**:
```html
Dear ${user.name},
${requesterName} has requested the following access on your behalf:
#foreach ( $type in ${requestedObjectDetailsByType.keySet()} )
$type:
#foreach ( $detail in ${requestedObjectDetailsByType.get($type)} )
```
## Adding the Requester's Comments
Comments are part of the requestedObjectDetailsByType details and you can add them to a customized email message by iterating through the requested objects as follows:
```html
#foreach($type in ${requestedObjectDetailsByType.keySet()})
#foreach($detail in ${requestedObjectDetailsByType.get($type)})
${detail.requesterComment}
#end
#end
```
Note the default template already includes these `#foreach` loops, so you may only need to add the `${detail.requesterComment}` reference.
## Attributes
This email template uses [version 1](https://documentation.sailpoint.com/saas/help/common/emails/available_templates.html#version-1-templates) global variables and the following template-specific attributes:
| Name | Type | Description |
| ---------------------------- | ------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| requestedObjectDetailsByType | Map | A list of the details about each item requested, in order of the object type. |
| requestedObjectNamesByType | Map | The names of each item requested, in order of the object type. |
| requesterName | String | The display name of the identity who submitted the request. |
| dimensionDetails | Map | A map of dimension details about the requested object. It contains the item name as key and a map of (dimension attribute, dimension attribute values) as a value. |
# Access Request Reassignment Email Template
The Access Request Reassignment email is sent to a user when an access request is reassigned to them.
**Name:** Access Request Reassignment
**Subject:** Access request for ${requestedForIdentityName} ready for review
**Body:**
```html
Dear ${newOwnerName},
${previousOwnerName} has reassigned ${requesterName}'s request for access to the ${requestedObjectName}
#if(${requestedObjectType}=="Role") role #elseif(${requestedObjectType}=="Entitlement") entitlement #else access profile #end to you.
If you approve this request, ${requestedForIdentityName} will receive access to the following:
#foreach($item in $accessibleItems)
$item
#end
#end
#elseif($requestedObjectType=="AccessProfile")
If you approve this request, ${requestedForIdentityName} will receive access to all entitlements in ${accessProfileName}.
#end
Thanks,
The ${PRODUCT_NAME} Team
```
## Attributes
This email template uses [version 1](https://documentation.sailpoint.com/saas/help/common/emails/available_templates.html#version-1-templates) global variables and the following template-specific attributes:
| Name | Type | Description |
| ------------------------ | ------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| accessibleItems | List | A list of items that can be accessed as a result of an approved request. |
| accessProfileName | String | The name of the access profile that was requested. |
| appName | String | The name of the app associated with the access profile. |
| commentText | String | Comments about the access request left by the previous reviewer. |
| newOwnerName | String | The display name of the reviewer that the access request was reassigned to. |
| previousOwnerName | String | The display name of the reviewer that reassigned the access request. |
| removeDate | String | The date at which this request will be removed. |
| requestedForIdentityName | String | The display name of the identity for whom the access profile is requested i.e. Requested-For. |
| requestedObjectName | String | The name of the item requested. |
| requestedObjectType | String | The type of the item requested. |
| requesterName | String | The display name of the identity that requested the access profile. |
| roleRequestEnabled | Boolean | Whether the role request feature is enabled for a site. |
| sourceInformation | List | A list of mapping for account source information in case of multi account requests. Map contains the following keys: - sourceAccountName - sourceAccountId - sourceName Note: This should only be used in case of multiple accounts. Otherwise, this variable will not be populated. |
| assignmentContext | Map | A map to store dimension details for roles. |
# Access Request Reviewer Email Template
The Access Request Reviewer email notifies each assigned reviewer when an access request is awaiting their review and approval. This email is also sent for access request reminders and escalations.
**Name:** Access Request Reviewer
**Subject:** New access request for ${requestedForIdentityName} ready for review
**Body:**
```html
Dear ${user.name},
${requesterName} has requested the ${requestedObjectName}#if(${requestedObjectType}=="Role") role #elseif(${requestedObjectType}=="Entitlement") entitlement #else access profile#end#if($requesterName != $requestedForIdentityName) for ${requestedForIdentityName}#end.
```
## Attributes
This email template uses [version 1](https://documentation.sailpoint.com/saas/help/common/emails/available_templates.html#version-1-templates) global variables and the following template-specific attributes:
| Name | Type | Description |
| ------------------------- | ------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| accessibleItems | List | A list of items the user can access if their request is approved. |
| removeDate | String | The date at which this requested item will be removed. |
| requestedForIdentityName | String | The name of the identity the access was requested for. |
| requestedObjectName | String | The name of the item that was requested. |
| requestedObjectType | String | The type of the item that was requested. |
| requesterComments | String | The comments the requester enters when requesting access, if applicable. |
| requesterName | String | The name of the identity who requested the app. |
| roleRequestEnabled | Boolean | Whether the role request feature is enabled for a site. |
| sourceInformation | List | A list of mapping for account source information. Map contains the following keys: - sourceAccountName - sourceAccountId - sourceName Note: This should only be used in case of multiple accounts. |
| matchedRolesInformation | Map | A map for the matched roles information related to the role. Note: This should only be used for DAR Roles. |
| requestContextInformation | Map | A map for the access request context information related to the role. Note: This should only be used for DAR Roles. |
# Access Revoke Approval Reassignment
The Access Revoke Approval Reassignment email notifies a user when an access revoke request has been reassigned to them.
**Name**: Access Revoke Approval Reassignment
**Subject**: Access revoke for ${requestedForIdentityName} ready for review
**Body**:
```html
Dear ${newOwnerName},
${previousOwnerName} has reassigned a request to remove ${requestedForIdentityName} from the ${requestedObjectName} #if(${requestedObjectType}=="Role") role #elseif(${requestedObjectType}=="Entitlement") entitlement #else access profile #end to you to approve.
#if($commentText)
${previousOwnerName} gave the following reason for reassigning the request to you:
${commentText}
#end
If you approve this request, ${requestedForIdentityName} will lose the ${requestedObjectName} ${requestedObjectType} #if($requestedObjectType == "Role" || $requestedObjectType == "AccessProfile") and all associated entitlements #end. #end
Thanks, The ${PRODUCT_NAME} Team
```
## Attributes
This email template uses [version 1](https://documentation.sailpoint.com/saas/help/common/emails/available_templates.html#version-1-templates) global variables and the following template-specific attributes:
| Name | Type | Description |
| ------------------------ | ------ | ----------------------------------------------------------------------- |
| commentText | String | Comments that a previous reviewer left about the access revoke request. |
| newOwnerName | String | The identity that the access revoke request was reassigned to. |
| previousOwnerName | String | The identity that the review was reassigned from. |
| requestedForIdentityName | String | The identity that the access revoke request was requested for. |
| requestedObjectName | String | The name of the item that was requested. |
| requestedObjectType | String | The type of the item requested. |
# Access Revoke Request Reviewer Email Template
The Access Revoke Request Reviewer email notifies a user that they have an access revoke request to review.
**Name**: Access Revoke Request Reviewer
**Subject**: New access revoke request for ${requestedForIdentityName} ready for review
**Body**:
```html
Dear ${user.name},
$requesterName has requested that the "$requestedObjectName" $requestedObjectType be revoked from $requestedForIdentityName.
#if($requesterComments)
$requesterName gave the following reason for revoking access: $requesterComments.
#end
If this request is approved, $requestedForIdentityName will lose the $requestedObjectName $requestedObjectType #if($requestedObjectType == "Role" || $requestedObjectType == "AccessProfile") and all associated entitlements #if($removeDate)on $removeDate #end. #end
Thanks, The ${PRODUCT_NAME} Team
```
## Attributes
This email template uses [version 1](https://documentation.sailpoint.com/saas/help/common/emails/available_templates.html#version-1-templates) global variables and the following template-specific attributes:
| Name | Type | Description |
| ------------------------ | ------ | --------------------------------------------------------------- |
| removeDate | String | The date on which the access will be removed. |
| requestedForIdentityName | String | The identity whose access was requested to be revoked. |
| requestedObjectName | String | The name of the item requested to be revoked. |
| requestedObjectType | String | The type of the item requested to be revoked. |
| requesterComments | String | The comments the requester enters when they submit the request. |
| requesterName | String | The identity who submitted the access revoke request. |
# Access Revoke Request Decision Email For Requested-For Identity Email Template
The Access Revoke Request Decision Email For Requested-For Identity email notifies a user when a reviewer has made a decision on their access in an access revoke request.
**Name**: Access Revoke Request Decision Email For Requested-For Identity
**Subject**: ${requesterName}'s Request to Revoke Access from you was #if($approved)approved#{else}denied#end
**Body**:
```html
Dear ${user.name},
$requesterName's request to remove your access to the $requestedObjectName $requestedObjectType has been #if ($approved)approved#{else}denied#end.
#if($removeDate)
Your access to ${requestedObjectName} is scheduled to end on ${removeDate}.
#end
If you need more information, please contact $requesterName for assistance.
Thanks, The ${PRODUCT_NAME} Team
```
## Attributes
This email template uses [version 1](https://documentation.sailpoint.com/saas/help/common/emails/available_templates.html#version-1-templates) global variables and the following template-specific attributes:
| Name | Type | Description |
| ------------------------ | ------- | ------------------------------------------------------ |
| approved | Boolean | The approval decision. |
| removeDate | String | The date on which the access will be removed. |
| requestedForIdentityName | String | The identity whose access was requested to be revoked. |
| requestedObjectName | String | The name of the item requested to be revoked. |
| requestedObjectType | String | The type of the item requested to be revoked. |
| requesterName | String | The identity who submitted the access revoke request. |
# Access Revoke Request Decision For Requester Email Template
The Access Revoke Request Decision For Requester email notifies the requestor that a user has reviewed their access revoke request.
**Name**: Access Revoke Request Decision For Requester
**Subject**: Your access revoke request for ${requestedObjectName} has been #if($approved)approved#{else}denied#end
**Body**:
```html
Dear ${user.name},
Your request to revoke the $requestedObjectName $requestedObjectType from $requestedForIdentityName has been #if ($approved)approved#{else}denied#end.
#if($approved)
$requestedForIdentityName's access to the $requestedObjectName $requestedObjectType will be revoked #if($removeDate) on $removeDate. #else soon, after additional processing. #end
#end #if (!$approved && $reviewerComment)
${rejecterName} gave the following reason for denying the request: $reviewerComment
#end #if (!$approved)
Please contact ${rejecterName} if you have any questions.
#end
Thanks, The ${PRODUCT_NAME} Team
```
## Attributes
This email template uses [version 1](https://documentation.sailpoint.com/saas/help/common/emails/available_templates.html#version-1-templates) global variables and the following template-specific attributes:
| Name | Type | Description |
| ------------------------ | ------- | ------------------------------------------------------------------------- |
| approved | Boolean | The approval decision. |
| rejecterName | string | If applicable, the name of the reviewer who rejected this request. |
| removeDate | String | The date on which the access will be removed. |
| requestedForIdentityName | String | The identity whose access was requested to be revoked. |
| requestedObjectName | String | The name of the item requested to be revoked. |
| requestedObjectType | String | The type of the item requested to be revoked. |
| requesterName | String | The identity who submitted the access revoke request. |
| reviewerComment | String | The comments the reviewer entered when they denied access, if applicable. |
# Access Revoke Request Submitted Email For Requested-For Identity Email Template
The Access Revoke Request Submitted Email For Requested-For Identity email is sent to the identity whose access is being reviewed in an access revoke request.
**Name**: Access Revoke Request Submitted Email For Requested-For Identity
**Subject**: $requesterName Has Requested to Revoke Your Access.
**Body**:
```html
Dear ${requestedForIdentityName},
$requesterName has requested removal of your access from following items. If approvals are required, you will be notified when a decision is made about this access.
#foreach ( $type in ${requestedObjectDetailsByType.keySet()} )
$type:
#foreach ( $detail in ${requestedObjectDetailsByType.get($type)} )
If you need more information about this request, please contact $requesterName for assistance.
Thanks, The ${PRODUCT_NAME} Team
```
## Attributes
This email template uses [version 1](https://documentation.sailpoint.com/saas/help/common/emails/available_templates.html#version-1-templates) global variables and the following template-specific attributes:
| Name | Type | Description |
| ---------------------------- | ------ | --------------------------------------------------------------------------------------- |
| requestedObjectDetailsByType | Map | A list of details about each item requested to be revoked, in order of the object type. |
| requestedObjectNamesByType | Map | The names of each item requested to be revoked, in order of the object type. |
| requesterName | String | The identity who submitted the access revoke request. |
# Access Revoke Request Submitted Email For Requester Identity Email Template
The Access Revoke Request Submitted Email For Requester Identity email notifies a user that they successfully submitted an access revoke request.
**Name**: Access Revoke Request Submitted Email For Requester Identity
**Subject**: Your Revoke Request Was Successfully Submitted.
**Body**:
```html
Dear ${requesterName},
Your request to revoke the following access items was successfully submitted. If approvals are required, you will be notified when a decision is made about this access.
The employee has also been notified about your request.
#end
If you need help with this request, please contact your administrator.
Thanks, The ${PRODUCT_NAME} Team
```
## Attributes
This email template uses [version 1](https://documentation.sailpoint.com/saas/help/common/emails/available_templates.html#version-1-templates) global variables and the following template-specific attributes:
| Name | Type | Description |
| ---------------------------- | ------ | --------------------------------------------------------------------------------------- |
| requestedForIdentityNames | List | The identity whose access was requested to be revoked. |
| requestedObjectDetailsByType | Map | A list of details about each item requested to be revoked, in order of the object type. |
| requestedObjectNamesByType | Map | The names of each item requested to be revoked, in order of the object type. |
| requesterName | String | The identity who submitted the access revoke request. |
# Access Sunset Date Reminder Email Template
The Access Sunset Date Reminder email is sent to a user to remind them that their access to an item is coming to an end. The reminder is sent 7 days prior to the scheduled sunset date, then it's sent again 1 day prior to that date. Another email will not be sent after the sunset date has passed.
**Name**: Access Sunset Date Reminder
**Subject**: Reminder: access end date approaching
**Body**:
```html
Dear ${recipientName},
Your access to the '${accessItemName}' ${accessItemType} is scheduled to end on ${scheduledSunsetDate}.
If you still need access to '${accessItemName}', you will need to extend the duration of the access by modifying the access expiration date.
Please contact the ${PRODUCT_NAME} administrator if you have any questions.
Thanks,
The ${PRODUCT_NAME} Team
```
## Attributes
This email template uses [version 1](https://documentation.sailpoint.com/saas/help/common/emails/available_templates.html#version-1-templates) global variables and the following template-specific attributes:
| Name | Type | Description |
| --------------------- | ------ | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| accessItemName | String | The name of the access item that is expiring. |
| accessItemType | String | The type of access item that is expiring. |
| recipientName | String | The name of the user whose access is ending. |
| scheduledSunsetDate | Date | The date when the access item will expire. |
| sourceInformation | List | A list of mapping for account source information in case of multi account request. Map contains the following keys: - sourceAccountName - sourceAccountId - sourceName Note: This should only be used in case of multiple accounts. Otherwise, this variable will not be populated. |
| accessRequestMetadata | Map | An object to store metadata for access request. Please refer to the template for the usage of this attribute. Currently, dimensionDetails is added in this attribute if the role type is Dimension. |
# Access Request Submitted Email for Requester After Validation Email Template
The Access Request Submitted Email for Requester After Validation email is sent to the requester to notify them which access requests were successfully submitted and which failed during the validation process. For example, if a user already has access to one of the requested access items, that specific request will fail.
**Name**: Access Request Submitted Email for Requester After Validation
**Subject**: Your request for access for #if ($requestDetails && $requestDetails.size() == 1) requestDetails.get(0).identityName #elseif (requestDetails.size() > 1) $requestDetails.size() identities #end was submitted.
**Body**:
```html
Dear ${user.name},
You've requested access for the following identities:
#foreach ( $requestDetail in $requestDetails )
${requestDetail.identityName}:
#set ($successDetails = $requestDetail.getSuccessDetails())
#if ($successDetails && $successDetails.size() > 0)
The following item(s) was requested successfully:
#end
#set ($exclusionDetails = $requestDetail.getExclusionDetails())
#if ($exclusionDetails && $exclusionDetails.size() > 0)
Your request for the following item(s) failed:
```
## Attributes
This email template uses [version 1](https://documentation.sailpoint.com/saas/help/common/emails/available_templates.html#version-1-templates) global variables and the following template-specific attributes:
| Name | Type | Description |
| --------------------------------------------------------------------------- | ------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| objectTypeToPrettyPrint | Map | Maps each object type from the all-caps system version (type) to a user-friendly string for the email message (prettyType). |
| requestDetails | List of Maps | Each map contains - identityName - successDetails - exclusionDetails |
| requestDetails.successDetails / requestDetails.exclusionDetails | Map of list of RequestObjectDetails objects | Each of these two maps have the following structure: - Key for each map is the type attribute. - successDetails - Lists successfully requested items. - exclusionDetails - Lists items whose request submission failed. |
| successDetails.requestObjectDetails / exclusionDetails.requestObjectDetails | List of requested items | Each item includes: - objectName - removeDate - End date requested, if any. - exclusionReason - The reason the request submission failed. Only applies to exclusionDetails. - sourceInformation - List of source or account details. |
| requestObjectDetail.sourceInformation | List of source accounts | A list of account selections for access provisioning. Each sourceInformation object includes: - sourceName - The name of the source. - sourceAccountName - The name of the account on the source. - sourceAccountId - The ID of the account on the source. |
| requestObjectDetails.contextAttributes | List of request context attributes | Only applies to Dynamic Access Role requests. - Attribute - Name of the dimensional attribute. - Value - Value provided for the dimensional attribute. - Derived - Boolean true/false indicator of whether the attribute is derived. |
# Certification Campaign Activated Email Template
The Certification Campaign Activated email is sent to certifiers when a certification campaign has been started.
**Name**: Certification Campaign Activated
**Subject**: Please Review Your Employees' Access
**Body**:
```html
Dear ${user.name},
The ${certification.certificationGroups.get(0).name} certification campaign has been started by your system administrator. This campaign allows each reviewer in the campaign to verify that users have the correct entitlements.
For each user in your certification, you will see entitlements they have. You might also see sources the entitlements come from or applications they can access because of those entitlements.
You have until $spTools.formatDate($certification.expiration,3,0) to review and either approve, change, or revoke access for each user.
```
## Attributes
This email template uses [version 1](https://documentation.sailpoint.com/saas/help/common/emails/available_templates.html#version-1-templates) global variables and the following template-specific attributes:
| Name | Type | Description |
| --------------- | ------------- | -------------------------------------------------------------------------------- |
| workItemName | String | The description property (also the name property) of the certification WorkItem. |
| workItem | WorkItem | The WorkItem object for the certification. |
| certification | Certification | The Certification object. |
| requesterName | String | The display name of the Identity that requested the certification. |
| registrationUrl | String | IdentityNow registration page url. |
# Certification Email Template (Legacy)
The Certification email notifies all reviewers whenever a certification campaign is started.
**Name**: Certification
**Subject**: Please Review Your Employees' Access
**Body**:
```html
Dear ${user.name},
The ${certification.certificationGroups.get(0).name} certification campaign has been started by your system administrator. This campaign allows each reviewer in the campaign to verify that users have the correct entitlements.
For each user in your certification, you will see entitlements they have. You might also see sources the entitlements come from or applications they can access because of those entitlements.
You have until $spTools.formatDate($certification.expiration,3,0) to review and either approve, change, or revoke access for each user.
Format 1: $spTools.formatDate($certification.expiration)
Format 2: $spTools.formatDate($certification.expiration, "MM/DD/YYYY hh:mm")
Format 3: $spTools.formatDate($certification.expiration,3,3) and $spTools.formatDate($certification.expiration,2,2) and $spTools.formatDate($certification.expiration,1,1) and $spTools.formatDate($certification.expiration,0,0)
```
Note
The “here” in the email template is a link to the certification, built using variables. Select the **Source Edit** icon to view the full URL in HTML.
## Attributes
This email template uses [version 1](https://documentation.sailpoint.com/saas/help/common/emails/available_templates.html#version-1-templates) global variables and the following template-specific attributes:
| Name | Type | Description |
| ------------- | ---------------------- | ------------------------------------------------------------------------------- |
| certification | Object (Certification) | The certification that the notification is referring to. |
| requesterName | String | The display name of the identity that requested the certification. |
| workItem | Object (WorkItem) | The item requiring attention, usually the certification. |
| workItemName | String | The name of the certification work item assigned to the recipient of the email. |
# Certification Due Email Template (Legacy)
The Certification Due email is sent weekly to remind a reviewer to complete their unfinished active certifications, beginning one week after the certification is started. This email will not be sent after the certification deadline has passed.
If the certification was started after 8:00 PM EST, the weekly reminder will not start until the following day.
Notes
- You can also contact reviewers directly at any time from the certification's status page. For details, see [Campaign Status Reports](https://documentation.sailpoint.com/saas/help/certs/campaign_status_reports.html).
- If you create a certification campaign that is fewer than seven days long, your reviewers do not receive reminder emails. It is not possible to edit this schedule.
- The global {user.name} variable cannot be used in this template.
**Name**: Certification Due
**Subject**: Reminder: A Certification Needs Your Attention
**Body**:
```html
Dear ${ownerName},
The certification "$certification.certificationGroups.get(0).name" is still open and needs to be completed.#if ($certification.expiration) This certification must be finished by $spTools.formatDate($certification.expiration,3,0).#{end} Click here to complete the certification.
```
## Attributes
This email template uses [version 1](https://documentation.sailpoint.com/saas/help/common/emails/available_templates.html#version-1-templates) global variables and the following template-specific attributes:
| Name | Type | Description |
| ------------------- | ---------------------- | ------------------------------------------------------------------------------- |
| certification | Object (WorkItem) | Certification that the notification is referring to. |
| certificationName | Object (Certification) | The name of the certification. |
| created | Date | The date the certification was created. |
| expiration | Date | The date the certification is set to expire. |
| newDueDate | Date | The date the next reminder is due to be sent. |
| nowDate | Date | The current date. |
| oldDueDate | Date | The date this reminder was sent. |
| ordinalNumReminders | String | The number of this reminder, starting from 1. |
| ownerName | String | The name of the identity that owns the certification. |
| remindersRemaining | String | The number of reminders remaining after this one. |
| requester | Object | The identity that created the certification. |
| workItem | Object | The name of the certification work item assigned to the recipient of the email. |
| workItemName | String | The name of the work item assigned to the recipient, usually the certification. |
# Certification Due Reminder Email Template
The Certification Due email is sent weekly to remind a reviewer to complete their unfinished active certifications, beginning one week after the certification is started. This email will not be sent after the certification deadline has passed.
If the certification was started after 8:00 PM EST, the weekly reminder will not start until the following day.
Notes
- You can also contact reviewers directly at any time from the certification's status page. For details, see [Campaign Status Reports](https://documentation.sailpoint.com/saas/help/certs/campaign_status_reports.html).
- If you create a certification campaign that is fewer than seven days long, your reviewers do not receive reminder emails. It is not possible to edit this schedule.
- The global {user.name} variable cannot be used in this template.
**Name**: Certification Due Reminder
**Subject**: Reminder: Certification needs your attention
**Body**:
```html
Dear $__recipient.name,
The certification $campaign.name is still open and needs to be completed. This certification must be finished by $__dateTool.toDate("yyyy-MM-dd'T'HH:mm:ss.SSSXXX",$campaign.deadlineDate).
```
## Attributes
This email template uses [version 2](https://documentation.sailpoint.com/saas/help/common/emails/available_templates.html#version-2-templates) global variables and the following template-specific attributes:
| Name | Type | Description |
| --------------------------- | ------------- | ---------------------------------------------------------------------------------------------------- |
| campaign | Object | Campaign object detailing information about the campaign. |
| campaign.activationDate | String | The string formatted date for when the campaign was activated. Example: 2026-05-23T04:59:59.999Z |
| campaign.deadlineDate | String | The string formatted date for when the campaign is due. Example: 2026-05-23T04:59:59.999Z |
| campaign.description | String | The campaign description. |
| campaign.id | UUID | The campaign ID. |
| campaign.name | String | The campaign name. |
| campaign.reviewerType | String (enum) | The reviewer type of the campaign. |
| campaign.type | String (enum) | The type of campaign. |
| certification | Object | Certification object detailing information about the certification. |
| certification.id | UUID | Certification ID. |
| certification.name | String | Certification name. |
| certification.reviewerName | String | The name of the certification reviewer. |
| certification.reviewerType | String (enum) | The type of the reviewer of the certification. |
| certification.signDate | String | The string formatted date for when the certification was signed. Example: 2026-05-23T04:59:59.999Z |
| certification.totalItems | Number | Number of items in the certification. |
| certification.totalSubjects | Number | Number of subjects in the certification. |
| lastReminderDate | String | The string formatted date for when the last reminder was sent. Example: 2026-05-23T04:59:59.999Z |
| nextReminderDate | String | The string formatted date for when the next reminder will be sent. Example: 2026-05-23T04:59:59.999Z |
| recipientId | String | The ID of the recipient of the email. |
# Certification Subjects and Items Reassignment Email Template
The Certification Subjects and Items Reassignment email notifies a reviewer when certification subjects and items are reassigned to them for review.
**Name**: Certification Subjects and Items Reassignment
**Subject**: New certification subjects and items reassignment request
**Body**:
```html
Dear $__recipient.name,
#if($requesterName) $requesterName has #{else}You are #{end}assigned #if($subjectsCount != 0)$subjectsCount #if($subjectsCount == 1)subject #{else}subjects #{end}#{end}#if($itemsCount && $subjectsCount) and #{end}#if($itemsCount != 0)$itemsCount #if($itemsCount == 1)item #{else}items #{end}#{end}#if($requesterName)to you#{end} for review in a certification.
Reason for reassignment: $reason
#if($__dateTool.toDate("yyyy-MM-dd'T'HH:mm:ss.SSSXXX",$campaign.deadlineDate)) You have until $__dateTool.toDate("yyyy-MM-dd'T'HH:mm:ss.SSSXXX",$campaign.deadlineDate) to review and either approve, change, or revoke access for these users. #{end}
```
## Attributes
This email template uses [version 2](https://documentation.sailpoint.com/saas/help/common/emails/available_templates.html#version-2-templates) global variables and the following template-specific attributes:
| Name | Type | Description |
| --------------------------- | ------------- | -------------------------------------------------------------------------------------------------- |
| campaign | Object | Campaign object detailing information about the campaign. |
| campaign.activationDate | String | The string formatted date for when the campaign was activated. Example: 2026-05-23T04:59:59.999Z |
| campaign.deadlineDate | String | The string formatted date for when the campaign is due. Example: 2026-05-23T04:59:59.999Z |
| campaign.description | String | The campaign description. |
| campaign.id | UUID | The campaign ID. |
| campaign.name | String | The campaign name. |
| campaign.reviewerType | String (enum) | The reviewer type of the campaign: |
| campaign.type | String (enum) | The type of campaign. |
| certification | Object | Certification object detailing information about the certification. |
| certification.id | UUID | Certification ID. |
| certification.name | String | Certification name. |
| certification.reviewerName | String | The name of the certification reviewer. |
| certification.reviewerType | String (enum) | The type of the reviewer of the certification. |
| certification.signDate | String | The string formatted date for when the certification was signed. Example: 2026-05-23T04:59:59.999Z |
| certification.totalItems | Number | Number of items in the certification. |
| certification.totalSubjects | Number | Number of subjects in the certification. |
| itemsCount | String | The total items reassigned. |
| reason | String | The reason for the reassignment. |
| recipientId | String | The ID of the recipient of the email. |
| requesterName | String | The name of the identity who kicked off the reassignment. |
| subjectsCount | String | The total subjects reassigned. |
# Certification Reassignment Email Template (Legacy)
The Certification Reassignment email notifies the new reviewer when a reviewer reassigns identities' certifications to another access reviewer.
**Name**: Certification Reassignment
**Subject**: New certification reassignment request
**Body**:
```html
Dear ${user.name},
${requesterName} has assigned ${numNewIdentities} #if(${numNewIdentities} == 1) user #{else} users #end to you for review in a certification.
Reason for reassignment: ${description}
You have until $spTools.formatDate($certification.expiration,3,0) to review and either approve, change, or revoke access for these users.
Format 1: $spTools.formatDate($certification.expiration)
Format 2: $spTools.formatDate($certification.expiration, "MM/dd/yyyy hh:mm")
Format 3: $spTools.formatDate($certification.expiration,3,3) and $spTools.formatDate($certification.expiration,2,2) and $spTools.formatDate($certification.expiration,1,1) and $spTools.formatDate($certification.expiration,0,0)
```
## Attributes
This email template uses [version 1](https://documentation.sailpoint.com/saas/help/common/emails/available_templates.html#version-1-templates) global variables and the following template-specific attributes:
| Name | Type | Description |
| ---------------- | ------------- | -------------------------------------------------------- |
| certification | Certification | The certification that the notification is referring to. |
| description | String | The reason for reassignment. |
| numNewIdentities | String | The number of identities reassigned to a new reviewer. |
| requesterName | String | The user who requested the reassignment. |
# Certification Reassignment Email Template
The Certification Reassignment email notifies a reviewer when certifications are reassigned to them for review.
**Name**: Certification Reassignment
**Subject**: New certification reassignment request
**Body**:
```html
Dear $__recipient.name,
#if($requesterName) $requesterName has #{else}You are #{end}assigned $certificationsCount #if($certificationsCount == 1)certification #{else}certifications #{end}#if($requesterName)to you#{end} for review
Reason for reassignment: $reason
#if($__dateTool.toDate("yyyy-MM-dd'T'HH:mm:ss.SSSXXX",$campaign.deadlineDate)) You have until $__dateTool.toDate("yyyy-MM-dd'T'HH:mm:ss.SSSXXX",$campaign.deadlineDate) to review and either approve, change, or revoke access for these users. #{end}
```
## Attributes
This email template uses [version 2](https://documentation.sailpoint.com/saas/help/common/emails/available_templates.html#version-2-templates) global variables and the following template-specific attributes:
| Name | Type | Description |
| ----------------------- | ------------- | ------------------------------------------------------------------------------------------------ |
| campaign | Object | Campaign object detailing information about the campaign. |
| campaign.activationDate | String | The string formatted date for when the campaign was activated. Example: 2026-05-23T04:59:59.999Z |
| campaign.deadlineDate | String | The string formatted date for when the campaign is due. Example: 2026-05-23T04:59:59.999Z |
| campaign.description | String | The campaign description. |
| campaign.id | UUID | The campaign ID. |
| campaign.name | String | The campaign name. |
| campaign.reviewerType | String (enum) | The reviewer type of the campaign. |
| campaign.type | String (enum) | The type of campaign. |
| certificationsCount | String | The total certifications reassigned. |
| reason | String | The reason for the reassignment. |
| recipientId | String | The ID of the recipient of the email. |
| requesterName | String | The name of the identity who kicked off the reassignment. |
# Certification Due Reminder Email Template
The Certification Due Reminder email is sent to certification reviewers to remind them to complete their certification by the due date.
**Name**: Certification Due Reminder
**Subject**: Reminder: Certification needs your attention
**Body**:
```html
Dear ${ownerName},
The certification "$certification.certificationGroups.get(0).name" is still open and needs to be completed.#if ($certification.expiration) This certification must be finished by $spTools.formatDate($certification.expiration,3,0).#{end} Click here to complete the certification.
```
## Attributes
This email template uses [version 1](https://documentation.sailpoint.com/saas/help/common/emails/available_templates.html#version-1-templates) global variables and the following template-specific attributes:
| Name | Type | Description |
| ------------------- | ------------- | ------------------------------------------------------------------------------- |
| workItem | WorkItem | The WorkItem object. |
| workItemName | String | The name of the WorkItem. |
| certification | Certification | The Certification object. |
| certificationName | String | The name of the Certification. |
| ownerName | String | The name of the Identity that owns the work item. |
| requester | Identity | The identity object that represents the creator of the work item. |
| ordinalNumReminders | String | The number of this reminder, starting from 1. Passed as a String. |
| remindersRemaining | String | The number of reminders remaining after this one. Passed as a String. |
| oldDueDate | date | The former due date, passed as a java.util.Date. |
| newDueDate | date | The new due date, passed as a java.util.Date. |
| nowDate | date | The current date, passed as a java.util.Date. |
| created | date | The date the work item was created, passed as a java.util.Date. |
| expiration | date | The optional date the work item completely expires, passed as a java.util.Date. |
# Campaign Template Pre-Generation Notification Email Template
The Campaign Template Pre-Generation Notification email is sent to the person who created a scheduled certification campaign, one week prior to the scheduled template generation date.
**Name**: Campaign Template Pre-Generation Notification
**Subject**: Reminder: Your Certification Campaign is Scheduled to Start in 7 Days
**Body**:
```html
Dear ${__recipient.name},
The certification $campaignTemplateName is scheduled to generate a campaign in 7 days. If you need to make any changes or updates to the contents of this campaign, please do so before ${generationDate}. Thanks, The $__global.productName Team
```
## Attributes
None. All variable content is provided through [global variables](https://documentation.sailpoint.com/saas/help/common/emails/available_templates.html#version-2-templates).
# Certification Campaign Started Email Template
The Certification Campaign Started email is sent to certifiers when a certification campaign has been started.
**Name**: Certification Campaign Started
**Subject**: Please Review Your Employees' Access
**Body**:
```html
Dear $__recipient.name,
The $campaign.name certification campaign has been started by your system administrator. This campaign allows each reviewer in the campaign to verify that users have the correct entitlements.
For each user in your certification, you will see entitlements they have. You might also see sources the entitlements come from or applications they can access because of those entitlements.
You have until $__dateTool.toDate("yyyy-MM-dd'T'HH:mm:ss.SSSXXX",$campaign.deadlineDate) to review and either approve, change, or revoke access for each user.
```
## Attributes
This email template uses [version 1](https://documentation.sailpoint.com/saas/help/common/emails/available_templates.html#version-1-templates) global variables and the following template-specific attributes:
| Name | Type | Description |
| --------------------------- | ------------- | -------------------------------------------------------------------------------------------------- |
| campaign | Object | Campaign object detailing information about the campaign. |
| campaign.activationDate | String | The string formatted date for when the campaign was activated. Example: 2026-05-23T04:59:59.999Z |
| campaign.deadlineDate | String | The string formatted date for when the campaign is due. Example: 2026-05-23T04:59:59.999Z |
| campaign.description | String | The campaign description. |
| campaign.id | UUID | The campaign ID. |
| campaign.name | String | The campaign name. |
| campaign.reviewerType | String (enum) | The reviewer type of the campaign. |
| campaign.type | String (enum) | The type of campaign. |
| certification | Object | Certification object detailing information about the certification. |
| certification.id | UUID | The Certification ID. |
| certification.name | String | The Certification name. |
| certification.reviewerName | String | The name of the certification reviewer. |
| certification.reviewerType | String (enum) | The type of the reviewer of the certification. |
| certification.signDate | String | The string formatted date for when the certification was signed. Example: 2026-05-23T04:59:59.999Z |
| certification.totalItems | Number | Number of items in the certification. |
| certification.totalSubjects | Number | Number of subjects in the certification. |
| recipientId | String | The ID of the recipient of the email. |
| requesterName | String | The name of the identity who started the campaign activation. |
# Correlation Recommendations Complete
The Correlation Recommendations Complete email is sent to the admin when account correlation recommendations have finished generating.
**Name**: Correlation Recommendations Complete
**Subject**: Account Correlation Recommendations Complete for $sourceName
**Body**:
```text
Dear $__recipient.name,
#set($url=$__global.productUrl + '/ui/a/admin/connections/sources/' + $sourceId + '/settings/account-correlation')
AI recommendations for account correlation configurations have been generated for $sourceName.
Go to the Account Correlation page to review your correlation recommendations.
Thanks,
The $__global.productName Team
```
## Attributes
This email template uses [version 2](https://documentation.sailpoint.com/saas/help/common/emails/available_templates.html#version-2-templates) global variables and the following template-specific attributes:
| Name | Type | Description |
| ----------- | ------ | ------------------------------- |
| $sourceId | string | The technical ID of the source. |
| $sourceName | string | The name of the source. |
# Create Account Policy Recommendations Complete
The Create Account Policy Recommendations Complete email is sent to the admin when recommendations for the source's create account policy have finished generating.
**Name**: Create Account Policy Recommendations Complete
**Subject**: Create Account Policy Recommendations Complete for $sourceName
**Body**:
```text
Dear $__recipient.name,
#set($url=$__global.productUrl + '/ui/a/admin/connections/sources/' + $sourceId + '/settings/account-provisioning')
AI recommendations for account creation attributes have been generated for $sourceName.
Go to the Create Account page to review your account creation recommendations.
Thanks,
The $__global.productName Team
```
## Attributes
This email template uses [version 2](https://documentation.sailpoint.com/saas/help/common/emails/available_templates.html#version-2-templates) global variables and the following template-specific attributes:
| Name | Type | Description |
| ----------- | ------ | ------------------------------- |
| $sourceId | string | The technical ID of the source. |
| $sourceName | string | The name of the source. |
# Data Access Security Alert Rule Email Template
The Data Access Security Alert Rule email is sent to a user when a configured alert in Data Access Security is triggered.
Data Access Security Alerts can be configured and emails enabled through [Data Access Security Alert Rules](https://documentation.sailpoint.com/das/help/alerts/new_alert_rule.html).
Note
Email notifications are only sent if **Send Email** is enabled in the Data Access Security Alert Rule configuration and only to those recipients listed for the specified alert.
**Name**: Data Access Security Alert Rule
**Subject**: Alert triggered by $alert.ruleName alert rule
**Body**:
```html
Dear $__recipient.name,
A $alert.severity severity alert was triggered by the $alert.ruleName alert rule.
Resource Path: $alert.resourcePath
Object Name: $alert.objectName
Data Classification Policies: $alert.dataClassificationPolicies
Click here to access the Activity Forensics page and see related alerts of this rule.
Thank you,
The SailPoint Team
```
## Attributes
This email template uses [version 2](https://documentation.sailpoint.com/saas/help/common/emails/available_templates.html#version-2-templates) global variables and the following template-specific attributes:
| Name | Type | Description |
| -------------------------------- | -------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| alert.identityName | String | Name of the identity which caused the event triggering the alert. |
| alert.severity | String | Set severity level of the alert. Options are: High, Medium, Low. |
| alert.ruleName | String | Name of the Alert Rule triggered. |
| alert.actionTime | DateTime | Date and time of the event which triggered the alert notification. |
| alert.userName | String | Username of the identity which caused the event triggering the alert. |
| alert.identityDepartment | String | Department associated to the identity which caused the event triggering the alert. |
| alert.actionType | String | Action type name of the event which triggered the alert. |
| alert.application | String | Application name of the event which triggered the alert. |
| alert.resourcePath | String | Resource path of the event which triggered the alert. |
| alert.objectName | String | Name of the resource or object of the event which triggered the alert. |
| alert.dataClassificationPolicies | List | List of policies associated to the resource or object of the event which triggered the alert. |
| alert.url | URL | URL to Data Access Security Activity Forensics page. Note: No filters are applied as part of the url. You may need to add appropriate filters like Application of Action Type. |
| alert.recipientIdentityIds | List | List of identity IDs for those identities receiving email notification for alert triggered. |
# Data Access Security Campaign Assigned To Reviewers Email Template
The Data Access Security Campaign Assigned To Reviewers email is sent to identities listed as reviewers when a new campaign is initiated. Campaigns allow users to certify permissions and identities.
Data Access Security Campaigns can be configured and enabled through [Data Access Security Campaign Management](https://documentation.sailpoint.com/das/help/access_cert/campaign_creation.html).
Note
Email notifications are only sent if **Send Invitation** is enabled in the Data Access Security Campaign configuration and only to those reviewers listed for the specified campaign. A message will be sent to the reviewer(s) with every new campaign pending reviewers' decision.
**Name**: Data Access Security Campaign Assigned To Reviewers
**Subject**: You have a new certification review task for $campaignAssigned.name
**Body**:
```html
Hi,
A certification review task is waiting for you. The final due date for this task is $campaignAssigned.dueDate.
Please follow the link to view the task.
This is an automated message sent to you by Data Access Security - Please do not reply.
```
## Attributes
This email template uses [version 2](https://documentation.sailpoint.com/saas/help/common/emails/available_templates.html#version-2-templates) global variables and the following template-specific attributes:
| Name | Type | Description |
| ------------------------------------- | -------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| campaignAssigned.recipientIdentityIds | List | List of IDs for users receiving this email notification. |
| campaignAssigned.name | String | Name of the campaign for which the reviewer is assigned. |
| campaignAssigned.description | String | Description set on the campaign for which the reviewer is assigned. |
| campaignAssigned.instructions | String | Instructions for reviewers set on the campaign for which the reviewer is assigned. |
| campaignAssigned.dueDate | DateTime | Due date set on the campaign for which the reviewer is assigned. |
| campaignAssigned.url | URL | URL to the Data Access Security Access Certification page. No filters are applied as part of the url. You may need to add appropriate filters like Campaign Name. |
# Data Access Security Campaign Reminder Email Template
The Data Access Security Campaign Reminder email is sent to identities listed as reviewers on a weekly basis for active campaigns.
Data Access Security Campaign reminders can be configured and enabled through [Data Access Security Campaign Management](https://documentation.sailpoint.com/das/help/access_cert/campaign_creation.html).
Note
Email notifications are only sent if **Send Reminders** is enabled in the Data Access Security Campaign configuration and only to those reviewers listed for the specified campaign. Emails are enabled and scheduled to run weekly starting on Monday at 05:00 (UTC) by default.
**Name**: Data Access Security Campaign Reminder
**Subject**: Reminder: An Access Certification task is awaiting your review, final due date: $campaignReminder.dueDate
**Body**:
```html
Hi,
An Access Certification task is awaiting your review. The review must be completed by $campaignReminder.dueDate.
Please follow the link to view the task.
This is an automated message sent to you by Data Access Security - Please do not reply.
```
## Attributes
This email template uses [version 2](https://documentation.sailpoint.com/saas/help/common/emails/available_templates.html#version-2-templates) global variables and the following template-specific attributes:
| Name | Type | Description |
| ------------------------------------- | -------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| campaignReminder.recipientIdentityIds | List | List of IDs for users receiving this email notification. |
| campaignReminder.name | String | Name of the campaign for which the reviewer is assigned. |
| campaignReminder.description | String | Description set on the campaign for which the reviewer is assigned. |
| campaignReminder.instructions | String | Instructions for reviewers set on the campaign for which the reviewer is assigned. |
| campaignReminder.dueDate | DateTime | Due date set on the campaign for which the reviewer is assigned. |
| campaignReminder.url | URL | URL to the Data Access Security Access Certification page. No filters are applied as part of the url. You may need to add appropriate filters like Campaign Name. |
# Data Access Security Data Owner Election Campaign Task Waiting
The New Data Owner Election Campaign Task email is sent to users identified as Voters on Data Owner Election Campaigns when the campaign is run. Data Access Security Ownership Election Campaigns introduce an automated election process to identify and assign data owners to business data assets based on data usage patterns. Data Owner Campaigns can be [created](https://documentation.sailpoint.com/das/help/data_ownership/campaign_creation.html) and run though Data Access Security Owner Election Campaign Management.
Note
The Data Access Security Data Ownership Election engine analyzes user activities from the last 180 days on the selected data assets. This identifies the top contributors that would be the most likely candidates to assume ownership of the data. These are the voters on the election campaign and each voter is sent this email notification.
**Name**: New data owner election campaign task
**Subject**: You have a new data owner election campaign task
**Body**:
```html
Hi $__recipient.name,
As a part of our efforts for improving our organizations data security posture and governance of sensitive data access, we have initiated a campaign to identify owners for sensitive data assets.
You have been identified as one of the business stakeholders that have been the most active on one or more of these data assets.
You currently have $election.taskCount activities awaiting your input.
This is an automatic message sent to you by Data Access Security - Please do not reply.
```
## Attributes
This email template uses [version 2](https://documentation.sailpoint.com/saas/help/common/emails/available_templates.html#version-2-templates) global variables and the following template-specific attributes:
| **Name** | **Type** | **Description** |
| ----------------------------- | -------- | ----------------------------------------------------------------------------------------------------------- |
| election.recipientIdentityIds | List | List of the Identity IDs for those Identities receiving this email notification. |
| election.taskUrl | URL | Direct link to the Data Access Security Data Owner Election task which the email notification is regarding. |
| election.taskCount | Integer | Number of tasks related to the email notification sent. |
# Data Access Security Data Owner Election Review Task
The New Data Owner Election Review Task email is sent to identities listed as reviewers once voter election is complete and campaigns that require approval to finalize campaign process.
Note
Email notifications are only sent if **Assign Election Reviewers** is enabled in the Data Access Security Owner Election Campaign configuration and only to those reviewers listed for the specified campaign. A message will be sent to the reviewer(s) with every new campaign pending reviewers' decision.
**Name**: New data owner election review task
**Subject**: You have a new data owner election review task
**Body**:
```html
Hi $__recipient.name,
As a part of our efforts for improving our organizations data security posture and governance of sensitive data access, we have initiated a campaign to identify owners for sensitive data assets.
The data owner election process has been completed and requires your approval to finalize the process.
Please use the following link to view your data ownership election review tasks in Data Access Security: View Data Ownership Election Tasks
Thank you!
This is an automatic message sent to you by Data Access Security - Please do not reply.
```
## Attributes
This email template uses [version 2](https://documentation.sailpoint.com/saas/help/common/emails/available_templates.html#version-2-templates) global variables and the following template-specific attributes:
| **Name** | **Type** | **Description** |
| ----------------------------- | -------- | ----------------------------------------------------------------------------------------------------------- |
| election.recipientIdentityIds | List | List of the Identity IDs for those Identities receiving this email notification. |
| election.taskUrl | URL | Direct link to the Data Access Security Data Owner Election task which the email notification is regarding. |
| election.taskCount | Integer | Number of tasks related to the email notification sent. |
# Data Access Security Data Owner Election New Task
The Data Owner Election Task is Awaiting User Input email is sent to identities listed as Voters and Reviewers on a weekly basis for active Data Owner Election Campaigns. Data Owner Election Campaign reminders can be enabled through [Data Access Security Owner Election Campaign Creation](https://documentation.sailpoint.com/das/help/data_ownership/campaign_creation.html#summary).
Note
Email notifications are only sent if **Send Reminders** is enabled in the Data Access Security Owner Election Campaign configuration and only to those reviewers listed for the specified campaign. Automatic reminders are scheduled to run weekly starting on Monday at 05:00 (UTC) by default. Owner Election reminders can be manually triggered via [Owner Election Campaign management](https://documentation.sailpoint.com/das/help/data_ownership/monitor_campaign.html).
**Name**: A Data Owner Election task is awaiting user input
**Subject**: A Data Owner Election task is awaiting your input
**Body**:
```html
Hi $__recipient.name,
You currently have $election.taskCount Data Owner Election tasks awaiting your input.
This is an automatic message sent to you by Data Access Security - Please do not reply.
```
## Attributes
This email template uses [version 2](https://documentation.sailpoint.com/saas/help/common/emails/available_templates.html#version-2-templates) global variables and the following template-specific attributes:
| **Name** | **Type** | **Description** |
| ----------------------------- | -------- | ----------------------------------------------------------------------------------------------------------- |
| election.recipientIdentityIds | List | List of the Identity IDs for those Identities receiving this email notification. |
| election.taskUrl | URL | Direct link to the Data Access Security Data Owner Election task which the email notification is regarding. |
| election.taskCount | Integer | Number of tasks related to the email notification sent. |
# Data Access Security Data Owner Identified
The User has been Identified as a Data Owner email is sent to identities selected and assigned as data owners following the completion of a Owners election campaign if the campaign was configured with Automatic Election Results assignment.
Note
This email is only sent when Election Result Assignment is set to Automatic. Manual assignment of Data Owners does not trigger this email notification.
**Name**: A user has been identified as a Data Owner
**Subject**: You have been identified as a Data Owner
**Body**:
```html
Hi $__recipient.name,
As part of an election campaign to identify data owners to oversee sensitive data assets, you’ve been elected by your peers as the data owner for the following resource under the $assignment.appName application: $assignment.resourcePath
As a data owner you will be assuming a more active role in protecting the sensitive information and ensuring the continued governance of data assets you own. You may be asked to initiate or participate in governance related processes such as reviewing inappropriate access and suspicious activity, and reviewing and certifying currently assigned access, or approving new access requests.
Thank you in advance for your help in ensuring secure access to critical information.
```
## Attributes
This email template uses [version 2](https://documentation.sailpoint.com/saas/help/common/emails/available_templates.html#version-2-templates) global variables and the following template-specific attributes:
| **Name** | **Type** | **Description** |
| ----------------------------- | -------- | ----------------------------------------------------------------------------------------------------------- |
| election.recipientIdentityIds | List | List of the Identity IDs for those Identities receiving this email notification. |
| election.taskUrl | URL | Direct link to the Data Access Security Data Owner Election task which the email notification is regarding. |
| election.taskCount | Integer | Number of tasks related to the email notification sent. |
# Data Access Security Report Created Email Template
The Data Access Security Report Created email is sent to the identity who triggered the report creation. [Data Access Security Reports](https://documentation.sailpoint.com/das/help/reports/index.html) can be generated by using predefined report templates and also by the **Generate** action that can be found on the Permissions and Identities screen within the Forensics tab.
**Name**: Data Access Security Report Created
**Subject**: A new Data Access Security report is waiting for you: 'report.name' of type 'report.type'
**Body**:
```html
Hello,
Please find below a link to the '$report.name' report of type: $report.type.
The report has been created by $report.createdByDisplayName at $report.createDate (UTC).
Click here to view the report on Data Access Security.
This is an automatic message sent to you by Data Access Security - Please do not reply.
```
## Attributes
This email template uses [version 2](https://documentation.sailpoint.com/saas/help/common/emails/available_templates.html#version-2-templates) global variables and the following template-specific attributes:
| Name | Type | Description |
| -------------------- | -------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Name | String | Name of the report created. |
| Type | String | Name of the Report Template from which the report is created. |
| createdByDisplayName | String | User Display Name for the identity which triggered the report creation. |
| createDate | DateTime | Creation date of report for which triggered notification. |
| URL | URL | URL to the Data Access Security My Reports page. Link includes filter set for specific report created setting Name to the report name listed in notification. |
| recipientIdentityIds | List | List of IDs for users receiving this email notification. |
# Data Access Security Report Shared Email Template
[Data Access Security reports](https://documentation.sailpoint.com/das/help/reports/index.html) that have been created can be shared with other identities. The Data Access Security Report Shared email is sent to identities with whom the report was shared with. See [Data Access Security Sharing Reports](https://documentation.sailpoint.com/das/help/reports/using_report_temp.html#sharing-reports) for more information.
**Name**: Data Access Security Report Shared
**Subject**: $reportShare.subject
**Body**:
```html
* This email is valid only for you. Please do not forward this email.
This is an automatic message sent to you by Data Access Security - Please do not reply.
```
## Attributes
This email template uses [version 2](https://documentation.sailpoint.com/saas/help/common/emails/available_templates.html#version-2-templates) global variables and the following template-specific attributes:
| Name | Type | Description |
| -------------------------------- | ------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| reportShare.subject | String | Subject for email notification. Set to "Data Access Security Report(s) Share". |
| reportShare.senderEmail | String | Email associated with the identity which shared target report. |
| reportShare.senderName | String | User Display Name for the identity which shared target report. |
| reportShare.reportList | List | List of reports shared, listed by report name. |
| reportShare.personalMessage | String | Message set when report is shared. Message is configured in Data Access Security share report panel. Default message set to The user also attached the following message: Hi, I would like to share the enclosed report(s) with you. Best regards. The following is standard and can not be edited as part of the message set in Data Access Security panel: "The user also attached the following message:" |
| reportShare.recipientIdentityIds | List | List of IDs for users receiving this email notification. |
# Data Access Security Campaign Revocation Failed Email Template
The Data Access Security Campaign Revocation Failed email is sent to the campaign owner associated with the Permission Revocation task which is created when an Access Certification campaign has the **Automatic Revocation** option enabled. The email is triggered after the Permission Revocation task associated to the campaign either failed or completed with warnings.
**Name**: Data Access Security Campaign Revocation Failed
**Subject**: Attention required. Rejected permissions failed to be revoked.
**Body**:
```html
Dear $__recipient.name,
This email is to inform you that automatic revocation was enabled on $campaign.campaignName. Some records which qualify for revocation were not completed successfully.
Please navigate to campaign details to review revocation status to retry or ignore failures
Thank you,
The SailPoint Team
This is an automatic message sent to you by Data Access Security - Please do not reply.
```
## Attributes
This email template uses [version 2](https://documentation.sailpoint.com/saas/help/common/emails/available_templates.html#version-2-templates) global variables and the following template-specific attributes:
| Name | Type | Description |
| --------------------- | ------ | ---------------------------------------------------------------------------------------------------------------------------------- |
| campaign.campaignName | String | Name of the Access Certification campaign. |
| campaign.url | URL | URL deep link to the Automatic Revocation tab for the specified Access Certification campaign details within Data Access Security. |
# Data Access Security Campaign Revocation Successful Email Template
The Data Access Security Campaign Revocation Successful email is sent to the campaign owner associated with the Permission Revocation task created when an Access Certification campaign has the **Automatic Revocation** option enabled. The email is triggered upon the successful completion of the Permission Revocation task associated to the campaign.
**Name**: Data Access Security Campaign Revocation Successful
**Subject**: Rejected permissions were successfully revoked
**Body**:
```html
Dear $__recipient.name,
This email is to inform you that automatic revocation was enabled on $campaign.campaignName. All records which qualify for revocation were revoked successfully.
This is an automatic message sent to you by Data Access Security - Please do not reply.
```
## Attributes
This email template uses [version 2](https://documentation.sailpoint.com/saas/help/common/emails/available_templates.html#version-2-templates) global variables and the following template-specific attributes:
| Name | Type | Description |
| --------------------- | ------ | ---------------------------------------------------------------------------------------------------------------------------------- |
| campaign.campaignName | String | Name of the Access Certification campaign. |
| campaign.url | URL | URL deep link to the Automatic Revocation tab for the specified Access Certification campaign details within Data Access Security. |
# Forgot User Name Email Template
The Forgot User Name email is sent to a user when they request their [user name](https://documentation.sailpoint.com/saas/user-help/accounts/resolving_issues.html?h=user+name#retrieving-your-username) via email.
**Name**: Forgot User Name
**Subject**: User name for ${PRODUCT_NAME}
**Body**:
```html
Dear ${user.name},
Your ${PRODUCT_NAME} user name is: ${user.uid}
If you did not request this information, please contact your administrator immediately.
Please sign in at: ${identityNowUrl}
Thanks, The ${PRODUCT_NAME} Team
```
## Attributes
None. All variable content is provided through [global variables](https://documentation.sailpoint.com/saas/help/common/emails/available_templates.html#version-2-templates).
# GenAI Entitlement Description Regeneration Complete
The GenAI Entitlement Description Regeneration Complete email is sent to the admin when suggested entitlement descriptions have finished regenerating after context updates on the GenAI Settings page.
**Name**: GenAI Entitlement Description Regeneration Complete
**Subject**: GenAI Entitlement Descriptions Have Been Regenerated
**Body**:
```text
Dear $__recipient.name,
Based on your GenAI Settings input, ${SedRegenerationCount} entitlement descriptions have been regenerated to more accurately reflect your context. You can review the regenerated descriptions on the Entitlement Recommendations page.
Thanks, The $__global.productName Team
```
## Attributes
This email template uses [version 2](https://documentation.sailpoint.com/saas/help/common/emails/available_templates.html#version-2-templates) global variables and the following template-specific attributes:
| Name | Type | Description |
| --------------------- | ------- | ------------------------------------------------------------------------------------------------ |
| $SedRegenerationCount | Integer | The number of suggested entitlement descriptions that have been regenerated. |
| $DeepLinkSuffix | String | Creates a link to the Entitlement Recommendations page when combined with \_\_global.productUrl. |
# Account Password Reset Email Template
The Account Password Reset email is sent to a user when they request a password reset via email.
Note
The link in this email expires after 120 minutes.
**Name**: Account Password Reset
**Subject**: #if (${sourcename}) ${sourcename} - Account Password Reset #else ${PRODUCT_NAME} - Password Reset #end
**Body**:
```html
Dear ${user.name}, #if (${sourcename})
A request has been made to reset your ${sourcename} account password. If you made this request please click here to verify your identity and set a new password.
#else
A request has been made to reset your ${PRODUCT_NAME} password. If you made this request please click here to verify your identity and set a new password.
#end
If clicking the link doesn't work, copy and paste the following into your browser: ${verificationURL}
If you did not make this request then please contact your IT administrator immediately.
Thanks, The ${PRODUCT_NAME} Team
```
## Attributes
This email template uses [version 1](https://documentation.sailpoint.com/saas/help/common/emails/available_templates.html#version-1-templates) global variables and the following template-specific attributes:
| Name | Type | Description |
| --------------- | ------ | ----------------------------------------------- |
| sourceName | String | Name of the source of the password being reset. |
| verificationURL | URL | URL for password reset. |
# Identity Errors Email Template
If you have configured [system notification emails](https://documentation.sailpoint.com/saas/help/common/getting_notified_org_health.html#configuring-system-notifications) for your organization, the Identity Errors email is sent when identity processing brings the number of identities in your system that are in an error state above 5%.
Note
Any email address can be configured to receive this notification. If the email specified does not correspond to an Identity Security Cloud user account, the global variable *user* will not be populated for use in this email message.
**Name:** Identity Errors
**Subject:** ${PRODUCT_NAME} Notification: Identities are in an Error State after a Refresh
**Body:**
```html
Dear recipient,
After an identity refresh at ${timestamp}, ${errorPercentage}% of identities in your organization are in an Error state.
Thank you, The ${PRODUCT_NAME} Team
You are receiving this email because your email address was configured to receive ${PRODUCT_NAME} notification emails.
```
## Attributes
This email template uses [version 1](https://documentation.sailpoint.com/saas/help/common/emails/available_templates.html#version-1-templates) global variables and the following template-specific attributes:
| Name | Type | Description |
| --------------- | ------- | ---------------------------------------------------- |
| errorPercentage | Integer | The percentage of identities in an Error state. |
| timestamp | String | The time when the last identity processing occurred. |
# Just-In-Time Access Activation Expiration (15 mins) Template
The Just-In-Time Access Activation 15-Minute Reminder email is sent to a user when their Just-In-Time access expires in 15 minutes.
**Name:** Just-In-Time Activation Expiration (15 mins)
**Subject:** Reminder: Your JIT activation expires in 15 minutes
**Body:**
```html
Dear $__recipient.name,
\n
Your Just-In-Time (JIT) activation will expire in 15 minutes.
\n#if($applicationName)
Application: $applicationName
#end\n#if($activationUrl)
You can extend or manage your access in $__global.productName here.
#end\n
Thanks, The $__global.productName Team
```
## Attributes
This email template uses [version 2](https://documentation.sailpoint.com/saas/help/common/emails/available_templates.html#version-2-templates) global variables and the following template-specific attributes:
| Name | Type | Description |
| --------------- | ------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| entitlementName | String | The name of the entitlement being activated Just-In-Time. **NOTE:** Activation events fire on entitlements, not on access profiles or roles, even when the entitlement was granted via one. |
| ownerName | String | Display name of the access owner or administrator the recipient should contact with questions. |
# Just-In-Time Access Deactivated Template
Sent to the user whose active Just-In-Time access activation window has been deactivated, notifying them that access has been removed and directs them to the Launchpad to reactivate if needed.
**Name:** Just-In-Time Deactivated
**Subject:** Your Just-In-Time access for ${entitlementName} has been deactivated
**Body:**
```html
Dear $__recipient.name,
The Just-In-Time duration window you activated for ${entitlementName} has now been deactivated, and access has been removed.
You may return to $__global.productName here to view details or reactivate this entitlement if needed.
Please contact ${ownerName} if you have any questions.
Thanks, The $__global.productName Team
```
## Attributes
This email template uses [version 2](https://documentation.sailpoint.com/saas/help/common/emails/available_templates.html#version-2-templates) global variables and the following template-specific attributes:
| Name | Type | Description |
| --------------- | ------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| entitlementName | String | The name of the entitlement being activated Just-In-Time. **NOTE:** Activation events fire on entitlements, not on access profiles or roles, even when the entitlement was granted via one. |
| ownerName | String | The display name of the access owner or administrator the recipient should contact with questions. |
| recipient.name | String | The display name of the identity who submitted the request. |
# Just-In-Time Access Deactivation Failed Template
The Just-In-Time Access Deactivation Failed email is sent to administrative recipients when a Just-In-Time access deactivation attempt does not succeed. The primary recipient is the Source or Application Owner. If the Source and Application Owner are not available, the primary recipient fallbacks to the Org Admin.
**Name**: Just-In-Time Deactivation Failed
**Subject**: Just-In-Time Deactivation for ${entitlementName} failed
**Body**:
```text
Dear $__recipient.name,
A Just-In-Time deactivation attempt for ${entitlementName} did not succeed.
```
## Attributes
This email template uses [version 2](https://documentation.sailpoint.com/saas/help/common/emails/available_templates.html#version-2-templates) global variables and the following template-specific attributes:
| Name | Type | Description |
| --------------- | ------ | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| entitlementName | String | The name of the entitlement being deactivated Just-In-Time. **NOTE:** Deactivation events fire on entitlements, not on access profiles or roles, even when the entitlement was granted via one. |
| ownerName | String | Display name of the owner or admin contact for escalation and follow-up. |
| recipient.name | String | Display name of the administrative recipient for this email notification. |
# Just-In-Time Access Activation Extended Template
The Just-In-Time Access Activation Extended email is sent to a user when their Just-In-Time access activation has been extended.
**Name:** Just-In-Time Activation Extended
**Subject:** Your Just-In-Time activation for ${entitlementName} has been extended
**Body:**
```html
Dear $__recipient.name,
The Just-In-Time duration window you extended for ${entitlementName} is extended for an additional ${extensionDuration}.
You may return to $__global.productName here to see your options for extending or deactivating this entitlement early.
Please contact ${ownerName} if you have any questions.
Thanks, The $__global.productName Team
```
## Attributes
This email template uses [version 2](https://documentation.sailpoint.com/saas/help/common/emails/available_templates.html#version-2-templates) global variables and the following template-specific attributes:
| Name | Type | Description |
| ----------------- | ------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| entitlementName | String | The name of the entitlement being activated Just-In-Time. **NOTE:** Activation events fire on entitlements, not on access profiles or roles, even when the entitlement was granted via one. |
| extensionDuration | String | Human-readable duration of the extension granted (for example, "30 minutes"). |
| ownerName | String | The display name of the access owner or administrator the recipient should contact with questions. |
| recipient.name | String | The display name of the identity who submitted the request. |
# Just-In-Time Access Activation Failed Template
The Just-In-Time Access Activation Failed email is sent to a user when their attempt to initiate a Just-In-Time access activation did not succeed.
**Name:** Just-In-Time Activation Failed
**Subject:** Your Just-In-Time activation for ${entitlementName} failed
**Body:**
```html
Dear $__recipient.name,
The Just-In-Time duration window you attempted to activate for ${entitlementName} failed.
You may return to $__global.productName here and attempt to activate the entitlement again.
Please contact ${ownerName} if you have any questions.
Thanks, The $__global.productName Team
```
## Attributes
This email template uses [version 2](https://documentation.sailpoint.com/saas/help/common/emails/available_templates.html#version-2-templates) global variables and the following template-specific attributes:
| Name | Type | Description |
| --------------- | ------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| entitlementName | String | The name of the entitlement being activated Just-In-Time. **NOTE:** Activation events fire on entitlements, not on access profiles or roles, even when the entitlement was granted via one. |
| ownerName | String | Display name of the access owner or administrator the recipient should contact with questions. |
| recipient.name | String | Display name of the identity who submitted the request. |
# Just-In-Time Access Activation Ready Template
The Just-In-Time Access Activation Ready email is sent to a user when their Just-In-Time access activation has been successfully initiated and is now active.
**Name:** Just-In-Time Activation Ready
**Subject:** Your Just-In-Time activation for ${entitlementName} is ready
**Body:**
```html
Dear $__recipient.name,
The Just-In-Time duration window you initiated for ${entitlementName} is now activated for ${activationDuration}.
You may return to $__global.productName here to see your options for extending or deactivating this entitlement early.
Please contact ${ownerName} if you have any questions.
Thanks, The $__global.productName Team
```
## Attributes
This email template uses [version 2](https://documentation.sailpoint.com/saas/help/common/emails/available_templates.html#version-2-templates) global variables and the following template-specific attributes:
| Name | Type | Description |
| --------------- | ------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| entitlementName | String | The name of the entitlement being activated Just-In-Time. **NOTE:** Activation events fire on entitlements, not on access profiles or roles, even when the entitlement was granted via one. |
| ownerName | String | The display name of the access owner or administrator the recipient should contact with questions. |
| recipient.name | String | The display name of the identity who submitted the request. |
# Lifecycle State Change Email Template
The Lifecycle State Change email is sent to any specified users when an identity's lifecycle state changes, depending on [configurations](https://documentation.sailpoint.com/saas/help/provisioning/lifecycle.html#configuring-lifecycle-states) made within the identity profile.
**Name:** Lifecycle State Change
**Subject:** Lifecycle state change for ${identityName}
**Body:**
```html
The user ${identityName}'s status has changed to $newState.
Thanks, The ${PRODUCT_NAME} Team
```
## Attributes
This email template uses [version 1](https://documentation.sailpoint.com/saas/help/common/emails/available_templates.html#version-1-templates) global variables and the following template-specific attributes:
| Name | Type | Description |
| ------------ | ---------- | ---------------------------------------------------------------------------------------- |
| identityName | String | The name of the identity. |
| identity | Attributes | This variable contains the attributes of the identity whose lifecycle state has changed. |
| oldState | String | The identity's old lifecycle state. |
| newState | String | The identity's new lifecycle state. |
# New Machine Account Assigned
The New Machine Account Assigned email notifies a user when they are assigned a machine account.
**Name**: New Machine Account Assigned
**Subject**: You are now the owner of the machine account - ${accountName}
**Body**:
```text
Hello ${ownerName},
You are now the account owner of the machine account ${accountName} on ${sourceName}.
You are responsible for managing this account and keeping it up to date. If you have questions, contact your administrator.
Thank you,
The ${PRODUCT_NAME} Team
```
## Attributes
This email template uses [version 1](https://documentation.sailpoint.com/saas/help/common/emails/available_templates.html#version-1-templates) global variables and the following template-specific attributes:
| Name | Type | Description |
| ----------- | ------ | -------------------------------------------------------------------- |
| accountName | string | The name of the account. |
| ownerName | string | The name of the identity who is responsible for the machine account. |
| sourceName | string | The name of the source. |
# Machine Account Creation Request Completed
The Machine Account Creation Request Completed email notifies a user when their request for a new machine account was completed successfully.
**Name**: Machine Account Creation Request Completed
**Subject**: ${sourceName} - Account creation request completed successfully for ${accountName}
**Body**:
```text
Hello ${requesterName},
Your request to create the machine account ${accountName} on ${sourceName} was completed successfully.
The account is now active and ready for use. The account owner has been notified and can begin managing the account.
Thank you,
The ${PRODUCT_NAME} Team
```
## Attributes
This email template uses [version 1](https://documentation.sailpoint.com/saas/help/common/emails/available_templates.html#version-1-templates) global variables and the following template-specific attributes:
| Name | Type | Description |
| ------------- | ------ | ------------------------------------------------------------ |
| accountName | string | The name of the account. |
| requesterName | string | The display name of the identity that submitted the request. |
| sourceName | string | The name of the source. |
# Machine Identity Request Completed
The Machine Identity Request Completed email notifies the requester that their machine identity request was completed successfully.
**Name**: Machine Identity Request Completed
**Subject**: $sourceName – $operationType request successfully completed for $machineIdentityName
**Body**:
```text
Hello $requesterName,
Your request to $operationType.toLowerCase() the $machineIdentitySubtype.toLowerCase() $data.machineIdentityName on the $sourceName source was completed successfully.
Thank you,
The $_global.productName Team
```
## Attributes
This email template uses [version 1](https://documentation.sailpoint.com/saas/help/common/emails/available_templates.html#version-1-templates) global variables and the following template-specific attributes:
| Name | Type | Description |
| ---------------------- | ------ | ------------------------------------------------------------------ |
| machineIdentityName | string | The name of the machine identity. |
| machineIdentitySubtype | string | The reason the account request failed. |
| operationType | string | Indicates whether a machine identity was activated or deactivated. |
| requesterName | string | The display name of the identity that submitted the request. |
| sourceName | string | The name of the source. |
# Machine Identity Request Failed
The Machine Identity Request Failed email notifies the requester that their machine identity request failed.
**Name**: Machine Identity Request Failed
**Subject**: $sourceName – $operationType request failed for $machineIdentityName
**Body**:
```text
Hello $requesterName,
Your request to $operationType.toLowerCase() the $MachineIdentitySubtype.toLowerCase() $machineIdentityName on the $sourceName source has failed.
Reason for failure: $failureReason
Please contact your administrator for assistance.
Thank you,
The $_global.productName Team
```
## Attributes
This email template uses [version 1](https://documentation.sailpoint.com/saas/help/common/emails/available_templates.html#version-1-templates) global variables and the following template-specific attributes:
| Name | Type | Description |
| ---------------------- | ------ | ------------------------------------------------------------------ |
| failureReason | string | The reason the request failed. |
| machineIdentityName | string | The name of the machine identity. |
| machineIdentitySubtype | string | The reason the account request failed. |
| operationType | string | Indicates whether a machine identity was activated or deactivated. |
| requesterName | string | The display name of the identity that submitted the request. |
| sourceName | string | The name of the source. |
# Non-Employee Account Request Result Email Template
The Non-Employee Account Request Result email is sent to a user to inform them that a decision has been made about the non-employee account they requested.
This email is only used for non-employee identities created through a [Non-Employee source](https://documentation.sailpoint.com/saas/help/common/non-employee-mgmt.html).
**Name:** Non-Employee Account Request Result
**Subject:** Your non-employee account request for ${data.firstName} ${data.lastName} was $data.approvalStatus
**Body:**
```html
#set($_sourceName = $data.nonEmployeeSource.name)
#set($_userDisplayName = "${data.firstName} ${data.lastName}")
#set($_approvalStatus = $__contentJson.get('data').get('approvalStatus'))
#set($_createdDate = $__dateTool.toDate("yyyy-MM-dd'T'HH:mm:ss.SSSXXX", $data.created))
Dear $__recipient.name,
On $__dateTool.format('yyyy-MM-dd', $_createdDate), you requested a non-employee account for $_userDisplayName on the source $_sourceName.
#if($_approvalStatus == "APPROVED")
This request has been approved. A new $__global.productName account for this user is being processed. The user name for this account will be $data.accountName.
This request has been cancelled because one or more reviewers in the review process has been removed from the system.
You can resubmit the request in $__global.productName.
#end #foreach($item in $__contentJson.get("data").get("approvalItems")) #if($_approvalStatus == "REJECTED") $__util.getUser($item.approver.id).name provided the following additional information: $item.comment #elseif($item.get("comment") != $null) $__util.getUser($item.approver.id).name provided the following additional information: $item.comment #end #end Thanks, The $__global.productName Team
```
When this email is sent to users, the message body will also include:
- A header that says "Dear $\_\_recipient.name,"
- A footer that says "Thanks, The $\_\_global.productName Team"
## Attributes
None. All variable content is provided through [global variables](https://documentation.sailpoint.com/saas/help/common/emails/available_templates.html#version-2-templates).
# Non-Employee Account Request Email Template
The Non-Employee Account Request email is sent to a user to confirm that their request for a new non-employee account was successfully submitted. The email also explains the review process, if there are account reviewers for this non-employee source.
This email is only used for non-employee identities created through a [Non-Employee source](https://documentation.sailpoint.com/saas/help/common/non-employee-mgmt.html).
**Name:** Non-Employee Account Request
**Subject:** You've requested a non-employee account for ${data.firstName} ${data.lastName}
**Body:**
```html
#set($_sourceName = $data.nonEmployeeSource.name)
#set($_approverIds = $__util.getObjectByJsonPath($__contentJson, '$.data.approvalItems[*].approver.id'))
Dear $__recipient.name,
Your request for a non-employee account for $data.accountName on the source $_sourceName was successfully submitted.
$__util.getUser($_approverIds[0]).name must approve this account request before it can be added to the source.
#elseif($_approverIds.size() > 1)
The following reviewers must approve this account request before it can be added to the source:
#foreach($_approverId in $_approverIds)
$__util.getUser($_approverId).name
#end
#end
You will be notified when a decision is made about this account request. You can check the status of your request by clicking Manage Non-Employees on the dashboard and viewing the $_sourceName source.
#{else}
This account will be added to $_sourceName shortly. You can check its status by clicking Manage Non-Employees on the dashboard and viewing the $_sourceName source.
#end
Thanks, The $__global.productName Team
```
When this email is sent to users, the message body will also include:
- A header that says "Dear $\_\_recipient.name,"
- A footer that says "Thanks, The $\_\_global.productName Team"
## Attributes
None. All variable content is provided through [global variables](https://documentation.sailpoint.com/saas/help/common/emails/available_templates.html#version-2-templates).
# Non-Employee Account Review Email Template
The Non-Employee Account Review email is sent to a user when a request for a non-employee account has been submitted that requires their attention. The email's recipient can approve or deny the request.
This email is only used for non-employee identities created through a [Non-Employee source](https://documentation.sailpoint.com/saas/help/common/non-employee-mgmt.html).
**Name:** Non-Employee Account Review
**Subject:** Review the non-employee account requested for ${data.firstName} ${data.lastName}
**Body:**
```html
#set($_sourceName = $data.nonEmployeeSource.name)
#set($_requestedForDisplayName = "${data.firstName} ${data.lastName}")
#set($_pendingApprovalItem = $__util.getObjectByJsonPath($__contentJson, "$.data.approvalItems[?(@.approvalStatus == 'PENDING')]").get(0))
#set($_approvedApprovalItems = $__util.getObjectByJsonPath($__contentJson, "$.data.approvalItems[?(@.approvalStatus == 'APPROVED')]"))
#set($_notReadyApprovalItems = $__util.getObjectByJsonPath($__contentJson, "$.data.approvalItems[?(@.approvalStatus == 'NOT_READY')]"))
#set($_requester = $__util.getUser($data.requester.id))
Dear $__recipient.name,
$_requester.name has requested a new non-employee account for $_requestedForDisplayName on the source $_sourceName.
#foreach($_approvedItem in $_approvedApprovalItems)#if($foreach.count!=1) and #end$__util.getUser($_approvedItem.approver.id).name#end have approved this account.
#end #if($_notReadyApprovalItems.size()>0)
#foreach($_notReadyApprovalItem in $_notReadyApprovalItems)#if($foreach.count!=1) and #end$__util.getUser($_notReadyApprovalItem.approver.id).name#end will review this account request if you approve it.
If you approve this non-employee account request, an account for $_requestedForDisplayName with the account ID $data.accountName will be created in $__global.productName.
#end
Thanks, The $__global.productName Team
```
When this email is sent to users, the message body will also include:
- A header that says "Dear $\_\_recipient.name,"
- A footer that says "Thanks, The $\_\_global.productName Team"
## Attributes
None. All variable content is provided through [global variables](https://documentation.sailpoint.com/saas/help/common/emails/available_templates.html#version-2-templates).
# Non-Employee End Date Reminder Email Template
The Non-Employee End Date Reminder email is sent to all account managers of a non-employee source to notify them that one or more non-employees has an end date approaching.
This email is only used for non-employee identities created through a [Non-Employee source](https://documentation.sailpoint.com/saas/help/common/non-employee-mgmt.html).
**Name:** Non-Employee End Date Reminder
**Subject:** Reminder: The end date for $data.expiringNonEmployees.size() non-employee#if($data.expiringNonEmployees.size()>1)s#end is in 7 days
**Body:**
```html
#set($_sourceName = $data.sourceName)
#set($_expiringNonEmployees = $data.expiringNonEmployees)
#set($_productName = $__global.productName) #set($_nonEmployeeSourceUrl = "${__global.productUrl}/ui/d/dashboard/non-employees/sources/$data.sourceId")
#macro( showName $_nonEmployee )
$_nonEmployee.firstName $_nonEmployee.lastName ($_nonEmployee.accountName)
#end
Dear $__recipient.name,
You are receiving this email because you’re listed as an account manager for the non-employee source $_sourceName in $_productName.
#if ($_expiringNonEmployees.size()==1)
The end date for the non-employee #showName($_expiringNonEmployees[0]) is in 7 days.
Your admin may have configured these non-employees to lose access to $_productName on their end date.
#elseif ($_expiringNonEmployees.size()>1)
The end date for $_expiringNonEmployees.size() non-employees in $_productName is in 7 days.
Your admin may have configured these non-employees to lose access to $_productName on their end date. The following users are included in this list:
#foreach($_expireNonEmployee in $_expiringNonEmployees) #if($foreach.count==21) #break #end
The complete list includes $_additionalExpireNonEmployee additional#if($_additionalExpireNonEmployee==1) identity#else identities#end. Visit the $_sourceName account list to view the complete list.
#end #end
You can change the end date for#if($_expiringNonEmployees.size()==1) this#else these#end and other users in the $_sourceName source in $_productName.
Thanks, The $__global.productName Team
```
When this email is sent to users, the message body will also include:
- A header that says "Dear $\_\_recipient.name,"
- A footer that says "Thanks, The $\_\_global.productName Team"
## Attributes
None. All variable content is provided through [global variables](https://documentation.sailpoint.com/saas/help/common/emails/available_templates.html#version-2-templates).
# Non-Employee Account Upload Failed Email Template
The Non-Employee Account Upload Failed email notifies a user that the account upload they attempted for a non-employee source failed. The notification includes the error message returned with the failure.
**Name**: Non-Employee Account Upload Failed
**Subject**: #set($\_sourceName = $data.sourceName)Your non-employee account upload for the $\_sourceName source failed
**Body**:
```html
#set($_sourceName = $data.sourceName)
#set($_sourceId = $data.sourceId)
#set($url = "${__global.productUrl}/ui/d/dashboard/non-employees/sources/$_sourceId")
#set($_date = $__dateTool.toDate("yyyy-MM-dd'T'HH:mm:ss.SSSXXX", $data.dateTime))
#set($_formattedDate = $__dateTool.format("EEEEE, MMMMM dd, YYYY", $_date))
#set($_formattedTime = $__dateTool.format("h:mm a", $_date))
#set($_errorMessage = $data.errorMessage)
Dear ${data.displayName},
The non-employee account upload you started for the $_sourceName source on $_formattedDate at $_formattedTime failed.
The system provided this error message: $_errorMessage
```
When this email is sent to users, the message body will also include:
- A header that says "Dear $\_\_recipient.name,"
- A footer that says "Thanks, The $\_\_global.productName Team"
## Attributes
None. All variable content is provided through [global variables](https://documentation.sailpoint.com/saas/help/common/emails/available_templates.html#version-2-templates).
# Non-Employee Account Upload Succeeded Email Template
The Non-Employee Account Upload Succeeded email notifies a user when the account upload they submitted for a non-employee source successfully completes.
**Name**: Non-Employee Account Upload Succeeded
**Subject**: #set($\_sourceName = $data.sourceName)Your non-employee account upload for the $\_sourceName source has succeeded
**Body**:
```html
#set($_sourceName = $data.sourceName)
#set($_sourceId = $data.sourceId)
#set($url = "${__global.productUrl}/ui/d/dashboard/non-employees/sources/$_sourceId")
#set($_date = $__dateTool.toDate("yyyy-MM-dd'T'HH:mm:ss.SSSXXX", $data.dateTime))
#set($_formattedDate = $__dateTool.format("EEEEE, MMMMM dd, YYYY", $_date))
#set($_formattedTime = $__dateTool.format("h:mm a", $_date))
#set($_totalAccounts = $data.numProcessedAccounts.intValue())
#set($_changedAccounts = $data.numChangedAccounts.intValue())
#set($_unChangedAccounts = $data.numUnchangedAccounts.intValue())
#set($_newAccounts = $data.numNewAccounts.intValue())
The non-employee account upload you started for the $_sourceName source on $_formattedDate at $_formattedTime succeeded.
This file contained $_totalAccounts account#if($_totalAccounts!=1)s#end. Based on this upload:
$_newAccounts new non-employee account#if($_newAccounts!=1)s were#{else} was#end created.
```
When this email is sent to users, the message body will also include:
- A header that says "Dear $\_\_recipient.name,"
- A footer that says "Thanks, The $\_\_global.productName Team"
## Attributes
None. All variable content is provided through [global variables](https://documentation.sailpoint.com/saas/help/common/emails/available_templates.html#version-2-templates).
# New Account Provisioned Email Template
The New Account Provisioned email is sent to a user when a new account is created for them on a source as a result of a provisioning action. If more than one source account is created for the user in a single provisioning action, these emails are sent after the final account is created and any Identity Security Cloud tasks are marked complete. This notification can be enabled for each source through the [Update Source (Partial)](https://developer.sailpoint.com/docs/api/v2025/update-source) endpoint. Update the `accountCreateNotification` object in the `connectorAttributes` object.
Note
If you provision a new account for a user on a flat-file source and mark the task complete before the source is aggregated, the email will always use the native identity attribute as the username for the source in the email.
**Name:** New Account Provisioned
**Subject:** ${source} - A New Account Has Been Created For ${username}
**Body:**
```html
Hello,
The ${PRODUCT_NAME} system has created an account for ${username} on the ${source} system. Here are the details about this account:
User Name: ${accountUserName}
Access: #foreach ($access in $accountAccess)
$access
#end
If you have any questions, contact your administrator.
Thanks, The ${PRODUCT_NAME} Team
```
## Attributes
This email template uses [version 1](https://documentation.sailpoint.com/saas/help/common/emails/available_templates.html#version-1-templates) global variables and the following template-specific attributes:
| Name | Type | Description |
| ------------------ | ---------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| accountAccess | List | The entitlements associated with the account. |
| accountAttributes | Map | The attributes of the newly created account. To reference an attribute, append a period followed by the attribute name. For example, to include the firstName of the newly created account in the email, use the variable `accountAttributes.firstName`. All attributes marked as required in the [account creation configuration](https://documentation.sailpoint.com/saas/help/provisioning/create_profile.html#editing-the-account-creation-configuration) are available for use except the variable `password` to prevent security risks. |
| accountIdAttribute | String | The attribute in the source that's used for the account ID. |
| accountUserName | String | The unique identifier for the source account. |
| identity | Attributes | The attributes of the Identity being provisioned with an account. To reference an attribute, append a period followed by the attribute name. For instance, to include the display name of the identity in the email, use the variable identity.displayName. |
| source | String | The source the account was created on. |
| username | String | The user's Identity Security Cloud user name. |
# Pending Manual Changes Email Template
The Pending Manual Changes email is sent to source owners when an account change is needed on a source that requires manual provisioning.
**Name**: Pending Manual Changes
**Subject**: Changes requested to $identityDisplayName need manual interaction
**Body**:
```html
$launcher is requesting the following changes for '$identityDisplayName' be manually made by you.
#if ( $approvalSet.items )
#foreach ($item in $approvalSet.items)
Application: $item.applicationName
#if ( $item.nativeIdentity )
Account : $item.nativeIdentity
#end #if ( $item.instance )
Instance : $item.instance
#end
Operation: $item.operation
#if ( $item.displayName )
Attribute: $item.displayName
#elseif ( $item.name )
Attribute: $item.name
#end #if ( $item.displayValue )
Value(s): $item.displayValue
#elseif ( $item.csv )
Value(s): $item.csv
#end #if ( $item.requesterComments )
Requester Comments: $item.requesterComments
#end #end #end
```
## Attributes
This email template uses [version 1](https://documentation.sailpoint.com/saas/help/common/emails/available_templates.html#version-1-templates) global variables and the following template-specific attributes:
| Name | Type | Description |
| ------------------- | ----------- | ----------------------------------------------- |
| approvalSet | ApprovalSet | The model for the approval process. |
| identityDisplayName | string | The display name of the identity being changed. |
| identityName | string | The name of the identity being changed. |
| item | Workitem | The item that needs to be changed. |
| launcher | string | The identity who requested the change. |
# Policy Change Email Template
The Policy Version Changed email template notifies a user when a policy has changed while being disabled.
**Name**: Policy Version Changed While Disabled
**Subject**: Review Required: $policyName was modified while disabled
**Body**:
```text
Dear $__recipient.name,
\n \n
This is a notification that the $policyTypeVanityName policy $policyName was modified while disabled, and has since been re-enabled by $_actorName. You are receiving this email because you are an owner of this policy.
\n
We recommend reviewing the current configuration to confirm it still reflects your intended outcome.
"
```
## Attributes
None. All variable content is provided through [global variables](https://documentation.sailpoint.com/saas/help/common/emails/available_templates.html#version-2-templates).
| Name | Type | Description |
| -------------------- | ------ | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| policyName | string | Display name of the policy that was changed. |
| policyTypeVanityName | string | Display name of the policy's type. |
| actorId | string | ID of the identity who re-enabled the policy. Hydrated to a display name in the template via `$__util.getUser($actorId).name`, except for the literal value 'system', which renders as System. |
| policyId | string | Unique ID of the policy, used to build the deep link to the policy's view details page. |
| policyTypeUrlId | string | URL-safe identifier for the policy type, used to build the deep link to the policy's view details page. |
# Preference Update Email Template
The Preference Update email is sent to a user whenever they change any authentication settings, like their phone number or answers to security questions.
**Name**: Preference Update
**Subject**: ${PRODUCT_NAME} - ${changedSetting} ${hasOrHave} changed
**Body**:
```html
Dear ${user.name},
${changedSetting} for ${PRODUCT_NAME} ${hasOrHave} been updated at ${homeUrl}.
The change, made on ${date}, will apply to ${PRODUCT_NAME} the next time you sign in. If you did not make this change, please contact your IT administrator immediately.
Thanks, The ${PRODUCT_NAME} Team
```
## Attributes
This email template uses [version 1](https://documentation.sailpoint.com/saas/help/common/emails/available_templates.html#version-1-templates) global variables and the following template-specific attributes:
| Name | Type | Description |
| -------------- | ----------------- | -------------------------------------------------------------------------------------- |
| changedSetting | String | The setting that was changed: options, phone number, or answers to security questions. |
| date | Date | Date of setting change. |
| hasOrHave | String (has/have) | Specifies verb based on number of items changed. |
| homeUrl | URL | URL of Identity Security Cloud homepage. |
| PRODUCT_NAME | String | Name of the product. |
| User | User | Recipient of the email. |
# Privilege Level Recommendation Review
The Privilege Level Recommendation Review email is sent to a source owner for an entitlement with a privilege level recommendation that needs review.
**Name**: Privilege Level Recommendation Review
**Subject**: Entitlement privilege level recommendations ready for review
**Body**:
```text
Dear $__recipient.name,
A suggested direct privilege level is available for the ${EntitlementName} entitlement. To review and approve, go to the Entitlement Recommendations page.
Thanks, The $__global.productName Team
```
## Attributes
This email template uses [version 2](https://documentation.sailpoint.com/saas/help/common/emails/available_templates.html#version-2-templates) global variables and the following template-specific attributes:
| Name | Type | Description |
| ---------------- | ------ | ------------------------------------------------------------------------------------------------ |
| $EntitlementName | String | The name of the entitlement with a suggested direct privilege level to review. |
| $DeepLinkSuffix | String | Creates a link to the Entitlement Recommendations page when combined with \_\_global.productUrl. |
# Password Expiration Email Template
The Password Expiration email notifies a user when their password is about to expire or has expired. For more information about configuring when this email is sent, refer to [Defining Password Expiration Settings](https://documentation.sailpoint.com/saas/help/pwd/pwd_policies/pwd_policies.html#defining-password-expiration-settings).
**Name:** Password Expiration
**Subject:**
REMINDER: Your ${acctName} password#if ( ${dayToExpire} \<= 0 ) has expired#elseif ( ${dayToExpire} == 1 ) expires in ${dayToExpire} day#elseif ( ${dayToExpire} > 1 ) expires in ${dayToExpire} days#end
**Body:**
```html
Hi ${user.name},
#if ( ${dayToExpire} <= 0 )
Your ${acctName} password has expired.
#elseif ( ${dayToExpire} == 1 )
Your ${acctName} password expires in ${dayToExpire} day.
#else
Your ${acctName} password expires in ${dayToExpire} days. #end Click here to change/reset your password.
If clicking the link doesn't work, copy and paste the following into your browser: ${resetUrl}
#if (${applist}) #if (${appCount} > 1)
The following applications use ${acctName} password for SSO:
#else
The following application uses ${acctName} password for SSO:
#end ${applist} #end
Thanks, The ${PRODUCT_NAME} Team
```
## Attributes
This email template uses [version 1](https://documentation.sailpoint.com/saas/help/common/emails/available_templates.html#version-1-templates) global variables and the following template-specific attributes:
| Name | Type | Description |
| ----------- | ------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| acctName | String | Name of the account. If the org uses pass-through authentication, this will show the value of the Product Name field in **Global > System Settings > Product Branding**. |
| appCount | Number | Number of applications. |
| applist | String | List of applications. |
| dayToExpire | Number | Days left for expiration. |
| resetUrl | URL | URL for password reset. |
| User | User | Recipient of the email. |
# Password Reset Code Email Template
The Password Reset Code email is sent to users when they request a password reset code via email.
Note
The code in this email expires after 10 minutes.
**Name**: Password Reset Code
**Subject**: #if (${sourcename}) Your Account Password Reset Code is ${token} #else Your Password Reset Code is ${token} #end
**Body**:
```html
Dear ${user.name},
#if (${sourcename})
A request has been made to reset your ${sourcename} account password. If you made this request, please copy the following code into the prompt in ${PRODUCT_NAME} to verify your identity:
#else
A request has been made to reset your ${PRODUCT_NAME} password. If you made this request, please copy the following code into the prompt in ${PRODUCT_NAME} to verify your identity:
#end
${token}
This code expires as soon as it’s used, or on ${expires}.
If you did not make this request, please contact your IT administrator immediately.
Thanks, The ${PRODUCT_NAME} Team
```
## Attributes
This email template uses [version 1](https://documentation.sailpoint.com/saas/help/common/emails/available_templates.html#version-1-templates) global variables and the following template-specific attributes:
| Name | Type | Description |
| ---------- | ------ | ------------------------------------------ |
| expires | String | When the token expires. |
| sourcename | String | Use if this is an account password change. |
| token | String | The 6-digit token. |
# Work Reassignment Created Email Template
When a new work reassignment configuration is saved, both the user whose work is being reassigned and the person who will receive the work assignments are notified. This Work Reassignment Created email template is used if the new configuration doesn't override an existing configuration for the same user and work type. If it overrides an existing one, the [Work Reassignment Updated](https://documentation.sailpoint.com/saas/help/common/emails/et_reassign_config_update.html) email is sent instead.
**Name**: Work Reassignment Created
**Subject**: New Automatic Reassignment for ${reassignedFromName}
**Body**:
```text
#set($_startDate = $__dateTool.toDate("yyyy-MM-dd'T'HH:mm:ss", ${startDate}))
#set($_formattedStartDate = $__dateTool.format("EEEEE, MMMMM dd, YYYY", $_startDate))
#set($_endDate = $__dateTool.toDate("yyyy-MM-dd'T'HH:mm:ss", ${endDate}))
#set($_formattedEndDate = $__dateTool.format("EEEEE, MMMMM dd, YYYY", $_endDate))
${modifiedByName} has configured automatic reassignment of ${configType} from ${reassignedFromName} to ${reassignedToName} starting on ${_formattedStartDate} #if( ${endDate} != "0001-01-01T00:00:00Z") and ending on ${_formattedEndDate}. #else with no end date. #end
```
## Attributes
This email template uses [version 2](https://documentation.sailpoint.com/saas/help/common/emails/available_templates.html#version-2-templates) global variables and the following attributes:
| Name | Type | Description |
| ------------------ | ------------------------ | --------------------------------------------------------------------------------------------------------------------------------------------- |
| reassignedFromId | String | Unique ID of the identity whose work is being reassigned. |
| reassignedFromName | String | Name of the identity whose work is being reassigned. |
| reassignedToId | String | Unique ID of the identity receiving the reassignments. |
| reassignedToName | String | Name of the identity receiving the reassignments. |
| configType | String | Type of work being reassigned: Access Requests, Certifications, Tasks. |
| createdByName | String | Name of the identity who created the new reassignment config. |
| modifiedByName | String | Name of the identity who created the new reassignment config. For new reassignments that initiate this email, this matches the createdByName. |
| startDate | String (ISO date format) | Start date-time of the reassignment period. |
| endDate | String (ISO date format) | End date-time of the reassignment period. |
# Work Reassignment Updated Email Template
When a new work reassignment configuration is saved, both the user whose work is being reassigned and the person who will receive the work assignments are notified. This Work Reassignment Updated email template is used if the new configuration overrides an existing configuration for the same user and work type. If it doesn't, the [Work Reassignment Created](https://documentation.sailpoint.com/saas/help/common/emails/et_reassign_config_create.html) email is sent instead.
**Name**: Work Reassignment Updated
**Subject**: New Automatic Reassignment for ${newConfig.reassignedFromName}
**Body**:
```text
#set($_startDate = $__dateTool.toDate("yyyy-MM-dd'T'HH:mm:ss", ${newConfig.startDate}))
#set($_formattedStartDate = $__dateTool.format("EEEEE, MMMMM dd, YYYY", $_startDate))
#set($_endDate = $__dateTool.toDate("yyyy-MM-dd'T'HH:mm:ss", ${newConfig.endDate}))
#set($_formattedEndDate = $__dateTool.format("EEEEE, MMMMM dd, YYYY", $_endDate))
${modifiedByName} has configured automatic reassignment of ${configType} from ${reassignedFromName} to ${reassignedToName} starting on ${_formattedStartDate} #if( ${endDate} != "0001-01-01T00:00:00Z") and ending on ${_formattedEndDate}. #else with no end date. #end
```
## Attributes
The details which can be included in this email message are provided in two variables which contain several attributes each.
| Name | Type | Description |
| --------- | ---- | -------------------------------------------------------------------- |
| oldConfig | Map | Details of the work reassignment configuration prior to this change. |
| newConfig | Map | New work reassignment configuration details. |
Attributes of each of these variables are as follows:
| Name | Type | Description |
| ------------------ | ------------------------ | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| reassignedFromId | String | Unique ID of the identity whose work is being reassigned. |
| reassignedFromName | String | Name of the identity whose work is being reassigned. |
| reassignedToId | String | Unique ID of the identity receiving the reassignments. |
| reassignedToName | String | Name of the identity receiving the reassignments. |
| configType | String | Type of work being reassigned: Access Requests, Certifications, Tasks. |
| createdByName | String | Name of the identity who created the original reassignment config. |
| modifiedByName | String | In newConfig, name of the identity who updated the reassignment config. In oldConfig, name of the identity who most recently updated the reassignment config prior to this change. |
| startDate | String (ISO date format) | Start date-time of the reassignment period. |
| endDate | String (ISO date format) | End date-time of the reassignment period. |
To reference these values in the email message, use the pattern: `${variableName.attributeName}`. For example: `${newConfig.reassignedFromName}`.
# Remediation Work Item Email Template
The Remediation Work Item email is sent to a user when a new remediation work item has been assigned to them.
**Name:** Remediation Work Item
**Subject:** New remediation request: $!workItemName
**Body:**
```html
$!requesterName has assigned a new remediation work item to you: $!workItemName. Comments from $!requesterName: -------------------------------------------------------------------------------- $!comments -------------------------------------------------------------------------------- Login and view your work item inbox to complete this request.
```
## Attributes
None. All variable content is provided through [global variables](https://documentation.sailpoint.com/saas/help/common/emails/available_templates.html#version-2-templates).
# Search Subscription Notification Email Template
The Subscription Notification email is sent to administrators when a scheduled search is run.
Note
By default, for security reasons, subscriptions are configured to exclude detailed results (designated in the section below). However, the subscription creator can select the **Add a detailed summary of results to the report** to include that information. For more information, refer to [Subscribing to Saved Searches](https://documentation.sailpoint.com/saas/help/search/saved-searches.html#subscribing-to-saved-searches).
**Name**: Subscription Notification
**Subject**: [${PRODUCT_NAME}] Subscription: ${searchName}#if (${searchResults.isEmpty()}) (no results)#end
**Body**:
```html
You're receiving this email because you're subscribed to the search query: ${searchName}.
#if (${displayQueryDetails})
```
## Attributes
This email template uses [version 1](https://documentation.sailpoint.com/saas/help/common/emails/available_templates.html#version-1-templates) global variables and the following template-specific attributes:
| Name | Type | Description |
| ------------------- | ------- | ------------------------------------------------------- |
| displayQueryDetails | Boolean | Indicates if query details should be displayed. |
| fileNameEncoded | String | The file name of the downloaded report. |
| ownerEmail | String | The email address of the subscription owner. |
| ownerName | String | The display name of the subscription owner. |
| savedSearchId | String | The ID of the saved search. |
| scheduleId | String | The ID of the scheduled search. |
| searchName | String | The name of the saved search. |
| searchNameEncoded | String | The name of the saved search (encoded). |
| searchQuery | String | The saved search query. |
| searchResults | Map | A map of the results returned for each searchable item. |
| taskResultId | String | The ID of the TaskResult that generated the report. |
# Onboarding Password Reset
The Onboarding Password Reset email is sent to a user to prompt them to set their first Identity Security Cloud password.
**Name:** Onboarding Password Reset
**Subject:** Set your first ${PRODUCT_NAME} password
**Body:**
```html
Dear ${userDisplayName},
Welcome to ${PRODUCT_NAME}! To get started, you need to set your ${PRODUCT_NAME} password.
Your username is ${userName}. Click here to set your password.
If clicking the link doesn't work, copy and paste the following into your browser:
${verificationURL}
This link expires after ${expirationTime} hours.
Thanks, The ${PRODUCT_NAME} Team
```
## Attributes
None. All variable content is provided through [global variables](https://documentation.sailpoint.com/saas/help/common/emails/available_templates.html#version-2-templates).
# SoD Policy Scheduled Evaluation Email Template
The Separation of Duties (SoD) Policy Subscription Notification email is sent to remediators or notification recipients for SoD Policies.
**Name**: SoD Policy Subscription Notification
**Subject**: ATTENTION: Policy Violations Identified
**Body**:
```html
Separation of Duties (SoD) policy violations have been identified within ${PRODUCT_NAME}
Business Name: ${policyName}
Description: ${description}
External Reference: ${externalReference}
SOD Policy
You are receiving this email because you are designated as an SoD policy remediator or notification recipient. The owner of this policy is ${ownerName}.
${ownerName} recommends the following corrective actions: ${correctionAdvice}
If this violation is unavoidable, ${ownerName} recommends the following: ${mitigatingControls}
Use the violations report link below to take appropriate action.
Violators were identified with this implementation query:
#foreach ($documentType in ${searchResults.keySet()})
${documentType} Results Preview:
#set ($isHeader = true)
#foreach ($previewRow in ${searchResults.get($documentType).get("preview")})
#foreach ($previewCell in ${previewRow})
#if ($isHeader)
${previewCell}
#else
${previewCell}
#end
#end
#set ($isHeader = false)
#end
#end
#else
${policyName} is returning no results at this time.
#end
To download the complete results, click here:
Thanks,
The ${PRODUCT_NAME} Team
```
## Attributes
This email template uses [version 1](https://documentation.sailpoint.com/saas/help/common/emails/available_templates.html#version-1-templates) global variables and the following template-specific attributes:
| Name | Type | Description |
| ------------------ | ------ | ---------------------------------------------------------------- |
| correctionAdvice | String | Advice from owner of the policy on how to correct the violation. |
| description | String | A short description of the SoD policy. |
| externalReference | String | An optional UI attribute. |
| linkToReport | String | The link to the report. |
| mitigatingControls | String | An optional UI attribute. |
| ownerName | String | The name of the SoD policy owner. |
| policyName | String | The name of the SoD policy. |
| searchName | String | The name of the SoD policy search query. |
| searchQuery | String | The saved search query. |
| searchResults | Map | Map of the results returned for each noun. |
| searchUrl | String | The URL to the Search page. |
| violationOwner | String | The name of the owner of the violation. |
# SoD Policy Violation Notification Email Template
The Separation of Duties (SoD) Policy Violation Notification email is sent to SoD policy violation owners when violations are identified.
**Name**: SoD Violation Notification
**Subject**: SailPoint SoD Policy Violations Identified
**Body**:
```html
Dear $violationOwnerName,
You are receiving this email because you are designated as a Separation of Duties (SoD) policy violation owner. SoD policy violations have been identified within SailPoint.
Violation Details
Violation Count: $violationCount
Level: $policyLevel
Policy Name: $policyName
Description: $policyDescription
External Reference: $policyExternalReference
If you are designated to manage violations for $policyName, you can do so from the SailPoint Dashboard
Thanks,
The $__global.productName Team
```
## Attributes
This email template uses [version 1](https://documentation.sailpoint.com/saas/help/common/emails/available_templates.html#version-1-templates) global variables and the following template-specific attributes:
| Name | Type | Description |
| ----------------- | ------ | ------------------------------------------ |
| externalReference | String | An optional UI attribute. |
| policyLevel | String | The risk level associated with the policy. |
| policyName | String | The name of the SoD policy. |
| policyDescription | String | A description of the SoD policy. |
| violationCount | String | The number of violations identified. |
# Source Health Email Template
If you have configured [system notification emails](https://documentation.sailpoint.com/saas/help/common/getting_notified_org_health.html#configuring-system-notifications) for your organization, the Source Health email is sent when a source changes status in your system.
Note
The global variable user might not work in this email, because the email address it sends to might not be correlated to an Identity Security Cloud account.
**Name:** Source Health
**Subject:** $PRODUCT_NAME Notification: ${total} #if($total == 1) A source has #{else} Sources have #end changed status
**Body:**
```html
Dear recipient,
#if($total == 1) A source has #{else} Sources have #end changed status within your system.
#if (${unhealthySources.size()} != 0 )
The following #if(${unhealthySources.size()} == 1) source is #{else} sources are #end unhealthy:
#foreach ($source in $unhealthySources) ${source.name} #if (${source.containsKey("since")}) has been in an Unhealthy state for ${source.since} #{else} has moved to an Unhealthy state #end #end
#end #if (${backToNormalSources.size()} != 0 )
The following #if(${backToNormalSources.size()} == 1) source is #{else} sources are #end healthy:
#foreach ($source in $backToNormalSources ) ${source.name} #if (${source.containsKey("since")}) has been in a Healthy state for ${source.since} #{else} has moved to a Healthy state #end #end
#end
Please sign in to ${PRODUCT_NAME} for more information.
Thank you, The ${PRODUCT_NAME} Team
You are receiving this email because your email address was configured to receive ${PRODUCT_NAME} notification emails.
```
## Attributes
This email template uses [version 1](https://documentation.sailpoint.com/saas/help/common/emails/available_templates.html#version-1-templates) global variables and the following template-specific attributes:
| Name | Type | Description |
| ------------------- | ------- | ------------------------------------------------------- |
| backToNormalSources | List | The list of sources that have moved to a Healthy state. |
| total | Integer | The total number of sources that have changed status. |
| unhealthySources | List | The list of sources that are in an Unhealthy state. |
# Source Collaboration Access Request Email Template
The Source Collaboration Access Request email is sent to the selected administrator to request the Source Configuration Assignee user level for the user assigned to onboard a source.
**Name**: Source Collaboration Access Request
**Subject**: $assignedByUser has requested the Source Configuration Assignee user level for $assignedUser
**Body**:
```text
Dear $adminUser,
$assignedByUser has requested the Source Configuration Assignee user level for $assignedUser so they can onboard the $referenceName source.
To grant this user level to $assignedUser, go to their identity and enable the Source Configuration Assignee user level.
This user level must be assigned to the user before they can begin onboarding this source. Contact $assignedByUser with any questions about this source or the assignee.
Thanks,
The $__global.productName Team
```
## Attributes
This email template uses [version 2](https://documentation.sailpoint.com/saas/help/common/emails/available_templates.html#version-2-templates) global variables and the following template-specific attributes:
| Name | Type | Description |
| -------------- | ------ | -------------------------------------------------------------------------------------------------------------------------- |
| adminUser | string | The display name of the admin receiving this email. |
| assignedByUser | string | The display name of the source administrator that assigned this source to the user, and requested the user level for them. |
| assignedUser | string | The display name of the user the source is assigned to. |
| deepLink | string | A direct link to the identity's configuration page. |
| referenceName | string | The name of the source as the user entered it, if applicable. Otherwise, the name of the aggregated application. |
# Source Collaboration Changes Required Email Template
The Source Collaboration Changes Required email is sent when an administrator has reviewed the configurations an assignee made to an [assigned source](https://documentation.sailpoint.com/saas/help/ai/app_onboarding/assign/index.html) and requested additional changes.
**Name**: Source Collaboration Changes Required
**Subject**: Changes required to $referenceName source
**Body**:
```text
Dear $__recipient.name,
$assignedByUser has reviewed your changes to the $referenceName source and has assigned additional changes to you.
Thanks,
The $__global.productName Team
```
## Attributes
This email template uses [version 2](https://documentation.sailpoint.com/saas/help/common/emails/available_templates.html#version-2-templates) global variables and the following template-specific attributes:
| Name | Type | Description |
| -------------- | ------ | ---------------------------------------------------------------------------------------------------------------- |
| assignedByUser | string | The display name of the user who assigned this source. |
| deepLink | string | A direct link to the source's configuration details page. |
| referenceName | string | The name of the source as the user entered it, if applicable. Otherwise, the name of the aggregated application. |
# Source Collaboration Comment Notification Email Template
The Source Collaboration Comment Notification email is sent when a user working on an [assigned source](https://documentation.sailpoint.com/saas/help/ai/app_onboarding/assign/index.html) leaves a comment. If the assignee leaves a comment, the administrator that assigned them this source receives this email. If the administrator leaves a comment, the assignee receives this email.
**Name**: Source Collaboration Comment Notification
**Subject**: $author commented on the $sourceName source configuration
**Body**:
```text
Dear $__recipient.name,
#set($url=$__global.productUrl + '/ui/a' + $uri )
$author left the following comment on the $sourceName source:
$author$comment
Go to the $sourceName configuration page or sign in to $__global.productName to reply to this comment.
Thanks, The $__global.productName Team
```
## Attributes
This email template uses [version 2](https://documentation.sailpoint.com/saas/help/common/emails/available_templates.html#version-2-templates) global variables and the following template-specific attributes:
| Name | Type | Description |
| ---------- | ------ | ---------------------------------------------------------------------------------------------------------------- |
| author | string | The display name of the user that entered the comment. |
| comment | string | The full text of the comment. |
| sourceName | string | The name of the source as the user entered it, if applicable. Otherwise, the name of the aggregated application. |
| url | string | A link to the page where the comment was added. |
# Source Collaborator Notification Email Template
The Source Collaborator Notification email is sent to the user when they are assigned a source's configuration after they have been granted the [Source Configuration Assignee user level](https://documentation.sailpoint.com/saas/help/common/users/user_levels.html#source-configuration-assignee-user-level).
**Name**: Source Collaborator Notification
**Subject**: $assignedByUser has assigned you an application to onboard within $\_\_global.productName
**Body**:
```text
Dear $__recipient.name,
$assignedByUser has assigned an application to you to onboard within $__global.productName. #if($dueDate) The due date for this task is $dueDate. #end
Your organization uses $__global.productName to manage its identities and access. Onboarding the $referenceName application will allow your organization to manage its data using Identity Security Cloud, where it will be known as a source.
#if($comments)
Your administrator included the following comments: $comments
#end
Go to your assigned sources to begin configuring the $referenceName application. When you’re finished, submit your configurations to your administrator for approval. You can leave comments in the source configuration to get help from your administrator, or refer to Managing Assigned Sources for assistance.
Thanks,
The $__global.productName Team
```
## Attributes
This email template uses [version 2](https://documentation.sailpoint.com/saas/help/common/emails/available_templates.html#version-2-templates) global variables and the following template-specific attributes:
| Name | Type | Description |
| -------------- | ------ | ---------------------------------------------------------------------------------------------------------------- |
| assignedByUser | string | The display name of the user assigning the source. |
| comments | string | The comments added by the user assigning the source. |
| deepLink | string | A link to the source the user is assigned to complete. |
| dueDate | date | The target date for the assignee to finish configuring the source. |
| referenceName | string | The name of the source as the user entered it, if applicable. Otherwise, the name of the aggregated application. |
# Source Collaboration Reassigned Email Template
The Source Collaboration Reassigned email is sent to a user when a source they were [assigned to configure](https://documentation.sailpoint.com/saas/help/ai/app_onboarding/assign/index.html) is reassigned.
**Name**:
**Subject**: The $referenceName configuration has been reassigned to another user
**Body**:
```text
Dear $__recipient.name,
Your administrator has reassigned the $referenceName onboarding to another user. You no longer have access to this source.
Contact $assignedByUser if you have any questions.
Thanks,
The $__global.productName Team
```
## Attributes
This email template uses [version 2](https://documentation.sailpoint.com/saas/help/common/emails/available_templates.html#version-2-templates) global variables and the following template-specific attributes:
| Name | Type | Description |
| ------------- | ------ | ---------------------------------------------------------------------------------------------------------------- |
| assignedUser | string | The display name of the user the source is assigned to. |
| referenceName | string | The name of the source as the user entered it, if applicable. Otherwise, the name of the aggregated application. |
# Remove Assignee User Level Email Template
The Remove Assignee User Level email is sent when a Source Admin requests the removal of the Source Configuration Assignee user level from a [source assignee](https://documentation.sailpoint.com/saas/help/ai/app_onboarding/assign/index.html). This email is sent to the administrator who initially assigned the user level.
**Name**: Remove Assignee User Level
**Subject**: $requesterUser has requested that you revoke the Source Configuration Assignee user level from $user
**Body**:
```text
Dear $adminUser,
$requesterUser has requested that the Source Configuration Assignee user level be removed from $user because they have finished onboarding their assigned sources.
To revoke this user level from $user, go to their identity and remove the Source Configuration Assignee user level.
Thanks,
The $__global.productName Team
```
## Attributes
This email template uses [version 2](https://documentation.sailpoint.com/saas/help/common/emails/available_templates.html#version-2-templates) global variables and the following template-specific attributes:
| Name | Type | Description |
| ------------- | ------ | ----------------------------------------------------------------------------------------------------------- |
| adminUser | string | The display name of the administrator receiving this email. |
| requesterUser | string | The display name of the Source Administrator who submitted the request to revoke the assignee's user level. |
| user | string | The name of the assignee the user level should be removed from. |
| userLink | string | A link to the identity's configuration page. |
# Source Collaboration Review Notification Email Template
The Source Collaboration Review Notification email is sent when the user assigned to [onboard a source](https://documentation.sailpoint.com/saas/help/ai/app_onboarding/assign/index.html) has submitted a draft of the source for review. The administrator who assigned the source receives this email.
**Name**: Source Collaboration Review Notification
**Subject**: $assignedUser has submitted a draft of the $referenceName source
**Body**:
```text
Dear $__recipient.name,
$assignedUser has submitted a draft of the $referenceName source configuration. You will be able to approve their configurations or request changes. You can then publish the draft to create a source.
Thanks,
The $__global.productName Team
```
## Attributes
This email template uses [version 2](https://documentation.sailpoint.com/saas/help/common/emails/available_templates.html#version-2-templates) global variables and the following template-specific attributes:
| Name | Type | Description |
| ------------- | ------ | ---------------------------------------------------------------------------------------------------------------- |
| assignedUser | string | The display name of the user the source is assigned to. |
| deepLink | string | A link to the source's configuration details. |
| referenceName | string | The name of the source as the user entered it, if applicable. Otherwise, the name of the aggregated application. |
# Task Reassignment Email Template
The Task Reassignment email is sent when a user reassigns a manual provisioning task. The task's previous owner and new owner are both notified of the reassignment.
**Name**: Task Reassignment
**Subject**: A task has been reassigned
**Body**:
```html
${requester} has reassigned a task from ${previousOwner} to ${newOwner} for ${userName}'s ${source} account.
${newOwner} can find this task within the Task Manager.
Thanks, The ${PRODUCT_NAME} Team
```
## Attributes
This email template uses [version 2](https://documentation.sailpoint.com/saas/help/common/emails/available_templates.html#version-2-templates) global variables and the following attributes:
| Name | Type | Description |
| ------------- | ------ | ------------------------------------------------------------------------------------------------------- |
| newOwner | String | The name of the new owner of the provisioning task. |
| previousOwner | String | The name of the previous owner of the provisioning task. |
| requester | String | The name of the user who reassigned the task. |
| source | String | The name of the source where the provisioning action needs to be taken. |
| userName | String | The name of the identity whose source account needs to be created or modified in the provisioning task. |
# Pending Task Daily Digest Email Template
The Pending Task Daily Digest email is sent daily to users who have outstanding tasks in their Task Managers to remind them to complete their work.
By default, this email is disabled. You can enable it by selecting the **Enable Notification** checkbox at the top of the email template's page.
**Name:** Pending Task Daily Digest
**Subject:** #set($numberOfPendingTasks = $\_\_numberTool.integer($numberOfPendingTasks))#set($taskTasks = "#if($numberOfPendingTasks == 1)task#{else}tasks#end")You have $numberOfPendingTasks $taskTasks to complete in ${\_\_global.productName}.
**Body:**
```text
There $isAre $numberOfPendingTasks $taskTasks waiting for you in your $__global.productName Task Manager.
Use each task's details to finish it on the source, then mark it as complete in ${__global.productName}. To do this work, go to the task manager here, or copy and paste this link into your browser: $url
Thanks,
The $__global.productName Team
```
When this email is sent to users, the message body will also include:
- A header that says "Dear $\_\_recipient.name,"
- A footer that says "Thanks, The $\_\_global.productName Team"
## Attributes
None. All variable content is provided through [global variables](https://documentation.sailpoint.com/saas/help/common/emails/available_templates.html#version-2-templates).
# Unlock User Code Email Template
The Unlock User Code email is sent to users when they select **Unlock** on the Sign In page. The system generates a verification code in this email that they must enter in Identity Security Cloud to successfully unlock their account.
Note
The code in this email expires after 10 minutes.
**Name**: Unlock User Code
**Subject**: Your Account Unlock Code is ${token}
**Body**:
```html
Dear ${user.name},
A request has been made to unlock your ${PRODUCT_NAME} account. If you made this request, please copy the following code into the prompt in ${PRODUCT_NAME} to verify your identity:
${token}
This code expires as soon as it's used, or on ${expires}.
If you did not make this request, please contact your IT administrator immediately.
Thanks, The ${PRODUCT_NAME} Team
```
## Attributes
This email template uses [version 1](https://documentation.sailpoint.com/saas/help/common/emails/available_templates.html#version-1-templates) global variables and the following template-specific attributes:
| Name | Type | Description |
| ------- | ------ | ----------------------- |
| expires | String | When the token expires. |
| token | String | The 6-digit token. |
# User Invitation Email Templates
The user invitation email is sent to invite users to your organization's SailPoint products.
## User Invitation Template
**Name**: User Invitation
**Subject**: Welcome to $\_\_global.productName
**Body**:
```html
Hello ${__recipient.name},
You have been invited to use $__global.productName to support and advance your organization's security.
```
### Attributes
You can use Version 1 and Version 2 variables with the User Invitation email.
| Name | Type | Description |
| ---------------- | ---- | -------------------------------------------------- |
| logoUrl | URL | URL for the logo you've set for your organization. |
| registerImageUrl | URL | Identity Security Cloud registration image URL. |
| registrationUrl | URL | Identity Security Cloud registration page URL. |
# User Locked Out Email Template
The User Locked Out email notifies a user when their SailPoint account has been locked due to too many failed sign in attempts. The user can not sign in for several minutes.
**Name**: User Locked Out
**Subject**: ATTENTION: Your ${PRODUCT_NAME} account has been locked
**Body**:
```html
Dear ${user.name},
#if (${attempts.size()} > 0)
Your ${PRODUCT_NAME} account has been locked due to the following failed attempts to sign in:
#foreach ($attempt in ${attempts})
${attempt.count} attempts from ${attempt.location}
#end #else
Your ${PRODUCT_NAME} account has been locked due a number of failed attempts to sign in.
#end
It was locked on ${timeLocked} and will remain locked until ${timeLockedUntil}.
#if (${passwordResetUrl})
To reset your password if you've forgotten it, go to ${passwordResetUrl}.
#end
If you think someone else was trying to use your account, please contact your administrator immediately.
Thanks, The ${PRODUCT_NAME} Team
```
## Attributes
This email template uses [version 1](https://documentation.sailpoint.com/saas/help/common/emails/available_templates.html#version-1-templates) global variables and the following template-specific attributes:
| Name | Type | Description |
| ---------------- | ------ | --------------------------------------------------------- |
| attempts | Array | A list of sign in attempts, including count and location. |
| passwordResetUrl | URL | The URL the user can click to reset their password. |
| timeLocked | String | The time the account was locked. |
| timeLockedUntil | String | The time the account will be unlocked. |
# User Password Changed Email Template
The User Password Changed email is sent when a user from any source that doesn't use pass-through authentication changes their Identity Security Cloud password.
Note
This template is used for all password changes. This includes user and application password changes.
**Name**: User Password Changed
**Subject**: ATTENTION: Your ${PRODUCT_NAME} password update #if (${sourceFailedCount}) #if (${sourceFailedCount} > 0) failed #else was successful #end #else was successful #end
**Body:**
```html
Please try to change your password again. This change will apply to all systems and apps that share your password.
#end #end #end
If you did not make this change please contact your IT administrator immediately.
Thanks, The ${PRODUCT_NAME} Team
```
## Attributes
This email template uses [version 1](https://documentation.sailpoint.com/saas/help/common/emails/available_templates.html#version-1-templates) global variables and the following template-specific attributes:
| Name | Type | Description |
| ----------------- | ------ | ----------------------------------------------------------------- |
| appCount | String | The count of the apps that successfully were updated. |
| appFailedCount | String | The count of apps that failed to update. |
| appFailedList | String | A comma-separated list of applications that failed to update. |
| appList | String | A comma-separated list of applications that successfully updated. |
| sourceCount | String | The count of sources that successfully updated. |
| sourceFailedCount | String | The count of sources that failed to update. |
| sourceFailedList | Array | The list of source names that failed to update. |
| sourceList | Array | The list of source names that successfully updated. |
| user | User | The recipient of the email. |
# User Unlocked Email Template
The User Unlocked email is sent to a user after the following:
- They select **Unlock** on the Sign In page.
- Identity Security Cloud sends the [Unlock User Code](https://documentation.sailpoint.com/saas/help/common/emails/et_unlock_user_code.html) email and they select the embedded verification link to unlock their account.
**Name**: User Unlocked
**Subject**: ATTENTION: Your ${PRODUCT_NAME} account has been unlocked
**Body**:
```html
Dear ${user.name},
Your ${PRODUCT_NAME} account has been unlocked.
If you think someone else was trying to use your account, please contact your administrator immediately.
Thanks, The ${PRODUCT_NAME} Team
```
## Attributes
None. This email template uses [version 1](https://documentation.sailpoint.com/saas/help/common/emails/available_templates.html#version-1-templates) global variables.
# VA Error State Active Email Template
In Identity Security Cloud, there are a number of emails used to notify users of certain milestones or other events.
If you have configured [system notification emails](https://documentation.sailpoint.com/saas/help/common/getting_notified_org_health.html#configuring-system-notifications) for your organization, the VA Error State Active email is sent when a virtual appliance cluster has an active error state in your system.
Note
The global variable user might not work in this email, because the email address it sends to might not be correlated to an Identity Security Cloud account.
**Name:** VA Error State Active
**Subject:** IdentityNow Notification: Virtual appliance $clusterName error state is: $errorState
**Body:**
```html
Dear recipient,
Virtual appliance $clusterName has the error state $errorState.
Followings errors are detected:
$errorDetails
\n
Thanks, The $PRODUCT_NAME Team
```
## Attributes
This email template uses [version 1](https://documentation.sailpoint.com/saas/help/common/emails/available_templates.html#version-1-templates) global variables and the following template-specific attributes:
| Name | Type | Description |
| ------------ | ------ | ----------------------------------------------------------------------------- |
| clusterName | String | Name of the virtual appliance cluster. |
| errorState | String | State of the virtual appliance cluster - active or resolved. |
| errorDetails | String | Details about the errors that were detected in the virtual appliance cluster. |
# VA Error State Resolved Email Template
In Identity Security Cloud, there are a number of emails used to notify users of certain milestones or other events.
If you have configured [system notification emails](https://documentation.sailpoint.com/saas/help/common/getting_notified_org_health.html#configuring-system-notifications) for your organization, the VA Error State Resolved email is sent when a virtual appliance cluster has an error state that is resolved in your system.
Note
The global variable user might not work in this email, because the email address it sends to might not be correlated to an Identity Security Cloud account.
**Name:** VA Error State Resolved
**Subject:** IdentityNow Notification: Virtual appliance $clusterName error state is: $errorState
**Body:**
```html
Dear recipient,
Virtual appliance $clusterName has the error state $errorState.
Followings errors are resolved:
$errorDetails
\n
Thanks, The $PRODUCT_NAME Team
```
## Attributes
This email template uses [version 1](https://documentation.sailpoint.com/saas/help/common/emails/available_templates.html#version-1-templates) global variables and the following template-specific attributes:
| Name | Type | Description |
| ------------ | ------ | ----------------------------------------------------------------------------- |
| clusterName | String | Name of the virtual appliance cluster. |
| errorState | String | State of the virtual appliance cluster - active or resolved. |
| errorDetails | String | Details about the errors that were resolved in the virtual appliance cluster. |
# Virtual Appliance Health Email Template
In Identity Security Cloud, there are a number of emails used to notify users of certain milestones or other events.
If you have configured [system notification emails](https://documentation.sailpoint.com/saas/help/common/getting_notified_org_health.html#configuring-system-notifications) for your organization, the Virtual Appliance Health email is sent when a virtual appliance changes status in your system.
Note
The global variable user might not work in this email, because the email address it sends to might not be correlated to an Identity Security Cloud account.
**Name:** Virtual Appliance Health
**Subject:** $PRODUCT_NAME Notification: ${total} #if($total == 1) A virtual appliance has #{else} Virtual appliances have #end changed status
**Body:**
```html
Dear recipient,
#if($total == 1) A virtual appliance has #{else} Virtual appliances have #end changed status within your system.
#if (${clustersWithUnHealthyVAs.size()} != 0 )
You have unhealthy virtual appliances in ${clustersWithUnHealthyVAs.size()} #if(${clustersWithUnHealthyVAs.size()}==1) cluster #{else} clusters #end.
#foreach ($cluster in $clustersWithUnHealthyVAs)
In the '${cluster.name}' virtual appliance cluster, ${cluster.clients.size()} of ${cluster.totalClients}
#if (${cluster.clients.size()} == 1) is #{else} are #end in an Unhealthy state.
#foreach ($va in ${cluster.clients})
VA-${va.id} has been in ${va.status} state #if (${va.containsKey("since")}) for ${va.since} #end.
#if ( ${clustersWithBackToNormalVAs.size()} == 1) A virtual appliance #{else} Virtual appliances #end in ${clustersWithBackToNormalVAs.size()} #if(${clustersWithBackToNormalVAs.size()}==1) cluster has #{else} clusters have #end moved into a Healthy state.
#foreach ($cluster in $clustersWithBackToNormalVAs)
In the '${cluster.name}' virtual appliance cluster, ${cluster.clients.size()} #if (${cluster.clients.size()} == 1) virtual appliance has #{else} virtual appliances have #end moved into a Healthy state.
#foreach ($va in ${cluster.clients})
VA-${va.id} has been in a Healthy state #if (${va.containsKey("since")}) for ${va.since} #end
#end #end #end
Please sign in to ${PRODUCT_NAME} for more information.
Thank you, The $PRODUCT_NAME Team
You are receiving this email because your email address was configured to receive ${PRODUCT_NAME} notification emails.
```
## Attributes
This email template uses [version 1](https://documentation.sailpoint.com/saas/help/common/emails/available_templates.html#version-1-templates) global variables and the following template-specific attributes:
| Name | Type | Description |
| --------------------------- | ------- | ------------------------------------------------------------------------------------------------------------------ |
| clustersWithBackToNormalVAs | List | The list of virtual appliance clusters that have virtual appliances in them that have returned to a healthy state. |
| clustersWithUnHealthyVAs | List | The list of virtual appliance clusters that have unhealthy virtual appliances in them. |
| total | Integer | The total number of virtual appliances that have changed status. |
# Virtual Appliance Out of Date
This email is sent to Administrators when your virtual appliance is running a process that is out of date and needs attention.
**Name:** VA out of date for automatic preference
**Subject:** IdentityNow Notification: Virtual appliance $clusterName is out of date
**Body:**
```html
Dear recipient,
Virtual appliance $clusterName has one or more clients that are out of date.
The following clients are running older versions of the $processName process:
$clientListHtml
The latest available $processName version is: $latestCcgVersion.
Failure to update these clients may result in limited support, vulnerabilities, and lost functionality.
A reboot of the VA may be required. Please refer to the VA Troubleshooting Guide for more details.
Thanks, The $PRODUCT_NAME Team
```
## Attributes
This email template uses [version 1](https://documentation.sailpoint.com/saas/help/common/emails/available_templates.html#version-1-templates) global variables and the following template-specific attributes:
| Name | Type | Description |
| ---------------- | ------ | ------------------------------------------- |
| processName | String | Name of the process that is out of date. |
| clientListHtml | List | List of VA ID’s and their current versions. |
| latestCcgVersion | String | The version of the CCG process. |
# VA Pinned Component Expiration Email Template
The VA Pinned Component Expiration email notifies a user when their pinned virtual appliance cluster component is about to expire.
**Name:** VA Pinned Component Expiration
**Subject:** REMINDER: Pinned VA cluster component $processName $processVersion will expire on $versionPinExpiry
**Body:**
```html
Dear recipient,
The pinned version $processVersion of the $processName virtual appliance cluster component will expire on $versionPinExpiry.
Pinned VA versions do not receive updates. Falling behind in certain VA updates may limit access to SailPoint support for the VA.
You have the following options to manage the upcoming expiration:
Do Nothing - If you no longer require a specific version, allow the pin to expire, and the cluster will automatically update to the latest version.
Request Extension - If you need more time on the pinned version, contact SailPoint Support to request an extension.
Request Pin Removal - If you no longer need the pinned version, contact SailPoint Support to remove the pin.
Time remaining until expiration: $timeToExpiry.
Thanks, The $PRODUCT_NAME Team
```
## Attributes
This email template uses [version 1](https://documentation.sailpoint.com/saas/help/common/emails/available_templates.html#version-1-templates) global variables and the following template-specific attributes:
| Name | Type | Description |
| ---------------- | ------ | ---------------------------------------------------------- |
| processVersion | String | The version of the pinned cluster component |
| processName | String | Name of the pinned cluster component |
| versionPinExpiry | String | Date the pinned cluster version will expire |
| timeToExpiry | String | Time remaining until the pinned cluster version expiration |
# VA Unpinned Notification Email Template
The VA Unpinned Notification email notifies a user when a pinned virtual appliance cluster component has expired and the latest updates will be pushed to the VA cluster.
**Name**: VA Unpinned Notification
**Subject**: $PRODUCT_NAME Notification: Pinned VA cluster component $processName $processVersion has expired. The VA cluster will be updated.
**Body**:
```html
Dear recipient,
The pinned version $processVersion of the $processName virtual appliance cluster component has expired.
The latest VA updates will be pushed to the cluster.
Thanks, The $PRODUCT_NAME Team
```
## Attributes
This email template uses [version 1](https://documentation.sailpoint.com/saas/help/common/emails/available_templates.html#version-1-templates) global variables and the following template-specific attributes:
| Name | Type | Description |
| -------------- | ------ | ------------------------------------------- |
| processVersion | String | The version of the pinned cluster component |
| processName | String | Name of the pinned cluster component |
# Work Item Forward Email Template
When a work item has been forwarded, both the user whose work is being forwarded and the user who will receive the work assignment are notified.
**Name:** Work Item Forward
**Subject:** Work item "$workItemName" forwarded
**Body:**
```html
$requester forwarded work item "$workItemName" from $previousOwner to $newOwner on $spTools.formatDate($forwardDate,3,1)--------------------------------------------------------------------------------$!commentText
```
## Attributes
None. All variable content is provided through [global variables](https://documentation.sailpoint.com/saas/help/common/emails/available_templates.html#version-2-templates).
# Using Email Templates
Email notifications are sent to users by Identity Security Cloud to inform them of system or process status changes, to alert them to assigned work, and more. You can [customize](#editing-the-email-contents) notification messages using variable values provided by the system through a fixed set of variables specific to the notification and [global variables](https://documentation.sailpoint.com/saas/help/common/emails/available_templates.html#global-variables-for-version-1-and-2-templates) available across multiple email templates.
SailPoint's email templates are defined using the [Apache Velocity](https://velocity.apache.org/engine/2.0/user-guide.html) templating syntax. This allows the emails to support variable substitutions as well as simple logic like conditional contents.
## Email Settings
By default, email templates are set to send all emails to the intended recipients. When testing email templates, [redirect emails](#redirecting-emails) to a test address.
1. Go to **Admin > Global > Email Templates**.
1. Select **Settings**.
1. Choose the desired setting:
- **Intended Recipients** – email notification sent to system users defined in your [email template](https://documentation.sailpoint.com/saas/help/common/emails/available_templates.html).
- **Test Address** – all email notifications redirected to the test address. Defaults to the email address of the logged-in user. An audit event is created when the test address is changed.
1. Select **Save**.
## Editing the Email Contents
You can customize the subject and body of your email notifications by editing the templates.
1. Go to **Admin > Global > Email Templates**.
1. Select **Edit** on the email template you want to edit.
1. Edit the **Subject** and **Body** text to meet the needs of your organization.
- Emails are HTML-enabled. You can edit text in the WYSIWYG editor or select the **Source Edit** icon to edit the [HTML](#permitted-html-contents) and scripting tags.
- You can select the **Hyperlink** icon to insert or edit a link.
- Review the variables available to each [template](https://documentation.sailpoint.com/saas/help/common/emails/available_templates.html) and reference them as needed in the message contents using the appropriate Velocity [variable syntax](#specifying-variables).
Note
The tag cannot be used when modifying the source code of email templates. This tag is reserved in HTML email templates embedded within the application code and is removed before the template is applied to outgoing emails.
1. Select **Save** and then [test](#testing-email-templates) the email to verify that your content appears as expected.
Important
- Custom email templates have an overall content size limit of 130 KB. When using images, SailPoint recommends the following best practice to minimize the overall template HTML size:
- Host images on an external server or CDN and reference the image URL in the `src` attribute:
```text
```
- If Base64 encoding is required, compress and resize the image before encoding.
- Once you customize an email template, it is *not* updated when SailPoint makes changes to the default template text, even if you manually restore the template contents to the default text. To reset a customized template to the default settings so that any future template updates will be auto-applied, you must contact SailPoint Support.
### Specifying Variables
Many variables passed to email templates are simple text variables. To include their values in the email message, use the syntax: `${}`, such as `${approverName}`.
Some variables are objects containing multiple properties or fields. To reference those properties in an email template, use the syntax: `${.}`. For example, if you want to reference the user's work phone number in an email, you would enter `${user.workPhone}`.
Refer to the [Apache Velocity](https://velocity.apache.org/engine/2.0/user-guide.html) guide for more syntax details.
Note
If all available attributes need to be viewed, enter `${` in the email template to open an overlay allowing you to view all global variables available for the template, as well as some template-specific variables.
You can also enter `$__contentJson` in the email template to print all available variables in the email output.
### Permitted HTML Contents
Email template are validated by an HTML5 sanitizer that enforces a list of allowed HTML elements and attributes.
- Allowed elements:
- Basic elements: img, a
- Block elements: p, div, h1, h2, h3, h4, h5, h6, ul, ol, li, blockquote
- Formatting elements: strong, strike, tt, code, pre, big, small, br, span, em, s, u, sup, sub, ins, del
- Table elements: table, tr, td, th
- Allowed attributes within elements:
- All elements support the style attribute.
- All basic, block, and table elements support the id attribute.
- The *img* element also allows src, alt, height, and width attributes.
- The *a* element also supports the href attribute.
Comments, including conditional comments, are not supported.
### Using Images in Email Templates
To insert an image into an email template:
1. Find the section(s) of the email where you want the image to appear.
If the Velocity scripting in the email includes conditional content based on system and user data, you might need to add the image to multiple sections of the template body.
1. Identify the URL of a hosted image reference.
Best Practice
When adding logos to email templates, you may use any external internet-accessible image, but SailPoint recommends using the logo image you used when [customizing your UI](https://documentation.sailpoint.com/saas/help/common/customization.html).
To use this image, right-click the logo in the upper-left corner of your Identity Security Cloud site and choose **Copy image address** to copy the URL. Note the exact menu label, such as **Copy image address/link/location**, depends on your browser.
1. In the email template, paste the image or use tagging like:
`
`
where [URL] is the URL from step 2 above.
This example, specified as the first line of the email template body, adds the image at the top right of the message above the text.
Notes
- You can add the HTML for an image directly in the WYSIWYG editor or through the HTML source editor.
- Unless you are certain of your image’s dimensions, it is best to specify only a width *or* a height and allow the image to auto-scale accordingly.
- It is not possible to attach an image file.
1. Select **Save** and then [test](#testing-email-templates) the email to verify that your content appears as expected.
#### Embedding Base 64 Encoded Files
You can also embed a base-64 encoded file for the image `src` instead of referencing a URL. Encoded image formats must be one of the following `content/types`:
- `data:image/jpeg`
- `data:image/jpg`
- `data:image/png`
- `data:image/pdf`
- `data:image/gif`
Use caution when embedding base-64 encoded files:
- Some browsers do not support embedded images that use the `data` URI scheme.
- Some email clients default to filtering out encoded images.
- Embedding an image increases the size of your email message. Many email servers block email messages larger than a particular size. To avoid bounced emails, resize the image to your desired height and width before base-64 encoding.
### Setting a 'Reply To:' Address
By default, replies to emails sent from Identity Security Cloud are directed to the globally configured ['From:' address](#setting-the-from-address).
You can change the email address that displays in the 'To:' field of notification replies by editing the **Reply to** field on a templates configuration page.
Note
In the **Reply To** field, `if` and `else` conditions can be used.
## Setting the 'From:' Address
'From:' addresses are [set globally](https://documentation.sailpoint.com/saas/help/notification/from_address.html) for all emails sent from Identity Security Cloud, for the whole tenant or per brand, rather than as a per-template configuration.
## Testing Email Templates
Test email templates you have changed to verify that the content will display as intended when they are sent to your system users. You can do this per email template after you save changes.
1. Go to **Admin > Global > Email Templates**.
1. Select **Settings**.
1. Choose **Test Address**, enter the email address you want to use. Defaults to the email address of the logged-in user. An audit event is created when the test address is changed.
1. Select **Save**.
1. Choose the desired email template, edit as needed, and select **Save**.
1. Select **Test Email**. The email message is sent to the test address.
1. When you’ve finished testing, set the [Email Settings](#email-settings) to send all emails to the **Intended Recipients**.
Notes
- Only global variables render within the generated test email. The other variables are populated by the process that triggers the email and are null in the email test.
- Conditional sections of the message are not included in the test emails.
- Recipient variables are also included. This comes in the form of `$__recipient` and `$user` variables. `$user` is only valid for version 1 templates.
### Redirecting Emails
In non-production tenants, admins commonly redirect *all* emails to a test address rather than allowing them to be sent to business users. To configure this redirection:
1. Go to **Admin > Global > Email Templates**.
1. Select **Settings**.
1. Choose **Test Address**, enter the email address you want to use, and select **Save**.
An audit event is created when the test address is changed.
Caution
Use this option with care in a production environment. All emails will be redirected until you return to this page and choose **Intended Recipients**.
## Disabling Email Notifications
By default, all email notifications are enabled, with the exception of the Pending Task Daily Digest, which must be manually enabled.
Some system notifications can be enabled or disabled through process configurations. For example, you can choose to send or suppress emails related to:
- [User registration](https://documentation.sailpoint.com/saas/help/common/users/inviting_users.html)
- [User lifecycle state changes](https://documentation.sailpoint.com/saas/help/provisioning/lifecycle.html)
- [System health changes](https://documentation.sailpoint.com/saas/help/common/getting_notified_org_health.html)
- [Certification reminders](https://documentation.sailpoint.com/saas/help/certs/starting_campaign.html#creating-a-campaign)
Note
Currently, it is not possible to customize email notifications on a user-level basis.
You can also prevent Identity Security Cloud from sending emails on a per-email-template basis by specifying any of the following keywords as the first word in the template’s **Subject** field:
Note
The following keywords are not case sensitive.
- no_send
- Stop
Caution
Disabling an email notification through an email template will override notification settings made through process configurations. Ensure that disabling an email notification globally does not affect password reset methods, certification campaigns, non-employee requests, or other processes.
Best Practice
Leave the rest of the subject text intact to simplify future reinstatement of the template.
# User Levels
User levels are sets of permissions within Identity Security Cloud that administrators can grant to users. Generally, users cannot grant themselves user level permissions - only Admins can grant or remove user levels. If you configure your tenant to [enable non-Org Admins to manage Identity Security Cloud user level entitlements](#enabling-non-org-admins-to-manage-user-level-entitlements), Role Admins and Source Admins are also able to elevate privileges.
If you grant someone a user level, it will appear in certifications as an entitlement that the reviewer can grant or revoke. For information on how to grant and remove user levels, refer to [Setting User Level Permissions](https://documentation.sailpoint.com/saas/help/identities/identity_mgmt.html#setting-user-level-permissions).
Users can be granted multiple user levels and will have the combined access of all levels assigned to them.
To view the user levels and associated privileges in a table format, refer to the [User Level Access Matrix](https://documentation.sailpoint.com/saas/help/common/users/user_level_matrix.html). Refer to [User Level Permissions](https://documentation.sailpoint.com/saas/help/common/users/user_levels.html) for additional information.
Tip
You can further manage permissions and visibility by coupling user level assignments, which govern permissions, with [Data Segmentation](https://documentation.sailpoint.com/saas/help/segmentation/index.html), which governs records.
## Enabling Non-Org Admins to Manage User Level Entitlements
Role Admins and Source Admins are highly privileged users that can globally enable or disable user level entitlements in Identity Security Cloud, if you enable them to do so. They can also view user level entitlements in the UI and APIs. By default, this feature is not enabled.
To enable non-Org Admins to manage user level entitlements:
1. Go to **Admin > Global > System Settings**.
1. Select **Feature Settings** on the left navigation.
1. Under Feature Settings, select **Other Features**, and select **Enable Non-Org Admins to Manage ISC User-Level Entitlements** to enable it.
1. Select **Save**.
Caution
Additional risk is introduced when you extend user level entitlement management to additional admin levels. Be sure to weigh your organization's needs against the associated risks before enabling this feature.
# Custom User Level Matrices
Custom user levels provide least privileged access that is unique to your specific tenant. If your organization has Custom User Levels, these may be built from various [access permissions](#access-permissions), [identity permissions](#identity-permissions), and [connections permissions](#connections-permissions), as detailed below.
## Access Permissions
The following permissions are related to access.
| | | | | | | | | |
| ------------------- | ----------------------------- | ------------------------------ | ------------------- | -------------------- | -------------------------- | --------------------------- | -------------- | -------------- |
| | **Access Profiles Read Only** | **Access Profiles Management** | **Roles Read Only** | **Roles Management** | **Entitlements Read Only** | **Entitlements Management** | **AIC Reader** | **AIC Author** |
| **Access Profiles** | | | | | | | | |
| View | ✓ | ✓ | | | | | | |
| View | | | ✓ | ✓ | | | | |
| View | | | | | ✓ | ✓ | | |
| View | | | | | | | ✓ | ✓ |
## Identity Permissions
The following are identity read-only permissions.
| | | | | | | |
| --------------------- | ---------------------- | -------------------- | ------------------- | --------------------- | ------------------- | --------------------- |
| | **Identity Read Only** | **Identity Details** | **Identity Events** | **Identity Accounts** | **Identity Access** | **Work Reassignment** |
| View Identity Details | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
The following are identity management permissions.
| | | | | | | | | | | | | | | | | | |
| ----------------- | ----------------------- | -------------------------------- | -------------------------- | ------------------- | ------------------- | ------------------- | ------------------------ | -------------------------- | ----------------------- | ------------------------------------ | -------------------- | ------------------ | ------------------- | ------------- | -------------------- | -------------------------- | ------------------ |
| | **Identity Management** | **Identity Accounts Management** | **Revoke Identity Access** | **Enable Identity** | **Delete Identity** | **Invite Identity** | **Export Identity List** | **Export Identity Events** | **Set Lifecycle State** | **Add and Delete Work Reassignment** | **Process Identity** | **Reset Identity** | **Set User Levels** | **Reset MFA** | **Disable Identity** | **Synchronize Attributes** | **Reset Password** |
| View Identities | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
| View | ✓ | ✓ | | | | | | | | | | | | | | | |
| Revoke | ✓ | | ✓ | | | | | | | | | | | | | | |
| Enable Identities | ✓ | | | ✓ | | | | | | | | | | | | | |
The following are additional identity permissions.
| | | | |
| ----------------------- | ------------------------------------- | --------------------------------------------- | ---------------------------------------------- |
| | **Identity Access History Read Only** | **Human and Uncorrelated Accounts Read Only** | **Human and Uncorrelated Accounts Management** |
| **Access History Page** | | | |
| View | ✓ | | |
| View | | ✓ | ✓ |
## Connections Permissions
The following permissions are related to connections.
| | | |
| ---------------------- | ---------------- | ----------------- |
| | **VA Read Only** | **VA Management** |
| **Virtual Appliances** | | |
| View | ✓ | ✓ |
## Identity Graph Permissions
The following permissions are related to Identity Graph.
| | | |
| ------------------ | ------------------------ | ---------------------------- |
| | **Identity Graph Admin** | **Identity Graph Read Only** |
| **Identity Graph** | | |
| View | ✓ | ✓ |
## Governance Group Permissions
Some governance group permissions require that additional permissions are in place before they can be granted.
Prerequisites are:
- **Governance Group Management** - Requires **Identity Accounts**, which grants read-only access to identity accounts and identity details. This is required so the user can see a list of available accounts that can be added as members of the group.
- **Governance Group Membership Management** - Requires **Governance Group Read Only** so they can access and view the Governance Group list itself, and **Identity Accounts** so they can see the list of available accounts that can be added as members of the group
- **Governance Group Read** - No prerequisites. This permission functions independently.
The following permissions are related to governance groups.
| | | | |
| --------------------- | ------------------------------- | ------------------------------------------ | ------------------------- |
| | **Governance Group Management** | **Governance Group Membership Management** | **Governance Group Read** |
| **Governance Groups** | | | |
| View | ✓ | ✓ | ✓ |
## SailPoint Agentic Fabric (SAF) Permissions
The following permissions are related to SailPoint Agentic Fabric.
| | | | | |
| ------------- | ------------------- | ------------------- | ---------------------------------- | ---------------------------- |
| | **SAF Admin Write** | **SAF Agent Audit** | **SAF Prompt Security Management** | **SAF Prompt Security Read** |
| **SAF Admin** | | | | |
| View | ✓ | | | |
| View | | ✓ | | |
| View | ✓ | | | |
| Manage | ✓ | | | |
| Manage | ✓ | | | |
## Separation of Duties (SoD) Permissions
The following are Separation of Duties permissions.
| | | | | | | |
| ---------------------------------- | ------------------------ | ------------------------- | --------------------------- | ------------------------- | -------------------------- | ---------------------------- |
| | **SoD Policy Read Only** | **SoD Control Read Only** | **SoD Violation Read Only** | **SoD Policy Management** | **SoD Control Management** | **SoD Violation Management** |
| View Separation of Duties Policies | ✓ | | | ✓ | | |
## Workflow Permissions
The following permissions are related to Workflows.
| | | | |
| --------------------------- | ------------------------------------------------------- | ----------------------- | ----------------------------- |
| | **Workflows View Configurations and Execution History** | **Workflows Read Only** | **Workflows Audit Read Only** |
| **Workflow Configurations** | | | |
| View | ✓ | ✓ | ✓ |
| View Execution History | ✓ | | ✓ |
Caution
- **PII compliance:** HTTP Action input headers may contain sensitive authentication data (for example, tokens or keys) and may include PII. Treat these headers as sensitive and document handling requirements. Refer to [Access Request Actions](https://documentation.sailpoint.com/saas/help/workflows/workflow-actions.html#access-request-actions) for more information.
- **Workflows Read-Only users (without Search permissions)** cannot use the Search API to retrieve workflow execution history.
- **Workflows Read-Only users with additional Search permissions** can view Search UI (including tabs) and make backend Search API calls.
- Search permissions do not replace Workflow API authorization; execution-history Workflow APIs still require the **Workflows Audit Read Only** permission.
# Custom User Levels
If your organization has Custom User Levels, admins can create up to 100 named [user levels](https://documentation.sailpoint.com/saas/help/common/users/index.html) and customize what rights those user levels grant in your tenant. Custom user levels provide least privileged access, an essential part of good identity governance. Your custom user levels are unique to your specific tenant.
While you can’t edit the default user levels provided by SailPoint, admins can edit the permissions in your custom user levels.
When a new custom user level is published, a corresponding entitlement is created. That entitlement can be configured to be requestable when [entitlement requests are enabled globally](https://documentation.sailpoint.com/saas/help/requests/config_entitlements.html#enabling-entitlement-requests-globally). You need to [enable that entitlement for requests](https://documentation.sailpoint.com/saas/help/requests/config_entitlements.html#configuring-individual-entitlement-access-requests), then it is listed as an option in the Request Center using the configured approvals settings. When a custom user level is deleted, its entitlement is also deleted.
Caution
Entitlement aggregation is only supported for [default user levels](https://documentation.sailpoint.com/saas/help/common/users/user_levels.html). Custom user level aggregation is not currently supported.
As is the case with SailPoint’s standard user levels, users will have the combined access of all user levels assigned to them.
Caution
If you assign a custom user level to a user whose viewing permissions are subject to [data segmentation](https://documentation.sailpoint.com/saas/help/segmentation/index.html), the user level may occasionally allow them to see that some access items exist that are outside of the assigned segment. For example, if User A is allowed to see User B, and User B has a given role, Y, then User A can see that role Y exists. However, because of the limits of the data segment that User A has permission for, if they select role Y, they will see a 404 error because they don’t have access to it. This could be helpful when User A needs to make decisions on actions that their user level allows.
## Adding a Custom User Level
You can add a new custom user level to your tenant.
1. Go to **Admin > Global > User Levels**.
1. Select **New User Level**.
Note
The **New User Level** option is disabled when your tenant has reached the maximum 100 custom user levels.
1. On the Details page, enter a name, description, and owner for your new user level.
1. Select **Save Draft**.
A success message lets you know that your user level draft was saved.
1. From the left navigation, select **Permissions**.
1. Select **Select Permissions**.
1. Search, sort, or filter permissions to find those that you want to add.
- Enter a search term, or select the **Filters** icon, then enter a name or description, or use the checkboxes to select the category that you want to view. Select **Apply**.
- Sort permissions in ascending or descending order by name or category.
1. Use the checkboxes to select permissions to add to the custom user level.
1. Select **Add**.
1. Permissions are listed on the Permissions page. If you want to remove any permissions that you've added, select **Remove** on that permission card.
Note
All of the Identity Read Only permissions include access to view the Identity Details page.
Note
After a custom user level is created, enabled, and identities are assigned, the Identities tab will show users who are assigned to the custom user level and allow you to unassign them. You are not directed to use that tab at this point because you can’t assign identities to a new user level here.
1. From the left navigation, select **Review**.
1. Review your custom user level and its associated entitlement, then select **Save Draft** to save an inactive draft or **Apply Changes** to save and apply, making your user level active and ready for use.
- In the Apply Changes confirmation, select **Cancel** or **Apply Changes**.
1. Select **X** to close the details page.
1. The new user level appears on the User Levels page. If it was published, an entitlement for that user level appears on the Entitlements page.
Note
Once a new custom user level is published, it may take a few minutes for the corresponding entitlement to be created.
- By default, the custom user level owner is also set as the entitlement owner. You can change the entitlement owner on the entitlement's details page.
- If you want the new entitlement to be requestable, you'll need to [configure the entitlement for access requests](https://documentation.sailpoint.com/saas/help/requests/config_entitlements.html#configuring-individual-entitlement-access-requests).
- When the entitlement is enabled for requests, the default request approver is the Source Owner. You can change the approver in the entitlement settings.
On the User Levels page, you can search by name or status and filter by name, description, owner, or status to find user levels. You can also sort in ascending or descending order based on name.
Columns list the following user level information:
- **Name** - Name of the user level.
- **Description** - Briefly describes the user level.
- **Owner** - Identity that manages the user level.
- **Status** - Indicates whether the user level is active and available to be assigned to users, or a draft, which is not able to be assigned to users.
- **Associated identities** - A count of how many identities have been assigned to the user level.
- **Actions** - Actions that are available for the user level, e.g., Delete.
## Assigning and Unassigning Custom User Levels
In addition to users requesting a custom user level as an entitlement, you can assign and unassign custom user levels to users individually in the same way as with default user levels. Refer to [Setting User Level Permissions](https://documentation.sailpoint.com/saas/help/identities/identity_mgmt.html#setting-user-level-permissions).
You can unassign multiple users from a custom user level in bulk:
1. Go to **Admin > Global > User Levels**.
1. Select the name of a custom user level.
1. From the left navigation, select **Identities**.
1. Scroll or use the search bar to find identity names. Select the checkboxes next to the names you want to unassign from this user level.
Note
To unassign an individual identity from this custom user level, you can select **Unassign** from the Actions column in that row.
1. Once you have selected one or more checkboxes, you can select **Unassign** at the top right side of the table.
1. The selected identities are immediately unassigned.
## Managing Custom User Levels
Once you have added custom user levels to your tenant, you can [edit details](#editing-user-level-details), [add permissions](#adding-user-level-permissions), or [remove permissions](#removing-user-level-permissions) from them. [Set user level permissions](https://documentation.sailpoint.com/saas/help/identities/identity_mgmt.html#setting-user-level-permissions) for users and remove them the same way you do with default user levels.
### Editing User Level Details
You can make changes to custom user levels in your tenant.
1. Go to **Admin > Global > User Levels**.
1. Select the name of the user level you want to edit.
1. On the User Level page, make any changes you want to the name, owner, or description.
1. If the user level is a draft, select **Save Draft** on this page or on the Review page. If the user level is active, go to the Review page and select **Apply changes**.
A success message lets you know that the update was successful.
Note
The entitlement for the user level that you edited is automatically updated when you apply changes.
If this is the first time you have published this custom user level, it may take a few minutes for the corresponding entitlement to be created. By default, the custom user level owner is also set as the entitlement owner. You can change the entitlement owner on the entitlement details page. If you want it to be requestable, you need to [configure the entitlement for access requests](https://documentation.sailpoint.com/saas/help/requests/config_entitlements.html#configuring-individual-entitlement-access-requests).
1. Select **X** to close the page.
### Adding User Level Permissions
You can add permissions to existing custom user levels.
1. Go to **Admin > Global > User Levels**.
1. Select the name of the user level you want to edit.
1. From the left navigation, select **Permissions**.
1. Select **Select Permissions**.
1. Search, sort, or filter permissions to find those that you want to add.
- Enter a search term, or select the **Filters** icon, then enter a name or description, or use the checkboxes to select the category that you want to view. Select **Apply**.
- Sort permissions in ascending or descending order by name or category.
1. Use the checkboxes to select permissions to add to the custom user level.
1. Select **Add**.
1. From the left navigation, select **Review**.
1. Review the custom user level and its associated entitlement, then select **Save Draft** to save an inactive draft or **Apply Changes** to save and apply, making your user level active and ready for use.
Note
The entitlement for the user level that you edited is automatically updated when you apply changes.
If this is the first time you have published this custom user level, it may take a few minutes for the corresponding entitlement to be created. By default, the custom user level owner is also set as the entitlement owner. You can change the entitlement owner on the entitlement details page. If you want it to be requestable, you need to [configure the entitlement for access requests](https://documentation.sailpoint.com/saas/help/requests/config_entitlements.html#configuring-individual-entitlement-access-requests).
1. Select **X** to close the details page.
### Removing User Level Permissions
You can remove permissions from existing custom user levels.
1. Go to **Admin > Global > User Levels**.
1. Select the name of the user level you want to edit.
1. From the left navigation, select **Permissions**.
1. Search, sort, or filter permissions to find those that you want to remove.
- Enter a search term, or select the **Filters** icon, then enter a name or description, or use the checkboxes to select the category that you want to view. Select **Apply**.
- Sort permissions in ascending or descending order by name or category.
1. Find the permission you want to remove and select **Remove** on the right side of the card.
1. From the left navigation, select **Review**.
1. Review your custom user level and its associated entitlement, then select **Save Draft** to save an inactive draft or **Apply Changes** to save and apply, making your user level active and ready for use.
Note
The entitlement for the user level that you edited is automatically updated when you apply changes.
If this is the first time you have published this custom user level, it may take a few minutes for the corresponding entitlement to be created. By default, the custom user level owner is also set as the entitlement owner. You can change the entitlement owner on the entitlement details page. If you want it to be requestable, you need to [configure the entitlement for access requests](https://documentation.sailpoint.com/saas/help/requests/config_entitlements.html#configuring-individual-entitlement-access-requests).
1. Select **X** to close the details page.
## Deleting Custom User Levels
You can only delete custom user levels, not those that are provided by default. Before you can delete a custom user level, first you must remove all identities’ assignments to that user level. You can unassign identities either from the Identity List or from the User Level UI.
**Unassign identities from the Identity List:**
1. Go to **Admin > Identity > Identity List**.
1. Find identities and select **Actions** **> Set User Levels**.
1. Deselect the custom user level that you want to delete.
1. Select **Save**.
A success message confirms that the update was successful.
**Unassign identities from the User Level UI:**
1. Go to **Admin > Global > User Levels**.
1. Find and select the user level you want to delete.
1. From the left navigation, select **Identities**.
1. You can unassign all of the assigned identities in bulk. Select the checkbox at the top of the list to select all identities.
1. Select **Unassign** at the top right side of the list.
1. All selected identities are immediately unassigned.
A success message confirms that the update was successful.
Once the identities' assignments are removed and the user level is empty, you can delete the user level itself. If any identities are still assigned to the user level, an error message will let you know that it cannot be deleted because it is currently in use.
**Delete the User Level:**
1. Go to **Admin > Global > User Levels**.
1. Find the user level you want to delete. In the Actions column, select **Delete**.
1. A success message confirms that the user level was deleted. The entry is removed from the User Levels page and the entitlement for that custom user level is deleted.
# Creating and Managing Governance Groups
A governance group is a group of users that can make governance decisions about access. If your organization has the Access Request or Certifications service, you can configure governance groups to review access requests or certifications. A governance group can determine whether specific access is appropriate for a user.
Before reviewing access, a governance group must be configured and have members. Governance groups provide control over who will review requests and the flexibility for multiple reviewers. When it's a group's turn to review an access request or certification, every user in the governance group will receive a notification. Any member of the group may take the requested action on behalf of the group.
## Creating a Governance Group
You'll need to create a governance group before you can use the group to manage access.
1. Go to **Admin > Identities > Governance Groups**.
1. Select **Create Group**.
1. In the Configuration section, enter a Name, Description, and Owner for the group.
1. Select **Save**.
Your governance group is created and appears in the list of governance groups.
1. Select the **Membership** section in the left navigation.
1. Select **Add Members**.
1. Select identities to add to this governance group. Use the search bar to search for specific identities.
You can remove members from this governance group by selecting the checkbox beside the identities' names and selecting **Remove Members**.
1. Select **Add**.
Your governance group has been created and it can be added to the list of reviewers for an [access request](https://documentation.sailpoint.com/saas/help/requests/config_ap_roles.html). It can also be assigned as a [source owner](https://documentation.sailpoint.com/saas/help/sources/index.html#assigning-a-source-owner), or to a [separation of duties](https://documentation.sailpoint.com/saas/help/sod/manage-policies.html) policy.To use the [source sub-admin](https://documentation.sailpoint.com/saas/help/common/users/user_levels.html#source-sub-admin-user-level) user level based on this governance group, refer to [Associating a Governance Group with a Source](#associating-a-governance-group-with-a-source).
When a governance group is assigned to one or more of these items, that item appears in the **Associations** section of the governance group.
To delete governance groups you've created, from the list of governance groups, select the checkbox next to each group you want to delete and select **Delete Groups**.
Notes
- Governance groups don't update automatically when the lifecycle state for an identity changes from active to inactive, or when an identity is disabled. You will need to keep track of the identities in your groups to make sure the right members are governing the right access.
- If only one active identity remains in the governance group, they become the approver and will receive all requests and notifications for that group.
- If a governance group is empty, any work assigned to that group will be routed to the Org Admin.
## Associating a Governance Group with a Source
To take advantage of Identity Security Cloud's scoped access, you can associate a source with a governance group and [grant](https://documentation.sailpoint.com/saas/help/identities/identity_mgmt.html#setting-user-level-permissions) select users a sub-admin [user level](https://documentation.sailpoint.com/saas/help/common/users/user_level_matrix.html). Sub-admins can perform some actions only on the sources associated with the governance groups they are members of. The source and the user receiving the sub-admin user level must both be associated with the governance group.
**To associate a source with a governance group:**
1. Go to **Admin > Connections > Sources**.
1. Select the source you would like to associate with a governance group.
1. In the **Source Setup > Base Configuration** section, go to the **Governance Group for Source Management (Optional)** section. Select the governance group you want to associate with the source.
1. Select **Save** to associate the governance group with the source.
The users in this governance group are granted access to parts of this source or its access based on their user levels, [assigned](https://documentation.sailpoint.com/saas/help/identities/identity_mgmt.html#setting-user-level-permissions) separately.
If the users in the governance group have the [source sub-admin](https://documentation.sailpoint.com/saas/help/common/users/user_levels.html#source-sub-admin-user-level) user level, they can make changes to the source and accounts on that source.
If the users in the governance group have the [role sub-admin](https://documentation.sailpoint.com/saas/help/common/users/user_levels.html#role-sub-admin-user-level) user level, they can make changes to roles that grant *only* access from the source they're assigned to.
Users in the governance group that do not have either of these user levels are not granted any access.
For more information about the access granted by user levels, refer to the [User Level Access Matrix](https://documentation.sailpoint.com/saas/help/common/users/user_level_matrix.html).
# Inviting Users to Register with Identity Security Cloud
If a user is enabled but hasn't registered yet, you can configure the system to automatically send them an email to register in Identity Security Cloud.
The invitation email will include a user name and a link to register. After a user selects the link in the email and registers for Identity Security Cloud, they'll have access to their Dashboard and any other relevant features configured for your org.
There are a few ways you can invite users to register.
- **Manually** on the basis of their *identity*. (This is the default invitation option for identity profiles.)
- **Automatically**, on the basis of their *identity profile*.
- **Automatically**, when they move to [a new *lifecycle state*](https://documentation.sailpoint.com/saas/help/provisioning/lifecycle.html) that's enabled for your site.
- **Automatically**, when they are invited to certify access in a [certification](https://documentation.sailpoint.com/saas/help/certs/index.html). This applies even if their identity profile is set for manual invitations only.
You can use the [default user invitation email template](https://documentation.sailpoint.com/saas/help/common/emails/et_user_invitations.html) or choose another one from [the list of available templates](https://documentation.sailpoint.com/saas/help/common/emails/available_templates.html). You can [customize the email template](https://documentation.sailpoint.com/saas/help/common/emails/using_email_templates.html) to fit your organization's needs and then [test the email invitation](https://documentation.sailpoint.com/saas/help/common/emails/using_email_templates.html#testing-email-templates) to preview the email before sending it in your production environment.
You can [configure the registration requirements](#configuring-registration-requirements) to change what users are prompted to enter when they register for Identity Security Cloud.
Notes
- Invitations expire after 7 days. If you've configured invitations to be sent automatically, the system sends a new invitation whenever one expires. Otherwise, you'll need to manually resend invitations to users if their invitation expires before they use it to register.
- You can [prevent automated invitation emails](https://documentation.sailpoint.com/saas/help/common/emails/using_email_templates.html#disabling-email-notifications) by adding #stop, no_send, or Stop to the beginning of the Subject field of the email template.
**Prerequisites**:
- Complete your Identity Security Cloud [setup](https://documentation.sailpoint.com/saas/help/getting_started/index.html).
- Ensure that each user has a *unique*, valid email address in the [authoritative source](https://documentation.sailpoint.com/connectors/isc/landingpages/help/landingpages/isc_landing.html) configured for your Identity Security Cloud site. **The same email address should not be used for multiple users**. Identity Security Cloud will only send an email to the first user encountered when it searches the source system; other users associated with that email address will not be invited to register.
## Inviting Users Manually
By default, all identity profiles are configured to invite users manually. When you invite users manually, an email invitation to register with Identity Security Cloud is sent to each user at their work email address. This is also necessary after an [identity has been reset](https://documentation.sailpoint.com/saas/help/identities/identity_mgmt.html#resetting-identities).
**To invite users manually:**
1. Go to **Admin > Identity Management > Identities** and find the identity you want to invite.
1. Select **Actions** **> Invite Identity**.
To invite multiple users, select the checkboxes next to the identities you want to invite, and select **Actions** **> Invite Identities**.
You can also use this page to monitor registration activity and resend invitations to unregistered users if their invitation expires. If you configure your identity profiles to [automatically invite users](#inviting-users-automatically), the system automatically resends the invitations when they expire.
## Inviting Users Automatically
You can choose to automatically send email invitations to users in an identity profile. Invitations are sent either when identities are created in the identity profile or when identities enter a specified lifecycle state.
**To invite users automatically:**
1. Go to **Admin > Identity Management > Identity Profiles**.
1. Select the identity profile you want to edit.
1. Under **Invitation Options**, select one of the automatic invitation options.
1. If you want to invite users only when they enter a specific lifecycle state, select that state from the **Send at Lifecycle State** dropdown list.
Note
This field only appears if lifecycle states are enabled for the identity profile, and only enabled lifecycle states are listed.
1. Select **Save** to save your invitation configuration.
**Invitation Emails**
- When you configure automatic invitations, existing users in the identity profile who meet the criteria and are not registered or pending registration (with the previous invitation no longer valid) will be sent an invitation email. These invitations are queued in batches of 1,000, every 30 minutes. It may take longer depending on the system's load.
- As identities are created or updated to meet the invitation criteria, their invitation emails are immediately queued for sending.
- Users who meet the invitation criteria will receive registration reminder emails every 7 days until they complete registration.
- You can [prevent all automated invitation emails](https://documentation.sailpoint.com/saas/help/common/emails/using_email_templates.html#disabling-email-notifications) by adding `#stop`, `no_send`, or `Stop` to the beginning of the Subject field of the email template.
## Configuring Registration Requirements
Users can be prompted for the following when they register for Identity Security Cloud:
- A password
- An alternate phone number
- An alternate email address
- Answers to [security questions](https://documentation.sailpoint.com/saas/help/accounts/kba.html)
However, with certain configurations you can prevent users from being asked to enter anything when they register.
- To prevent users from being prompted for a password, configure [pass-through authentication](https://documentation.sailpoint.com/saas/help/common/pta.html) for their identity profiles. Users can sign in using their network credentials.
- To prevent users from having to enter their alternate phone or email, clear the checkboxes that involve sending verification codes to alternate phones or emails in both the [password reset](https://documentation.sailpoint.com/saas/help/pwd/pwd_reset.html#setting-password-reset-and-user-unlock-methods) options.
Caution
If aggregated values are incorrect or invalid, users may not be able to reset their password. For example, if a user's identity profile requires an alternate phone number to authenticate, the user may not be able to reset their password if the number is incorrect.
- To prevent users from being prompted to answer security questions, disable security questions as a [password reset](https://documentation.sailpoint.com/saas/help/pwd/pwd_reset.html#setting-password-reset-and-user-unlock-methods) method.
# Resetting a User's Password and Authentication Preferences
If a user has forgotten their password you can initiate a password reset or enable them to reset their password. After resetting their password they can login and edit their strong authentication preferences to enable them to verify their identity via those fields in the future.
## Initiating a Password Reset
You can change a user's password if they need help or you believe their account may be compromised.
1. Go to **Admin > Identity Management > Identities**.
1. Find and select the identity who needs their password changed.
1. Select the **Actions** menu **> Reset Password**.
1. Choose the email address to send the password reset email to and select **Send**.
The user will receive an email with instructions for setting a new SailPoint password based on the [password reset and user unlock methods](https://documentation.sailpoint.com/saas/help/pwd/pwd_reset.html) set in the identity profile.
Best Practice
Be aware of how changing this password might interact with [pass-through authentication](https://documentation.sailpoint.com/saas/help/common/pta.html)sources and sources in related [password sync groups](https://documentation.sailpoint.com/saas/help/pwd/sync_grps.html).
## Inviting Users to Edit Authentication Preferences
If a user no longer has their authentication information, you can [reset their identity](https://documentation.sailpoint.com/saas/help/identities/identity_mgmt.html#resetting-identities) to deregister their account. They will receive a new invitation email, where they can re-register and edit their strong authentication preferences.
# User Level Access Matrix
The following table shows the Identity Security Cloud pages and components that are accessible from the **most common** user levels. Refer to [User Level Permissions](https://documentation.sailpoint.com/saas/help/common/users/user_levels.html) for more information about each level or download a copy of the full [user level matrix](https://documentation.sailpoint.com/saas/help/assets/user_levels_access_matrix.xlsx).
For information about [Data Access Security User Levels](#data-access-security-user-levels) and [Configuration Hub User Levels](#configuration-hub-user-levels), follow the links at the bottom of this page.
Note
Multiple user levels can be granted to a user; however, the following cannot be assigned at the same time:
- Role Admin and Source Sub-Admin
- Role Sub-Admin and Source Admin
- Role Sub-Admin and Role Admin
- Source-Sub Admin and Source Admin
- Source Admin and Source Configuration Assignee
The user's access is cumulative across all granted user levels.
Best Practice
Org Admin should not be assigned with any other elevated user level, such as Source Sub-Admin, Role Sub-Admin, or Helpdesk. The Org Admin already has all rights enabled on all sources, and when assigned with other elevated user levels they can overlap in a way that may unintentionally curtail the Org Admin rights.
| | | | | | | | | | | | |
| -------------------------- | --------- | --------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------ | --------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------ | ---------------------------------------------------------------------------------- | ----------------------------------------------------------------- |
| | **Admin** | **Cert Admin** | **Helpdesk** | **Report Admin** | **Role Admin Sub-Admin** | **Source Admin Sub-Admin** | **Source Configuration Assignee** | **Cloud Gov Admin/User** | **Identity Graph Admin** | **Identity Graph Read Only** | **End User** |
| Technical Name | ORG_ADMIN | CERT_ADMIN | HELPDESK | REPORT_ADMIN | ROLE_ADMIN ROLE_SUBADMIN | SOURCE_ADMIN SOURCE_SUBADMIN | SOURCE_CONFIG_ASSIGNEE | CLOUD_GOV_ADMIN CLOUD_GOV_USER | IDENTITY_GRAPH_ADMIN | IDENTITY_GRAPH_READ_ONLY | |
| | | [Details](https://documentation.sailpoint.com/saas/help/common/users/user_levels.html#certification-admin-user-level) | [Details](https://documentation.sailpoint.com/saas/help/common/users/user_levels.html#helpdesk-admin-user-level) | [Details](https://documentation.sailpoint.com/saas/help/common/users/user_levels.html#report-admin-user-level) | [Details](https://documentation.sailpoint.com/saas/help/common/users/user_levels.html#role-admin-user-level) | [Details](https://documentation.sailpoint.com/saas/help/common/users/user_levels.html#source-admin-user-level) | [Details](https://documentation.sailpoint.com/saas/help/common/users/user_levels.html#source-configuration-assignee-user-level) | [Details](https://documentation.sailpoint.com/saas/help/common/users/user_levels.html#cloud-governance-services) | [Details](https://documentation.sailpoint.com/saas/help/identity_graph/index.html) | [Details](https://documentation.sailpoint.com/saas/help/identity_graph/index.html) | |
| **Admin** | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | | | | |
| Dashboard | ✓ | | | ✓ | ✓ | ✓ | | | | | |
| Access Intelligence Center | ✓ | | | ✓ | ✓ | ✓ | | | | | |
| Aggregation Activity | ✓ | | | ✓ | ✓ | ✓ | | | | | |
| Tasks | ✓ | | | ✓ | ✓ | ✓ | | | | | |
| Monitor | ✓ | | | ✓ | ✓ | ✓ | | | | | |
| **Identity Management** | ✓ | | ✓ | ✓ | | | | | | | |
| Identities | ✓ | | ✓[2](#helpdesk "Helpdesk Admins cannot revoke access items or manually set identity lifecycle states.") | | | | | | ✓[5](#helpdesk "Identity Graph Admin can only view and set the lifecycle state for identities.") | | |
| Machine Identities | ✓ | | ✓ | | | ✓ | | | ✓[4](#helpdesk "Identity Graph Admin has read only access to this.") | | |
| Accounts | ✓ | | ✓ | | | ✓[3](#accounts "Source Admins can view all accounts. Sub-admins can only view accounts for sources associated with the governance groups they are members of.") | | | ✓[6](#helpdesk "Identity Graph Admin can only view and enable / disable accounts.") | | |
| Access History | ✓ | | | ✓ | | | | | ✓[4](#helpdesk "Identity Graph Admin has read only access to this.") | | |
| Identity Profiles | ✓ | | | | | | | | | | |
| Outliers | ✓ | | | ✓ | | | | | ✓[4](#helpdesk "Identity Graph Admin has read only access to this.") | | |
| Governance Groups | ✓ | | | | | | | | | | |
| Activities | ✓ | | | | | | | | ✓[4](#helpdesk "Identity Graph Admin has read only access to this.") | | |
| **Access Model** | ✓ | | | | ✓ | ✓ | | | | | |
| Entitlements | ✓ | | | | | ✓[1](#subadmin "Sub-admin access is restricted to members of the associated source's governance group.") | | | ✓[4](#helpdesk "Identity Graph Admin has read only access to this.") | | |
| Access Profiles | ✓ | | | | | ✓[1](#subadmin "Sub-admin access is restricted to members of the associated source's governance group.") | | | ✓[4](#helpdesk "Identity Graph Admin has read only access to this.") | | |
| Roles | ✓ | | | | ✓[1](#subadmin "Sub-admin access is restricted to members of the associated source's governance group.") | | | | ✓[4](#helpdesk "Identity Graph Admin has read only access to this.") | | |
| Role Insights | ✓ | | | | ✓ | | | | | | |
| Metadata | ✓ | | | | | | | | ✓[4](#helpdesk "Identity Graph Admin has read only access to this.") | | |
| Segments | ✓ | | | | | | | | | | |
| **Applications** | ✓ | | | | | | | | | | |
| **Connections** | ✓ | | | | | | ✓ | | | | |
| Sources | ✓ | | | | | ✓[1](#subadmin "Sub-admin access is restricted to members of the associated source's governance group.") | | | | | |
| Virtual Appliances | ✓ | | | | | | | | | | |
| Integrations | ✓ | | | | | | | | | | |
| Multi-Host Sources | ✓ | | | | | | | | | | |
| | **Admin** | **Cert Admin** | **Helpdesk** | **Report Admin** | **Role Admin Sub-Admin** | **Source Admin Sub-Admin** | **Source Configuration Assignee** | **Cloud Gov Admin/User** | **Identity Graph Admin** | **Identity Graph Read Only** | **End User** |
| **Certifications** | ✓ | ✓ | | ✓ | | | | | | | |
| Campaigns | ✓ | ✓ | | ✓ | | | | | | | |
| Campaign Filters | ✓ | ✓ | | | | | | | | | |
| **Password Mgmt** | ✓ | | | | | | | | | | |
| Policies | ✓ | | | | | | | | | | |
| Sync Groups | ✓ | | | | | | | | | | |
| **Global** | ✓ | ✓ | | ✓ | ✓ | ✓ | | | | | |
| Reports | ✓ | ✓ | | ✓ | ✓ | ✓ | | | | | |
| System Settings | ✓ | | | | | | | | | | |
| Additional Settings | ✓ | | | | | | | | | | |
| GenAI Settings | ✓ | | | | | ✓ | | | | | |
| Security Settings | ✓ | | | | | | | | | | |
| Email Templates | ✓ | | | | | | | | | | |
| Grant Tenant Access | ✓ | | | | | | | | | | |
| Forms | ✓ | | | | | | | | | | |
| Parameter Storage | ✓ | | | | | | | | | | |
| **Event Triggers** | ✓ | | | | | | | | | | |
| **Workflows** | ✓ | | | | | | | | | | |
| **Search** | ✓ | ✓ | | ✓ | ✓ | ✓ | | | ✓ | | |
| Saved Search Queries | ✓ | ✓ | | ✓ | ✓ | ✓ | | | | | |
| Certification Campaigns | ✓ | ✓ | | | | | | | | | |
| Policies | ✓ | | | | | | | | | | |
| Reports | ✓ | ✓ | | ✓ | ✓ | ✓ | | | | | |
| Role Discovery | ✓ | | | | ✓ | | | | | | |
| **Dashboard Home** | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | | ✓ |
| **Passwords** | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | | ✓ |
| **Preferences** | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | | ✓ |
| **Request Center** | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | | ✓ |
| **Approvals** | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | | ✓ |
| **Task Manager** | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | | ✓ |
| **Certifications** | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | | ✓ |
| **SailPoint CIEM** | ✓ | | | | | | | ✓ | | | |
| **Harbor Pilot** | ✓ | ✓[7](#harbor-pilot "Harbor Pilot must be enabled for end users.") | ✓[7](#harbor-pilot "Harbor Pilot must be enabled for end users.") | ✓[7](#harbor-pilot "Harbor Pilot must be enabled for end users.") | ✓[7](#harbor-pilot "Harbor Pilot must be enabled for end users.") | ✓[7](#harbor-pilot "Harbor Pilot must be enabled for end users.") | ✓[7](#harbor-pilot "Harbor Pilot must be enabled for end users.") | ✓[7](#harbor-pilot "Harbor Pilot must be enabled for end users.") | ✓[7](#harbor-pilot "Harbor Pilot must be enabled for end users.") | ✓[7](#harbor-pilot "Harbor Pilot must be enabled for end users.") | ✓[7](#harbor-pilot "Harbor Pilot must be enabled for end users.") |
| **Identity Graph** | ✓ | | | | | | | | ✓ | ✓ | |
| View Supported Tenant Data | ✓ | | | | | | | | ✓ | ✓ | |
| Identity Graph Actions | ✓ | | | | | | | | ✓ | | |
| **Application Visibility** | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | | | | | |
| Configure System Settings | ✓ | | | | | | | | | | |
| Retrieve and View Data | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | | | | | |
| **Shadow AI Remediation** | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | | | | | |
| Configure System Settings | ✓ | | | | | | | | | | |
| Retrieve and View Data | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | | | | | |
`1` Sub-admins can access these pages only if they are members of the [governance group](https://documentation.sailpoint.com/saas/help/common/users/governance_groups.html) for the associated source. Sub-admins have the ability to search all organization data, not just data associated with their governance group.
`2` Helpdesk can process identities but cannot manually set identity lifecycle states.
`3` Source Admins can view all accounts. Sub-admins can only view accounts for sources associated with the [governance groups](https://documentation.sailpoint.com/saas/help/common/users/governance_groups.html) they are members of.
`4` Identity Graph Admin rights to these items are read-only and do not provide any configuration capabilities.
`5` Identity Graph Admin only has access to view and set the lifecycle state for identities.
`6` Identity Graph Admin only has access to view and enable / disable accounts.
`7` Harbor Pilot must be enabled for non Org Admins. Refer to [Enabling Harbor Pilot for Admins and End Users](https://documentation.sailpoint.com/saas/help/ai/harbor_pilot/index.html#enabling-harbor-pilot-for-admins-and-end-users) for more information.
### Data Access Security User Levels
Refer to the following documentation for information about Data Access Security user levels.
- [Data Access Security User Level Matrix](https://documentation.sailpoint.com/das/help/getting_started/user_matrix.html)
- [Data Access Security User Levels](https://documentation.sailpoint.com/das/help/getting_started/user_descriptions.html)
### Configuration Hub User Levels
Refer to the following documentation for information about Configuration Hub user levels.
- [Configuration Hub User Level Matrix](https://documentation.sailpoint.com/saas/help/confighub/index.html)
- [Configuration Hub User Levels](https://documentation.sailpoint.com/saas/help/common/users/user_levels.html#configuration-hub)
# User Level Permissions
User levels are sets of permissions within Identity Security Cloud that administrators can grant to users. Generally, users cannot grant themselves user level permissions - only Admins can grant or remove user levels. If you configure your tenant to [enable non-Org Admins to manage Identity Security Cloud user level entitlements](https://documentation.sailpoint.com/saas/help/common/users/index.html#enabling-non-org-admins-to-manage-user-level-entitlements), Role Admins and Source Admins are also able to elevate privileges.
If you grant someone a user level, it will appear in certifications as an entitlement that the reviewer can grant or revoke. For information on how to grant and remove user levels, refer to [Setting User Level Permissions](https://documentation.sailpoint.com/saas/help/identities/identity_mgmt.html#setting-user-level-permissions).
Users can be granted multiple user levels and will have the combined access of all levels assigned to them. The following user level combinations cannot be assigned to a user at the same time:
- Role Admin and Source Sub-Admin
- Role-Sub Admin and Source Admin
- Role-Sub Admin and Role Admin
- Source-Sub Admin and Source Admin
- Source Admin and Source Configuration Assignee
Best Practice
Org Admin should not be assigned with any other elevated user level, such as Source Sub-Admin, Role Sub-Admin, or Helpdesk. The Org Admin already has all rights enabled on all sources, and when assigned with other elevated user levels they can overlap in a way that may unintentionally curtail the Org Admin rights.
To view the user levels and associated privileges in a table format, refer to the [User Level Access Matrix](https://documentation.sailpoint.com/saas/help/common/users/user_level_matrix.html).
## Admin
A user with the **Admin** user level has all rights enabled on all sources. They control the system configurations, applications, sources, and identities. Admins can also enable Harbor Pilot for admins or all users. Refer to [Enabling Harbor Pilot for Admins and End Users](https://documentation.sailpoint.com/saas/help/ai/harbor_pilot/index.html#enabling-harbor-pilot-for-admins-and-end-users) for more information.
## Helpdesk User Level
A user with the **Helpdesk** user level can take the following actions:
- [Invite](https://documentation.sailpoint.com/saas/help/common/users/inviting_users.html) users to register with Identity Security Cloud.
- Read, enable, [disable](https://documentation.sailpoint.com/saas/help/accounts/index.html#disabling-accounts), and [unlock](https://documentation.sailpoint.com/saas/help/accounts/index.html#unlocking-accounts) accounts.
- Help users [reset](https://documentation.sailpoint.com/saas/help/common/users/reset_pwd_auth.html) their passwords.
- [Aggregate](https://documentation.sailpoint.com/saas/help/accounts/loading_data.html#aggregating-data-for-a-single-account) data for single accounts.
- [Process](https://documentation.sailpoint.com/saas/help/setup/identity_processing.html), [disable](https://documentation.sailpoint.com/saas/help/identities/identity_mgmt.html#disabling-identities), and [reset](https://documentation.sailpoint.com/saas/help/identities/identity_mgmt.html#resetting-identities) identities.
- [View](https://documentation.sailpoint.com/saas/help/common/audit-reports.html#admin-dashboard) application, role, and activity data for identities.
- [Reset multifactor authentication](https://documentation.sailpoint.com/saas/help/common/strong_auth.html#resetting-mfa) for identities.
Helpdesk users cannot manually set lifecycle states or make changes to sources, apps, and other features in Identity Security Cloud.
## Cert Admin User Level
A user with the **Cert Admin** user level can take the following actions:
- Perform all actions available in [Certifications](https://documentation.sailpoint.com/saas/help/certs/index.html).
- [Search](https://documentation.sailpoint.com/saas/help/search/index.html) your organization's identity and entitlement data.
- Save, subscribe to, and download [reports](https://documentation.sailpoint.com/saas/help/common/audit-reports.html) on pages they have access to in Identity Security Cloud.
- Access the [Access Intelligence Center](https://documentation.sailpoint.com/saas/help/ai/access_insights/access_intelligence.html).
- View [cloud entitlement details](https://documentation.sailpoint.com/saas/help/ciem/viewing_cloud_access.html) if their organization is using SailPoint CIEM.
## Report Admin User Level
A user with the **Report Admin** user level can take the following actions:
- Save, subscribe to, and download [reports](https://documentation.sailpoint.com/saas/help/common/audit-reports.html) on pages they have access to in Identity Security Cloud.
- [Search](https://documentation.sailpoint.com/saas/help/search/index.html) your organization's identity and entitlement data.
- View system activity, tasks, and certification campaigns on the [Admin Dashboard](https://documentation.sailpoint.com/saas/help/common/audit-reports.html#admin-dashboard).
- View [Access History](https://documentation.sailpoint.com/saas/help/identities/access_history.html) if your organization has configured the Access Modeling service.
- Access the [Access Intelligence Center](https://documentation.sailpoint.com/saas/help/ai/access_insights/access_intelligence.html).
- View [cloud entitlement details](https://documentation.sailpoint.com/saas/help/ciem/viewing_cloud_access.html) if their organization is using SailPoint CIEM.
## Role Admin User Level
A user with the Role Admin user level can take the following actions:
- Create, manage, and edit [roles](https://documentation.sailpoint.com/saas/help/access/roles.html).
- Access [Role Discovery](https://documentation.sailpoint.com/saas/help/ai/access_modeling/discover_roles.html) and [Role Insights](https://documentation.sailpoint.com/saas/help/ai/access_modeling/role_insights.html) if your organization has configured the Access Modeling service.
- [Search](https://documentation.sailpoint.com/saas/help/search/index.html) your organization's identity and entitlement data.
- Save, subscribe to, and download [reports](https://documentation.sailpoint.com/saas/help/common/audit-reports.html) on pages they have access to in Identity Security Cloud.
- Access the [Access Intelligence Center](https://documentation.sailpoint.com/saas/help/ai/access_insights/access_intelligence.html).
If your tenant is configured to [enable non-Org Admins to manage Identity Security Cloud user level entitlements](https://documentation.sailpoint.com/saas/help/common/users/index.html#enabling-non-org-admins-to-manage-user-level-entitlements), Role Admins can also manage user level entitlements.
## Role Sub-Admin User Level
Sub-Admins must be [associated with a governance group](https://documentation.sailpoint.com/saas/help/common/users/governance_groups.html#associating-a-governance-group-with-a-source) on the source to access these pages.
A user with the Role Sub-admin user level has the same permissions for Search and reports as [Role Admins](#role-admin-user-level). However, they can create, manage, and edit [roles](https://documentation.sailpoint.com/saas/help/access/roles.html) with access profiles and entitlements *only* on sources that are associated with the [governance groups](https://documentation.sailpoint.com/saas/help/common/users/governance_groups.html#associating-a-governance-group-with-a-source) they are members of. Role Sub-admins can also view and work with roles that do not have access profiles or entitlements.
Role Sub-admins can only view enabled roles they are authorized for; disabled roles are not listed.
Role Sub-admins cannot access Role Discovery or Role Insights.
## Source Admin User Level
A user with the Source Admin user level can take the following actions:
- Create, configure, manage, and edit [sources](https://documentation.sailpoint.com/connectors/isc/landingpages/help/landingpages/isc_landing.html).
- View, aggregate, remove, and correlate [accounts](https://documentation.sailpoint.com/saas/help/machine/accounts.html).
- Create, manage, and edit [access profiles](https://documentation.sailpoint.com/saas/help/access/access-profiles.html).
- [Search](https://documentation.sailpoint.com/saas/help/search/index.html) your organization's identity and entitlement data.
- Save, subscribe to, and download [reports](https://documentation.sailpoint.com/saas/help/common/audit-reports.html) on pages they have access to in Identity Security Cloud.
- Access the [Access Intelligence Center](https://documentation.sailpoint.com/saas/help/ai/access_insights/access_intelligence.html).
- View [cloud entitlement details](https://documentation.sailpoint.com/saas/help/ciem/viewing_cloud_access.html) if their organization is using SailPoint CIEM.
- [Assign source configurations](https://documentation.sailpoint.com/saas/help/ai/app_onboarding/assign/source_assign.html) if their organization is using SailPoint application onboarding.
If your tenant is configured to [enable non-Org Admins to manage Identity Security Cloud user level entitlements](https://documentation.sailpoint.com/saas/help/common/users/index.html#enabling-non-org-admins-to-manage-user-level-entitlements), Source Admins can also manage user level entitlements.
## Source Sub-Admin User Level
A user with the Source Sub-admin user level has the same permissions for Search and reports as [Source Admins](#source-admin-user-level). However, they can perform the following actions *only* on the sources associated with the [governance groups](https://documentation.sailpoint.com/saas/help/common/users/governance_groups.html#associating-a-governance-group-with-a-source) they are members of:
- Create, configure, manage, and edit associated [sources](https://documentation.sailpoint.com/connectors/identitynow/landingpages/help/landingpages/identitynow_connectivity_landing.html).
- View [accounts](https://documentation.sailpoint.com/saas/help/machine/accounts.html) on associated sources.
- Create, manage, and edit [access profiles](https://documentation.sailpoint.com/saas/help/access/access-profiles.html) that contain entitlements from associated sources.
Source Sub-Admins cannot assign sources to [source configuration assignees](#source-configuration-assignee-user-level).
Note
If a Source Sub-Admin is also granted the Source Configuration Assignee user level and assigned a source, they can grant themselves access to the live source by selecting a governance group they are a member of. Changes made to the draft source must still be approved by the assigning admin before publication.
## Source Configuration Assignee User Level
A user with the Source Configuration Assignee user level can access and configure sources they have been assigned by Admins or Source Admins using [SailPoint application onboarding](https://documentation.sailpoint.com/saas/help/ai/app_onboarding/assign/index.html).
Source configuration assignees can see the following sections of source configurations:
- Source Setup
- All sub-menus
- Account Management
- Account Schema
- Account Correlation
- Create Account
- Attribute Sync - Read-only
- Accounts
- Entitlement Management
- Entitlement Types - The Entitlement Types menu is not available on all source configurations. When it is, source assignees can view and edit the Entitlement Types configurations.
- Entitlements - Read-only
Admins with access to the live source can edit additional configurations in the source such as account aggregation, entitlement aggregation, and uncorrelated accounts.
The Source Configuration Assignee user level is not compatible with the Source Admin user level.
## Access Intelligence User Levels
The [Access Intelligence Center](https://documentation.sailpoint.com/saas/help/ai/access_insights/access_intelligence.html) can be accessed by Org, Certification, Report, Role, and Source admins.
### Access Intelligence Center - Author User Level
In addition to the access granted through their assigned Admin or Report Admin user level, a user with the **Access Intelligence Center - Author** user level can take the following actions:
- [View public sheets](https://documentation.sailpoint.com/saas/help/ai/access_insights/access_intelligence.html#viewing-your-data)
- [Create](https://documentation.sailpoint.com/saas/help/ai/access_insights/access_intelligence.html#creating-a-sheet) public or private sheets
- [Bookmark filters](https://documentation.sailpoint.com/saas/help/ai/access_insights/access_intelligence.html#bookmarking-selections)
### Access Intelligence Center - Reader User Level
In addition to the access granted through their assigned Admin or Report Admin user level, a user with the **Access Intelligence Center - Reader** user level can take the following actions:
- [View public sheets](https://documentation.sailpoint.com/saas/help/ai/access_insights/access_intelligence.html#viewing-your-data)
- Filter data
## Data Access Security User Levels
Refer to the following documentation for information about Data Access Security user levels.
- [Data Access Security User Level Matrix](https://documentation.sailpoint.com/das/help/getting_started/user_matrix.html)
- [Data Access Security User Levels](https://documentation.sailpoint.com/das/help/getting_started/user_descriptions.html)
## SailPoint Cloud Infrastructure Entitlement Management (CIEM)
If your organization has purchased and enabled SailPoint Cloud Infrastructure Entitlement Management (CIEM), you can allow your Org, Certification, Report, Source, and Cloud Gov Users/Admins to view [cloud access details](https://documentation.sailpoint.com/saas/help/ciem/viewing_cloud_access.html).
Users with the **Cloud Gov User** (CLOUD_GOV_USER) user level can do the following:
- View and approve SailPoint CIEM account entitlements
- Access Identity Security Cloud with End User permissions
Users with the Cloud Gov User level do not need admin access to view and approve SailPoint CIEM account entitlements.
Users with the **Cloud Gov Admin** (CLOUD_GOV_ADMIN) user level can do the following:
- View cloud access details
## Configuration Hub
You can use the following [Configuration Hub](https://documentation.sailpoint.com/saas/help/confighub/config_hub.html#accessing-the-configuration-hub) user levels.
- Configuration Hub Admin - Permission to view and perform any action in Configuration Hub. This user level is required to configure the S3 bucket if utilizing Configuration Hub Cloud Storage.
- Configuration Hub Backup Admin - Permissions to manage backups, which include [creating a backup](https://documentation.sailpoint.com/saas/help/confighub/config_hub.html#creating-a-backup), [deleting a backup](https://documentation.sailpoint.com/saas/help/confighub/config_hub.html#deleting-a-backup), [viewing backup summaries and details](https://documentation.sailpoint.com/saas/help/confighub/config_hub.html#viewing-detailed-backup-objects), and viewing existing drafts and [Activity Logs](https://documentation.sailpoint.com/saas/help/confighub/config_hub.html#reviewing-deployment-activity).
- Configuration Hub Reader - View-only permissions, which include the ability to view backup summaries and details, existing drafts, and Activity Logs.
## Access Request Administration User Levels
[Access Request Administration](https://documentation.sailpoint.com/saas/help/requests/approvals_admin.html) includes user levels to customize access.
### Access Request Read Only Admin
Filter, search, and view access requests.
### Access Request Administrator
- Filter, search, and view access requests.
- Take any actions, including Approve, Reassign, Remind, Overwrite, and Cancel.
- Complete bulk actions.
## Access Revoker User Level
A user with the **Access Revoker** user level can take the following actions:
- View the Details and Access tabs on the Admin Identity page.
- Submit access revocation requests for any user.
- Search all of your organization's search categories for data.
## Identity Graph User Levels
[Identity Graph](https://documentation.sailpoint.com/saas/help/identity_graph/index.html) includes user levels to customize access.
### Identity Graph Admin
A user with the **Identity Graph Admin** user level has all rights associated with the Identity Graph, including viewing, manipulating, and traversing graphs, as well as sharing graphs with other Identity Graph Admins or Org Admins. They can also set lifecycle states for identities and enable or disable accounts.
Caution
Because Identity Graph does not integrate with data segmentation, Identity Graph Admins will have access to view all identity, role, access profile, and entitlement data in their Identity Security Cloud tenant.
### Identity Graph Read Only
A user with the **Identity Graph Read Only** user level can view the Identity Graph with all supported tenant data, but cannot take actions from the graph.
## Separation of Duties (SoD) User Levels
[Separation of Duties](https://documentation.sailpoint.com/saas/help/sod/index.html) includes user levels to customize access.
### SoD Policy Admin
Users with the **SoD Policy Admin** user level can create and manage separation of duties policies.
### SoD Controls Admin
Users with the **SoD Controls Admin** user level can create and manage separation of duties mitigating controls.
### SoD Violations Admin
Users with the **SoD Policy Admin** user level can view and manage separation of duties violations.
### SoD Compliance Officer
Users with the **SoD Compliance Officer** user level can view separation of duties policies, violations, and controls.
## SailPoint Agentic Fabric (SAF) Admin User Level
Users with the **SAF Admin** user level can take the following actions:
- View and edit SailPoint Agentic Fabric pages for managing agents, application identities, and accounts.
- View MCP servers, endpoints, and credentials.
- Manage machine identity lifecycle actions.
- Manage audit and compliance.
- Manage business applications.
- View and manage agents on the Agent Identity Security and Machine Identity Security pages.
- Manage Endpoint Access Authorization (EAA) endpoints.
# SailPoint Agentic Fabric
# SailPoint Agentic Fabric
SailPoint Agentic Fabric is an agent governance capability in Identity Security Cloud. It delivers integrated discovery and governance for AI agents and non-human identities across enterprise, endpoint, and browser surfaces, connecting them to human owners and classifying usage against organizational policy. Agentic Fabric includes an interactive onboarding experience, a unified non-human identity registry, embedded Identity Graph, endpoint and browser discovery, ownership and lifecycle controls, and audit-ready reporting.
**Onboarding**
Agentic Fabric offers a guided onboarding experience that connects the systems Agentic Fabric needs in order to discover AI agents across your environment and correlate them to the people who own them. This allows users to go from first login to activation quickly.
**Non-Human Identity Registry**
After Agentic Fabric is activated, the non-human identity registry offers users a central place to view and manage their non-human identities. These include agents, applications, accounts, MCP clients, credentials, and endpoints.
For a quick snapshot of the trend of total non-human identities over a selected time window, use the Non-Human Identity Trends widget on the [MySailPoint](https://documentation.sailpoint.com/saas/help/getting_started/dashboard.html) home page. Hover over the graph to view data by day.
An [AI agent](#agents) is a type of non-human identity that represents entities leveraging large language models (LLMs) to perform tasks on behalf of users or other systems. Users can view and manage agents in the agent registry, as well as view an agent's identity graph.
An [application](#applications) is a type of non-human identity that represents a program or service that related non-human accounts are grouped within. These groupings allow users to organize and oversee their organization's non-human accounts. Users can view and manage applications, as well as view an application's identity graph.
Review and manage your organization's non-human [accounts](#accounts), including machine, service, or bot accounts that relate to a program or service.
[MCP clients](#mcp-clients) are governed non-human identity assets because they can extend an AI agent's access to tools, systems, data sources, and credentials. Review MCP clients connected to AI agents in your environment.
Review discovered secret-bearing [credentials](#credentials) and all [endpoints](#endpoints) with the endpoint agent sensor deployed for your organization.
**Business Apps**
A [business app](#business-apps) is a grouping of non-human identities that represents a single logical application, agent, service, or tool across all its individual instances. A business app can be a collection of applications.
Administrators can declare a business app's sanction status, choosing between sanctioned, unsanctioned, and unknown. These classifications determine which business apps are permitted or prohibited in the organization.
**Audit and Compliance**
Auditing and compliance reporting provides auditor-ready records for agent inventory, ownership, monitoring, and governance evidence. The reporting includes identity records, action audit trails, and compliance evidence packaging.
**Datasets and Resources**
SailPoint sources use datasets and resources to aggregate and govern non-human identities, AI agents, MCP clients, credentials, IAM roles objects.
A resource defines one object type from the connected system. It specifies which attributes the source collects, how the source identifies each object, and how the source displays each object.
A dataset groups one or more resources and assigns them one aggregation schedule. When you aggregate a dataset, the source collects every resource in that dataset from the managed system in a single run.
## Configuring Agentic Fabric
Ensure you have completed initial setup within Identity Security Cloud before beginning. Refer to [Getting Started in Identity Security Cloud](https://documentation.sailpoint.com/saas/help/getting_started/index.html) for more information.
Have the following information ready. The last three depend on what you select on the Getting Started screen.
- **Administrator access to your Agentic Fabric tenant**.
- **Your identity provider details** for either Microsoft Entra ID or Okta.
- **MDM administrator access** for:
- Jamf Pro for macOS endpoints.
- Microsoft Intune for Windows endpoints.
- **API credentials for one EDR or SIEM platform**.
- **An AWS administrator to approve an access delegation request**, if you are connecting AWS.
- **Client ID, client secret, and domain name**, if you are connecting Microsoft Entra as a cloud source.
## Onboarding
Agentic Fabric onboarding offers a guided experience that connects the systems Agentic Fabric needs in order to discover AI agents across your environment and correlate them to the people who own them. Select your systems, follow the steps, and move from first sign-on to activation. You can work in whatever order fits, allowing you to skip steps and return to unfinished steps at a later date. Refer to [Agentic Fabric Onboarding](https://documentation.sailpoint.com/saas/help/agentic_fabric/onboarding/index.html) for more information.
Onboarding steps are:
- [Getting Started](#getting-started)
- [Connecting Identity Provider](#connect-identity-provider)
- [Deploying the Endpoint Agent and Browser Extension Sensors](#deploy-sensors)
- [Connecting Sources](#connect-sources)
- [Connecting EDR/SIEM](#connect-edr-or-siem)
- [Sanctioning Business Apps](#sanction-business-apps)
- [Reviewing and Activating Agentic Fabric](#review-and-activate)
When completed, your integrations are connected, your sensor artifacts are ready to hand to your MDM administrator, and Agentic Fabric is active and monitoring.
### Getting Started
Select the integrations you use in your organization's environment. Your selections determine your onboarding experience based on the integrations you need. Refer to [Getting Started](https://documentation.sailpoint.com/saas/help/agentic_fabric/onboarding/getting_started.html) for more information.
### Connect Identity Provider
Connect your identity provider to provide a simpler login experience for users in Agentic Fabric. This enables Agentic Fabric to detect human identities and correlate them to the AI agents they own. Refer to [Connecting Identity Providers](https://documentation.sailpoint.com/saas/help/agentic_fabric/onboarding/identity_provider.html) for more information.
After activating Agentic Fabric, identity providers can be managed by going to **Admin > Security Settings > Service Provider** in Identity Security Cloud. Refer to [Service Provider Configuration](https://documentation.sailpoint.com/saas/help/common/config_isc_service_provider.html#service-provider-configuration) for more information.
### Deploy Sensors
Install the endpoint agent on managed devices and push the browser extension so Agentic Fabric can detect AI tools in use. This step produces the artifacts you need to deploy SailPoint's sensors. The [endpoint agent](#endpoint-agent) and the [browser extension](#browser-extension) are deployed separately, with their own artifacts and configuration.
#### Endpoint Agent
Configure SailPoint Endpoint Agent Security to discover and monitor AI agent software that is installed and running on your organization's managed laptops and desktops. SailPoint's endpoint agent runs as a background service with no end-user interaction. Discovered agents are added to the Agentic Fabric [agent registry](https://documentation.sailpoint.com/saas/help/agentic_fabric/nhi/agent_registry.html) that users can review. Refer to [Configuring Endpoint Agents](https://documentation.sailpoint.com/saas/help/agentic_fabric/onboarding/sensors/endpoint_sensor.html) for more information.
After activating Agentic Fabric, browser extension sensors can be managed by going to **Admin > Global > Agent Settings > Sensors** in Identity Security Cloud. Select the **Endpoint Agent** tab. Refer to [Endpoint Agents](https://documentation.sailpoint.com/saas/help/agentic_fabric/settings.html#endpoint-agents) for more information.
#### Browser Extension
Configure the browser extension sensor for visibility and support for GenAI governance processes across both managed and unmanaged SaaS environments. It operates in the browser to detect, correlate, and enhance governance of GenAI-related activities, without requiring any end-user configuration or interaction. Refer to [Deploying the Browser Extension Sensor](https://documentation.sailpoint.com/saas/help/agentic_fabric/onboarding/sensors/browser_sensor/index.html) for more information.
After activating Agentic Fabric, browser extension sensors can be managed by going to **Admin > Global > Agent Settings > Sensors** in Identity Security Cloud. Select the **Browser Extension** tab. Refer to [Browser Extensions](https://documentation.sailpoint.com/saas/help/agentic_fabric/settings.html#browser-extensions) for more information.
### Connect Sources
Connect your cloud platforms as sources so Agentic Fabric can discover and aggregate agents and other non-human identities. If a matching source already exists on your tenant, enable agent discovery on that source instead of configuring a new integration.
Provide read-only access so Agentic Fabric can discover AI agents running on AWS, Azure, and other AI platforms. Refer to [Connecting Sources](https://documentation.sailpoint.com/saas/help/agentic_fabric/onboarding/sources.html) for more information.
After activating Agentic Fabric, sources can be managed by going to **Admin > Connections > Sources** in Identity Security Cloud. Refer to [Service Provider Configuration](https://documentation.sailpoint.com/saas/help/common/config_isc_service_provider.html#service-provider-configuration) for more information.
### Connect EDR or SIEM
You can connect your endpoint detection and response (EDR) software or Security Information and Event Management (SIEM) solution for agent discovery and monitoring. Data from your EDR or SIEM platform powers AI agent discovery and monitoring. Once connected, Agentic Fabric finds the available data sources automatically. Refer to [Connecting EDR or SIEM Platforms](https://documentation.sailpoint.com/saas/help/agentic_fabric/onboarding/siem_connection.html) for more information.
After activating Agentic Fabric, EDR and SIEM platforms can be managed by going to **Admin > Global > Agent Settings** in Identity Security Cloud. Select **SIEM and EDR Connections** from the left panel. Refer to [Connecting EDR or SIEM Platforms](https://documentation.sailpoint.com/saas/help/agentic_fabric/settings.html#connecting-edr-or-siem-platforms) for more information.
### Sanction Business Apps
During onboarding, the Sanction Business Apps page allows administrators to define a business app's sanction status, determining which business apps are permitted or prohibited in their organization. This enables Agentic Fabric to ensure matching agents inherit the same classification. Refer to [Reviewing Business Apps](https://documentation.sailpoint.com/saas/help/agentic_fabric/onboarding/sanction_apps.html) for more information.
### Review and Activate
Review the connections you've configured before activating Agentic Fabric. Each step displays a Complete or Incomplete status. You can select **Edit** for a specific step to return to that page and make changes. You can activate Agentic Fabric without all of the configurations set. Refer to [Reviewing and Activating](https://documentation.sailpoint.com/saas/help/agentic_fabric/onboarding/activation.html) for more information.
### Post-onboarding Configurations
After activating Agentic Fabric, you can update or complete your configurations through the following actions:
- Configure your [identity provider](https://documentation.sailpoint.com/saas/help/agentic_fabric/onboarding/identity_provider.html) by going to **Admin > Security Settings > Service Provider** in Identity Security Cloud.
- Deploy [sensors](https://documentation.sailpoint.com/saas/help/agentic_fabric/settings.html#deploying-sensors) by going to **Admin > Global > Agent Settings** in Identity Security Cloud. Select **Sensors** from the left panel.
- Update a [source's configuration](https://documentation.sailpoint.com/saas/help/agentic_fabric/onboarding/sources.html) by going to **Admin > Connections > Sources** in Identity Security Cloud.
- Configure an [EDR or SIEM platform](https://documentation.sailpoint.com/saas/help/agentic_fabric/settings.html#connecting-edr-or-siem-platforms) by going to **Admin > Global > Agent Settings** in Identity Security Cloud. Select **SIEM and EDR Connections** from the left panel.
- Update the sanction status of [business apps](https://documentation.sailpoint.com/saas/help/agentic_fabric/business_apps.html) by going to **Agentic Fabric > Business Apps**.
## Using Agentic Fabric
After you activate Agentic Fabric, continuous monitoring begins. Shadow AI alerts will fire for unsanctioned tools. Identity correlations will update in real time. Your agent and other non-human identity registries will begin populating, depending on the steps and connections you have completed.
## Non-Human Identities
The Non-Human Identity Registry provides a single view of enterprise, endpoint, and browser agents. This allows admins to evaluate non-human identities by risk, manage ownership, including identities and Governance Groups, and organize agents into business apps.
Within the Non-Human Identity Registry, you can view:
- [Agents](#agents)
- [Applications](#applications)
- [Accounts](#accounts)
- [MCP Clients](#mcp-clients)
- [Credentials](#credentials)
- [Endpoints](#endpoints)
### Agents
The Agents page provides an agent registry of the enterprise, endpoint, and browser agents used throughout your organization. Review the ownership of agents, organize them by business apps, and access an agent's identity graph. Refer to [Managing Agents](https://documentation.sailpoint.com/saas/help/agentic_fabric/nhi/agent_registry.html) for more information.
### Applications
The Applications page allows users to view information about each application, access an application's identity graph, and update or delete an application as needed. Refer to [Managing Applications](https://documentation.sailpoint.com/saas/help/agentic_fabric/nhi/applications.html) for more information.
### Accounts
The Accounts page provides users with a view of your organization's non-human accounts. Review the status, account owner, and non-human identity the account is correlated to. Refer to [Managing Non-Human Accounts](https://documentation.sailpoint.com/saas/help/agentic_fabric/nhi/non_human_accounts.html) for more information.
### MCP Clients
The MCP Clients page provides users with a central view of all discovered MCP clients connected to AI agents in your environment. MCP clients can be discovered from sources such as endpoint agents, browser extensions, and cloud connectors. Discovery is based on agent configurations, agent activity, and SaaS connector metadata collected through dataset aggregation. Refer to [Managing MCP Clients](https://documentation.sailpoint.com/saas/help/agentic_fabric/nhi/mcp_servers.html) for more information.
### Credentials
The Credentials page provides users with a single filterable view of all secret-bearing credentials discovered by [Agentic Fabric sensors](https://documentation.sailpoint.com/saas/help/agentic_fabric/onboarding/sensors/index.html) with their metadata, including owners, status, and source. Refer to [Managing Credentials](https://documentation.sailpoint.com/saas/help/agentic_fabric/nhi/credentials.html) for more information.
### Endpoints
The Endpoints page provides users with a central view of all endpoints with the [endpoint agent sensor](https://documentation.sailpoint.com/saas/help/agentic_fabric/onboarding/sensors/index.html) installed, how they break down by operating system type and version, and the average number of agents per endpoint. Refer to [Managing Endpoints](https://documentation.sailpoint.com/saas/help/agentic_fabric/nhi/endpoints.html) for more information.
### Business Apps
The Business Apps page offers users a central list of their business apps. Administrators can declare a business app's sanction status, determining which business apps are permitted or prohibited in their organization. After a business app's sanction status is selected, matching agents automatically inherit the sanctioning decision of the business app.
This enables admins to observe and track these tools and create actionable reports. Refer to [Managing Business Apps](https://documentation.sailpoint.com/saas/help/agentic_fabric/business_apps.html) for more information.
## Audit and Compliance
SailPoint Agentic Fabric auditing and compliance reporting provides auditor-ready records for agent inventory, ownership, monitoring, and governance evidence. Admins can generate framework-aligned reports on a scheduled or ad hoc basis, so compliance teams can demonstrate governance posture on demand. Refer to [Managing Audit and Compliance Reports](https://documentation.sailpoint.com/saas/help/agentic_fabric/audit_compliance.html) for more information.
Important
Agent Audit organizes evidence from your SailPoint environment to support your compliance and governance efforts. Evidence reports provided by SailPoint reflect only the data available in SailPoint’s platform and may constitute one part of an overall compliance package. Each report should be reviewed and supplemented by your compliance, legal, or audit teams to confirm sufficiency for a given framework.
## Settings
After onboarding, manage agent settings in Identity Security Cloud. These settings include sensors and the EDR and SIEM platforms. Refer to [Configuring Agent Settings](https://documentation.sailpoint.com/saas/help/agentic_fabric/settings.html) for more information.
### Datasets and Resources
Use datasets to aggregate and govern AI agents and other non-human identities such as MCP clients, credentials, and IAM roles. When a dataset is aggregated, the source collects all resources in that dataset from the managed system.
Resources define what to collect and how to represent it; datasets define when to collect (schedule) and which resources run together during aggregation, supporting aggregation, schema control, and owner assignment for governed non-human identities. Refer to [Managing Datasets and Resources](https://documentation.sailpoint.com/saas/help/sources/datasets.html) for more information.
# Managing Audit and Compliance Reports
SailPoint Agent Fabric auditing and compliance reporting provides auditor-ready records for agent inventory, ownership, monitoring, and governance evidence. Admins can generate framework-aligned reports on a scheduled or ad hoc basis, so compliance teams can show governance posture on demand.
Audit and compliance reporting provides:
- **Identity records** - Visibility of who owns the agent and what access it has.
- **Action audit trail** - Visibility of what the agent did and when.
- **Compliance evidence packaging** - Identity governance and action audit trail, packaged into formats external auditors and regulators can consume.
Note
Agent Audit organizes evidence from your SailPoint environment to support your compliance and governance efforts. Evidence reports provided by SailPoint reflect only the data available in SailPoint’s platform and may constitute one part of an overall compliance package. Each report should be reviewed and supplemented by your compliance, legal, or audit teams to confirm sufficiency for a given framework.
## Managing Frameworks
Generate reports based upon common frameworks, or create custom frameworks to comply with your organization's compliance requirements.
Select the **Status** dropdown to filter frameworks by status:
- **Complete** - Evidence collection is complete.
- **In Progress** - Evidence collection is in progress.
- **Partial** - Evidence collection is partially complete due to unavailability of some reports.
- **Not Started** - No evidence reports currently available.
Exporting a framework generates all evidence reports associated with the framework.
### Exporting a Framework
Generate framework-aligned reports in formats external auditors and regulators can consume.
**To export reports for a framework:**
1. Go to **Agentic Fabric > Audit and Compliance > Frameworks**.
1. Find the framework you want to export and select **Export**.
Exported frameworks are available to view and download on the **Export History** page. Refer to [Viewing Export History](#viewing-export-history) for more information.
### Adding a Custom Framework
Add a custom framework to comply with your organization's compliance requirements.
**To add a custom framework:**
1. Go to **Agentic Fabric > Audit and Compliance > Frameworks**.
1. Select **Add Framework**.
1. In the **Framework Name** field, enter a name to identify the custom framework.
1. In the **Description** field, enter a description detailing what the framework is for.
1. In the **Evidence Reports** field, select the desired reports.
1. Select **Add Framework**.
The framework is available for export from the **Frameworks** tab.
### Deleting a Framework
**To delete a framework:**
1. Go to **Agentic Fabric > Audit and Compliance > Frameworks**.
1. Find the framework you want to delete and select **Delete**.
## Managing Evidence Reports
Evidence reports include agent, identity, and action audit trail details including:
- Discovery events, governance decisions, and behavioral detections.
- Who approved AI agent access rights.
- Which AI agents process personal data, and where the record of processing activity is located.
Select the **Category** dropdown to filter by report category, or search for reports by report name.
| Evidence Report | Categories | Scope |
| ------------------------------ | ---------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Agent Identity Inventory | Monitoring | Inventory of all discovered AI agents with ownership attribution, risk severity classification, agent type categorization (Enterprise, Browser, Endpoint), connector sources, and credential and MCP client connection counts. |
| Application Identity Inventory | Access | Registry of application identities with descriptions, modification timestamps, and owner assignments. |
| Credential Exposure Report | Credential | Inventory of all credentials associated with AI agents and machine identities, including credential type, ownership, source system, creation and expiration dates. |
| Endpoints Report | Monitoring | Inventory of endpoints where AI agents operate, including device names, OS type and version, and discovery source. |
| Governance Action Log | Governance | Inventory of all governance events including machine identity lifecycle actions (create, update, delete), entitlement connections, access changes, and policy enforcement events with actor, target, timestamp, and operation details. |
| Machine Account Inventory | Access | Inventory of all machine accounts (service accounts, service principals, IAM roles) with native identities, sub-type classification, ownership, source and connector attribution, and creation/modification timestamps. |
| MCP Client Inventory | Access | Registry of all MCP clients discovered across managed endpoints with server names, descriptions, last-modified timestamps, ownership attribution, and discovery source. |
| Tools Report | Access | Inventory of all tools available to AI agents with native identity references, modification timestamps, source systems, and connector source. |
### Previewing an Evidence Report
Preview evidence reports to view their contents before generating them.
**To preview an evidence report:**
1. Go to **Agentic Fabric > Audit and Compliance > Evidence Reports**.
1. Find the evidence report you want to preview and select **Preview**.
A preview of the report is displayed.
### Exporting an Evidence Report
Generate evidence reports in formats external auditors and regulators can consume.
**To export an individual evidence report:**
1. Go to **Agentic Fabric > Audit and Compliance**.
1. Select the **Evidence Reports** tab.
1. Find the evidence report you want to export and select **Export** to generate and download a zip file to your workstation.
Exported evidence reports are also available to view and download on the [Export History](#viewing-export-history) page.
**To export all evidence reports:**
1. Go to **Agentic Fabric > Audit and Compliance**.
1. Select the **Evidence Reports** tab.
1. Select **Export All** to generate and download a zip file of all reports to your workstation.
Exported evidence reports are also available to view and download on the [Export History](#viewing-export-history) page.
## Viewing Export History
The Export History page lists all previously exported frameworks and evidence reports. You can filter the results by report name, status, and schedule.
Report statuses include:
- **Available** - Available for download.
- **In Progress** - Currently being generated.
- **Failed** - Failed during generation or download.
### Downloading Exports
To view your exports, download exported frameworks and evidence reports from the Export History page.
**To download exported frameworks and evidence reports:**
1. Go to **Agentic Fabric > Audit and Compliance > Export History**.
1. Find the evidence report or framework you want to download and select **Actions** **> Download** to download the generated framework or report.
### Deleting Exports
You can delete exported frameworks and evidence reports from the Export History page.
**To delete exported frameworks and evidence reports:**
1. Go to **Agentic Fabric > Audit and Compliance > Export History**.
1. Find the evidence report or framework you want to delete and select **Actions** **> Delete** to delete the generated framework or report.
## Managing Export Schedules
Schedule the automatic generation of exports for frameworks and evidence reports on a daily, weekly, monthly, quarterly, or semi-annual basis.
**To create an export schedule:**
1. Go to **Agentic Fabric > Audit and Compliance > Export Schedule**.
1. In the **Schedule Name** field, enter a name to identify the export schedule.
1. In the **Frequency** field, select the desired frequency.
- If you selected **Daily**, complete the following fields:
- **Time of Day** - Select the time of day the export schedule will run.
- **Start Date** - Select or enter the date the export schedule will first run in the MM/DD/YYYY format.
- **Expiration Date** - Select or enter the date the export schedule will no longer run in the MM/DD/YYYY format.
- **Frameworks** - Select the frameworks that will be generated by the export schedule. You can make multiple selections.
- **Reports** - Select the evidence reports that will be generated by the export schedule. You can make multiple selections.
The export schedule will first run on the configured start date and time of day, and it will continue to run at the scheduled time each day until the expiration date is reached.
- If you selected **Weekly**, complete the following fields:
- **Day of Week** - Select the day of the week the export schedule will run.
- **Time of Day** - Select the time of day the export schedule will run.
- **Start Date** - Select or enter the date the export schedule will first run in the MM/DD/YYYY format.
- **Expiration Date** - Select or enter the date the export schedule will no longer run in the MM/DD/YYYY format.
- **Frameworks** - Select the frameworks that will be generated by the export schedule. You can make multiple selections.
- **Reports** - Select the evidence reports that will be generated by the export schedule. You can make multiple selections.
The export schedule will first run on the configured start date and time of day, and it will continue to run on that day and time each week until the expiration date is reached.
- If you selected **Monthly**, complete the following fields:
- **Day of Month** - Select the day of the month the export schedule will run.
- **Time of Day** - Select the time of day the export schedule will run.
- **Start Date** - Select or enter the date the export schedule will first run in the MM/DD/YYYY format.
- **Expiration Date** - Select or enter the date the export schedule will no longer run in the MM/DD/YYYY format.
- **Frameworks** - Select the frameworks that will be generated by the export schedule. You can make multiple selections.
- **Reports** - Select the evidence reports that will be generated by the export schedule. You can make multiple selections.
The export schedule will first run on the configured start date and time of day, and it will continue to run on that date and time each month until the expiration date is reached.
- If you selected **Quarterly**, complete the following fields:
- **Time of Day** - Select the time of day the export schedule will run.
- **Start Date** - Select or enter the date the export schedule will first run in the MM/DD/YYYY format.
- **Expiration Date** - Select or enter the date the export schedule will no longer run in the MM/DD/YYYY format.
- **Frameworks** - Select the frameworks that will be generated by the export schedule. You can make multiple selections.
- **Reports** - Select the evidence reports that will be generated by the export schedule. You can make multiple selections.
The export schedule will first run on the configured start date and time of day, and it will continue to run on the same day of the month and time every 3 months until the expiration date is reached.
- If you selected **Semi-annually**, complete the following fields:
- **Time of Day** - Select the time of day the export schedule will run.
- **Start Date** - Select or enter the date the export schedule will first run in the MM/DD/YYYY format.
- **Expiration Date** - Select or enter the date the export schedule will no longer run in the MM/DD/YYYY format.
- **Frameworks** - Select the frameworks that will be generated by the export schedule. You can make multiple selections.
- **Reports** - Select the evidence reports that will be generated by the export schedule. You can make multiple selections.
The export schedule will first run on the configured start date and time of day, and it will continue to run on the same day of the month and time every 6 months until the expiration date is reached.
1. Select **Save Schedule**.
The export schedule card is displayed, detailing its configuration.
**To edit an export schedule:**
1. Go to **Agentic Fabric > Audit and Compliance > Export Schedule**.
1. Select **Edit** on the export schedule card you want to edit.
1. Apply the desired changes.
1. Select **Update Schedule**.
**To delete an export schedule:**
1. Go to **Agentic Fabric > Audit and Compliance > Export Schedule**.
1. Select **Delete** on the export schedule card you want to delete.
1. Select **Delete** to confirm the deletion.
# Managing Business Apps
A business app is a grouping of non-human identities that represents a single logical application, agent, service, or tool across all its individual instances. A business app can be a collection of applications.
The **Business Apps** page provides users a central list of their business apps. Administrators can declare a business app's sanction status, determining which business apps are permitted or prohibited in their organization.
The sanction statuses are:
- **Sanctioned** - Business apps globally approved for use within your organization.
- **Unsanctioned** - Business apps prohibited by the organization.
- **Unknown** - Business apps with no classification decision.
Administrators can select a [sanction status during onboarding](https://documentation.sailpoint.com/saas/help/agentic_fabric/onboarding/sanction_apps.html). The system discovers active business apps from the organization's identity provider. The administrator selects the sanction status for provided and discovered business apps.
After onboarding, administrators can update their decisions or add new business apps using the **Business Apps** page.
After a business app's sanction status is selected, matching agents automatically inherit the sanctioning decision of the business app.
Note
Business App sanction statuses will not be actively enforced, and business app usage will not be blocked. Admins can observe and track these tools and create actionable reports.
**To view discovered business apps:**
1. Go to **Agentic Fabric > Business Apps**.
1. (Optional) To filter or refine the listed business apps:
- Search for business apps by name in the **Search** bar.
- Select the **All Statuses** dropdown and choose between **Sanctioned**, **Unsanctioned**, or **Unknown**.
## Adding a Business App
1. Go to **Agentic Fabric > Business Apps**.
1. Select **+ Add** to add a new business app.
1. Add a **Name** for the new business app.
1. Add a **Description**.
1. Select a status in the **Sanction Status** dropdown.
1. Select an **Owner**.
1. Enter one or more **Workflow Signatures**. Press Enter between entries.
1. Enter one or more **Access Signatures**. Press Enter between entries.
1. Select **Save**.
## Changing the Status of a Business App
You can change the status of business apps individually or in bulk.
**To change the status individually:**
1. Go to **Agentic Fabric > Business Apps**.
1. Select the **Actions** icon on the business app's card.
1. Select the new status for the business app.
**To change the statuses in bulk:**
1. Go to **Agentic Fabric > Business Apps**.
1. Select the checkboxes for multiple business apps. To select all business apps on the page, select the checkbox at the top of the page next to the total results.
You can switch pages and the selections will remain while you choose more business apps.
1. After your selections have been made, select the **Actions** dropdown and choose **Mark as Sanctioned**, **Mark as Unsanctioned**, or **Mark as Unknown**.
## Editing a Business App
1. Go to **Agentic Fabric > Business Apps**.
1. Select the **Actions** icon for the business app you want to edit and choose **Edit** to make additional changes.
1. Make any needed changes and then select **Save**.
# Managing Agent Settings
After onboarding, you can manage your configurations in Identity Security Cloud. These settings include [deploying sensors](#deploying-sensors) and connecting your organization's Endpoint Detection and Response (EDR) or Security Information and Event Management (SIEM) [platforms](#connecting-edr-or-siem-platforms).
## Deploying Sensors
You can deploy SailPoint’s sensors to discover AI on your organization’s devices. The endpoint agent and browser extension are deployed separately with their own artifacts and configuration. You can deploy both the endpoint agent and browser extension to your fleet.
### Endpoint Agents
You can configure SailPoint Endpoint Agent Security (SEAS) to discover and monitor AI agent software that is installed and running on your organization’s managed laptops and desktops. Discovered agents, MCP servers, credentials, and related non-human identities are added to Agentic Fabric for users to review.
**To configure the endpoint agent:**
1. In Identity Security Cloud, go to **Admin > Global > Agent Settings**.
1. Select **Sensors** from the left pane.
1. Select the **Endpoint Agent** tab.
1. [Generate the deployment package](https://documentation.sailpoint.com/saas/help/agentic_fabric/onboarding/sensors/endpoint_sensor.html#generating-deployment-artifacts) for your MDM provider and [deploy the endpoint agent](https://documentation.sailpoint.com/saas/help/agentic_fabric/onboarding/sensors/endpoint_sensor.html#deploying-endpoint-agent-security).
### Browser Extensions
SailPoint Browser Agent Security (SBAS) provides visibility and supports GenAI governance processes across both managed and unmanaged SaaS environments. It operates in the browser to detect, correlate, and enhance governance of GenAI-related activities. The browser extension discovers AI business apps that users access and surfaces browser agent frameworks accessed through web browser.
Deployment is supported by MDM solutions like Intune and Jamf.
**To configure a browser extension:**
1. In Identity Security Cloud, go to **Admin > Global > Agent Settings**.
1. Select **Sensors** from the left pane.
1. Select the **Browser Extension** tab.
1. Integrate the browser extension with your identity provider and then [deploy the browser extension](https://documentation.sailpoint.com/saas/help/agentic_fabric/onboarding/sensors/browser_sensor/index.html#deployment-and-operation).
## Connecting EDR or SIEM Platforms
You can connect your organization's EDR tool or SIEM solution to Agentic Fabric for agent discovery and monitoring.
You can connect the following tools and platforms:
- [CrowdStrike Falcon Data Replicator](https://documentation.sailpoint.com/saas/help/agentic_fabric/onboarding/siem_connection.html#connecting-crowdstrike-falcon-data-replicator)
- [Sumo Logic SIEM](https://documentation.sailpoint.com/saas/help/agentic_fabric/onboarding/siem_connection.html#connecting-sumo-logic-siem)
# Managing Agents
Agentic Fabric provides a registry of enterprise, endpoint, and browser agents used across your organization with visibility into their activity and relationships across humans, agents, machine identities, and resources. On the Agent Registry page, you can manage the ownership of agents, organize them by their associated business app, and access their identity graphs.
## Viewing the Agent Registry
You can review the agents discovered and registered from connected agentic platforms, browsers and endpoints, and SaaS applications in the agent registry.
**To view the agent registry:**
1. Go to **Agentic Fabric**.
1. From the navigation menu, go to the **Non-Human Identities** section and select **Agents**.
Select the quick filters on the **Agent Registry** page to refine the agents listed in the table. You can view agents discovered in the last 30 days as well as those marked as unsanctioned or missing an owner. On the **All Agents** and **Discovered** quick filters, you can hover over the line graph to view the agent count by day.
Additional filtering can be applied by selecting **+ More**. Select **Clear All Filters** to clear all configured filters.
From the agent registry, you can review the following information about each agent:
- **Owners:** The agent’s primary owner and additional owners.
- **Agent Type:** Indicates whether the agent is an enterprise, browser, or endpoint agent. If Agentic Fabric detects new agent activity that it has yet to classify, the **Agent Type** will be listed as **Unknown**. This may occur in cases where a newer agent is discovered.
- **Business App:** The [business app](https://documentation.sailpoint.com/saas/help/agentic_fabric/business_apps.html) the agent is associated with. The business app may display a warning if the app is unsanctioned by your organization.
- **Status:** Indicates whether the agent is active or inactive. You can change the status of an agent by [activating](#activating-ai-agents) or [deactivating](#deactivating-ai-agents) it.
## Viewing an Agent's Details
You can access an AI agent’s details page to view additional data about the agent, including its attributes, user entitlements, and change history.
**To access an agent’s details page:**
1. Go to **Agentic Fabric**.
1. From the navigation menu, go to the **Non-Human Identities** section and select **Agents**.
1. Find and select an AI agent to view its details page.
From this page, you can perform the following actions:
- View and copy the agent's attributes in the **Details** tab.
- View the user entitlements that grant identities access to the agent in the **Details** tab. You can also select a user entitlement to view further information about it, including the identities that receive access to the agent through the user entitlement.
- Review the agent’s identity graph in the **Access** tab.
- Review the entitlements assigned to the agent's correlated non-human accounts in the **Access** tab.
- View and update the non-human accounts correlated to the agent in the **Accounts** tab.
- View the abilities an agent can use or perform (MCP clients, tools, skills, or plugins) in the **Capabilities** tab.
- Review changes in the **Change History** tab.
- [Update](https://documentation.sailpoint.com/saas/help/agent/agent_mgmt.html) the agent by selecting the **Actions** menu in the upper-right corner of the page.
## Accessing an AI Agent’s Identity Graph
You can access an agent’s identity graph to visualize the agent’s relationships across human identities, machine identities, entitlements, and other access items.
1. Go to **Agentic Fabric**.
1. From the navigation menu, go to the **Non-Human Identities** section and select **Agents**.
1. Find or search for an agent.
1. Select the **View in Identity Graph** icon .
You can now review the agent’s relationships and identify possible risks through visualization.
## Updating AI Agents
If an agent’s owner leaves your organization, you can update the agent to change its primary owner and add additional owners for succession planning.
1. Go to **Agentic Fabric**.
1. From the navigation menu, find the **Non-Human Identities** section and select **Agents**.
1. Find the agent that requires updates and select **Actions** > **Update Agent**.
1. Update the AI agent's attributes.
1. Select **Save** to update the AI agent.
## Activating AI Agents
You can activate an agent your organization has started using. Agents can be activated on the following sources:
- [AWS SaaS](https://documentation.sailpoint.com/connectors/saas/aws/help/saas_connectivity/aws/introduction.html)
- [Cursor SaaS](https://documentation.sailpoint.com/connectors/saas/cursor/help/saas_connectivity/cursor/supported_features.html)
- [Databricks SaaS](https://documentation.sailpoint.com/connectors/saas/databricks/help/saas_connectivity/integrating_databricks/supported_features.html)
- [Microsoft Entra SaaS](https://documentation.sailpoint.com/connectors/saas/msentraid/help/saas_connectivity/microsoft_entra_id/machine_identity_governance.html)
- [n8n SaaS](https://documentation.sailpoint.com/connectors/saas/n8n_cloud/help/saas_connectivity/n8n_cloud/supported_features.html)
**To activate AI agents:**
1. Go to **Agentic Fabric**.
1. From the navigation menu, go to the **Non-Human Identities** section and select **Agents**.
1. Find the agent that you want to activate and select **Actions** > **Activate Agent**.
1. If your request requires approval, enter the business justification for activating this agent in the **Comment** field and select **Request**.
1. If your request does not require approval, select **Activate**. The AI agent becomes active on the source.
If you submitted a request, you can [track](https://documentation.sailpoint.com/saas/user-help/requests/tracking_access.html) its status the **Agent Requests** page in your Request Center. You’ll also receive email notifications about the request throughout its approval and provisioning process.
If your request is approved, the agent is activated on the source. If your request is denied, no action is taken on the agent.
## Deactivating AI Agents
You might need to deactivate a suspicious AI agent to contain a potential security threat. You can deactivate agents on the following sources:
- [AWS SaaS](https://documentation.sailpoint.com/connectors/saas/aws/help/saas_connectivity/aws/introduction.html)
- [Cursor SaaS](https://documentation.sailpoint.com/connectors/saas/cursor/help/saas_connectivity/cursor/supported_features.html)
- [Databricks SaaS](https://documentation.sailpoint.com/connectors/saas/databricks/help/saas_connectivity/integrating_databricks/supported_features.html)
- [Microsoft Entra SaaS](https://documentation.sailpoint.com/connectors/saas/msentraid/help/saas_connectivity/microsoft_entra_id/machine_identity_governance.html)
- [n8n SaaS](https://documentation.sailpoint.com/connectors/saas/n8n_cloud/help/saas_connectivity/n8n_cloud/supported_features.html)
**To deactivate AI agents:**
1. Go to **Agentic Fabric**.
1. From the navigation menu, go to the **Non-Human Identities** section and select **Agents**.
1. Find the agent that you want to deactivate and select **Actions** > **Deactivate Agent**.
1. If your request requires approval, enter the business justification for deactivating this agent in the **Comment** field and select **Request**.
1. If your request does not require approval, select **Deactivate**. The agent is deactivated on the source.
If you submitted a request, you can [track](https://documentation.sailpoint.com/saas/user-help/requests/tracking_access.html) its status the **Agent Requests** page in your Request Center. You’ll also receive email notifications about the request throughout its approval and provisioning process.
If your request is approved, the agent is deactivated on the source. If your request is denied, no action is taken on the agent.
# Managing Applications
An application is a type of non-human identity that represents a program or service that related non-human accounts are grouped within. For example, an organization might group and correlate all their automated teller service accounts to an Automated Teller application. These groupings allow users to organize and oversee their organization’s non-human accounts.
To view a list of applications in your tenant, select **Applications** from the **Non-Human Identities** section of the navigation menu. On the Applications page, you can view information about each application, access an application’s identity graph, and update or delete an application.
## Viewing an Application's Details
You can view further information about an application by viewing its Details page.
**To view an application's details:**
1. Go to **Agentic Fabric**.
1. In the **Non-Human Identities** section of the navigation menu, select **Applications**.
1. Select an application to view its Details page.
From this page, you can perform the following actions:
- View and copy the application's attributes in the **Details** tab.
- View the application’s identity graph in the **Access** tab.
- View and [update the non-human accounts](https://documentation.sailpoint.com/saas/help/machine/accounts.html) correlated to the application in the **Accounts** tab.
- Review audit events in the **Events** tab.
## Updating Applications
You can update an application’s name, description, and other attributes.
1. Go to **Agentic Fabric**.
1. In the **Non-Human Identities** section of the navigation menu, select **Applications**.
1. Find the application that requires updates and select **Actions > Update Identity**.
1. In the new window, make the required changes and then select **Save**.
## Deleting Applications
When your organization decommissions a program or a service, you might need to delete the application representing it. You can delete an application after removing its correlated accounts.
1. Go to **Agentic Fabric**.
1. In the **Non-Human Identities** section of the navigation menu, select **Applications**.
1. Find the application you want to delete and select **Actions > Delete Identity**.
1. Confirm the deletion. The application is removed from Agentic Fabric.
# Managing Credentials
The Credentials page gives users a single filterable view of all secret-bearing credentials discovered by [Agentic Fabric sensors](https://documentation.sailpoint.com/saas/help/agentic_fabric/onboarding/sensors/index.html) with their metadata, including owners, status, and source. Supported credential types include credentials such as such as IAM Access Keys, Personal Access Tokens, Fine-Grained Tokens, App registration client secrets, SAML Certificates, Service Account Keys, and API Keys.
**To view discovered credentials:**
1. Go to **Agentic Fabric > Non-Human Identities > Credentials**.
1. (Optional) To refine the listed credentials:
- Search for credentials by name in the **Search** bar.
- Select the **Primary Owner** dropdown and choose the desired selection.
- Select the **Source** dropdown and choose the desired selection.
- Select the **Type** dropdown and choose the desired selection.
- Select **+ More** and select **Additional Owners**.
- Select the **Additional Owners** dropdown and select **Identity** or **Governance Group**. Then choose the desired option.
- Select **+ More** and select **Status**.
- Select the **Status** dropdown and choose between **Active**, **Expired**, or **Inactive**.
- Select **+ More** and select **Modified**.
- Select the **Modified** dropdown and enter or select the date the credential was last modified.
- Select **+ More** and select **Created**.
- Select the **Created** dropdown and enter or select the date the credential was created.
Select **Clear All Filters** to clear all configured filters.
## Viewing Credential Details
Select a credential to view additional details and copy attributes from the credential.
On the credential card, hover over an attribute and select the **Copy** icon to copy the attribute value to your clipboard.
On the **Attributes** card, hover over an attribute and select the **Copy** icon to copy the attribute value to your clipboard.
Hover over important attributes and select the **Pin attribute** icon to pin the attribute to the credential’s main card for easier visibility.
# Managing Endpoints
The Endpoints page provides users a central view of all endpoints with the [endpoint agent sensor](https://documentation.sailpoint.com/saas/help/agentic_fabric/onboarding/sensors/endpoint_sensor.html) installed, how they break down by operating system type and version, and the average number of agents per endpoints.
Summary metrics displayed include:
- **Total Endpoints** - The number of endpoints with endpoint agent sensor installed, broken down by macOS and Windows operating system.
- **Avg. Agents Per Endpoint** - The average number of agents deployed per endpoint across this inventory of endpoints.
## Viewing Endpoints
You can search and filter endpoints to review operating system, deployed sensor version, owner, or view which source reported an endpoint.
**To view discovered endpoints:**
1. Go to **Agent Fabric > Endpoints**.
1. (Optional) To refine the listed endpoints:
- Within the **Endpoint Name** field, enter name or part name of the endpoint.
- Select the **OS Type** dropdown and choose the desired option.
- Select the **OS Version** dropdown and choose the desired option.
- Select the **Source** dropdown and choose the desired option.
- Select **+ More** and select **Owner**.
- Select the **Owner** dropdown and choose the desired option.
- Select **+ More** and select **Modified**.
- Select the **Modified** dropdown and choose the desired date.
Select **Clear All Filters** to clear all configured filters.
# Managing MCP Servers
SailPoint Agentic Fabric helps you discover and review MCP (Model Context Protocol) servers connected to AI agents in your environment. MCP servers can be discovered from sources such as SailPoint’s endpoint agent, browser extension, and cloud connectors. Discovery is based on agent configurations, agent activity, and SaaS connector metadata collected through [dataset aggregations](https://documentation.sailpoint.com/saas/help/sources/datasets.html#configuring-dataset-aggregations).
In Agentic Fabric, MCP servers are governed non-human identity assets because they can extend an AI agent’s access to tools, systems, data sources, and credentials.
## Viewing MCP Server Inventory
You can view a list of MCP servers discovered in your environment.
1. Go to **Agentic Fabric > Non-Human Identities > MCP Servers**.
1. Search for an MCP server or filter the results by source, status, modified date, or created date.
1. Select an MCP server to view its details.
You can view the following information for each MCP server:
| | |
| --------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Property | Description |
| Name | The name of the MCP server. |
| ID | The UUID of the MCP server. |
| Description | A description of the MCP server. |
| Status | The status of the MCP server. MCP servers can have an Active or Inactive status. |
| Environment | The environment the MCP server resides in. For example, the MCP server may be in a staging or production environment. |
| Owners | The human identities responsible for managing the MCP server. For more information, refer to [Configuring Owner Correlation](https://documentation.sailpoint.com/saas/help/sources/datasets.html#configuring-owner-correlation). |
| Source | The name and UUID of the source that discovered the MCP server. |
| Source ID | |
| Resource Name | The name, type, and ID of the resource representing the MCP server in the dataset. For more information, refer to [Managing Resources](https://documentation.sailpoint.com/saas/help/sources/datasets.html#managing-resources). |
| Resource Type | |
| Resource ID | |
| Dataset ID | The ID of the dataset associated with the MCP server. For example, `sp:endpoint`. |
| Native Identity | The identifier of the MCP server on the source system. This value is mapped to the `resourceId` schema attribute of the resource. |
| Created | The date and time when the MCP server was created. |
| Modified | The date and time when the MCP server was last modified. |
## Viewing MCP Clients
AI agents may use an MCP client to establish a connection to an MCP server. You can view the MCP clients that are associated with an agent in the agent's list of capabilities.
1. Go to **Agentic Fabric > Non-Human Identities > Agents**.
1. On the **Agent Registry** page, select an agent to view its details.
1. On the agent details page, go to the **Capabilities** tab.
MCP clients are displayed in the **MCP Clients** card.
# Managing Non-Human Accounts
You can review and manage your organization’s *non-human accounts* on the Accounts page. *Non-human accounts* include machine, service, or bot accounts that relate to a program or service.
You can view a list of non-human accounts, their statuses, owners, and associated non-human identities by selecting **Accounts** from the **Non-Human Identities** section of the navigation menu.
You can use the quick filter tiles to review all accounts or refine the account list to view [discovered accounts](#discovering-potential-non-human-accounts). You can use more filters to further refine the accounts listed in the table. Select **+ More** to view more filter options. To clear all filters, select **Clear All Filters**.
## Viewing Account Details
You can select an account to view additional information about it and its attributes.
1. Go to **Agentic Fabric**.
1. From the navigation menu, go to the **Non-Human Identities** section and select **Accounts**.
1. Select an account.
On the account’s page, you can:
- View and copy the account’s attributes in the **Details** tab. You can update the display of this page by:
- Pinning important attributes to the **Overview** section. The attributes display in the order they were pinned. The default attributes cannot be unpinned.
- Updating the display of the **Attributes** section to view attributes in a single column or multiple columns.
- Review the account’s correlated non-human identities in the **Non-Human Identities** tab.
- View the account’s [identity graph](https://documentation.sailpoint.com/saas/help/identity_graph/index.html), entitlement assignments, and direct permissions in the **Access** tab.
## Disabling Non-Human Accounts
You might need to disable an account on a source.
1. Go to **Agentic Fabric**.
1. From the navigation menu, go to the **Non-Human Identities** section and select **Accounts**.
1. Find the account you want to disable and select **Actions** > **Disable Account**.
1. In the confirmation window, select **Disable**.
You can reenable an account by selecting **Actions** > **Enable Account**.
## Aggregating Non-Human Accounts
You can aggregate data for a single account rather than run a full aggregation.
1. Go to **Agentic Fabric**.
1. From the navigation menu, go to the **Non-Human Identities** section and select **Accounts**.
1. Find the account you want to aggregate and select **Actions** > **Aggregate Account**.
If the account’s source is in a healthy state, the aggregation will begin.
## Updating Non-Human Accounts
You can manually update a non-human account. For example, you might need to update the account owner for a non-human account if the previous owner moves to a different role or leaves your organization.
1. Go to **Agentic Fabric**.
1. From the navigation menu, go to the **Non-Human Identities** section and select **Accounts**.
1. Find the account you want to update and select **Actions** > **Update Account**.
1. Make changes as needed and select **Apply**.
## Discovering Potential Non-Human Accounts
Agentic Fabric identifies possible non-human accounts based on common patterns of non-human account attributes. You can review these insights to see why the account was recommended as a non-human account and determine whether you should update its correlation.
**To view a list of discovered accounts:**
1. Go to **Agentic Fabric**.
1. From the navigation menu, go to the **Non-Human Identities** section and select **Accounts**.
1. Select the **Discovered Accounts** tile to view accounts identified as potential non-human accounts.
Note
SailPoint’s Machine Account Discovery reviews updated accounts daily to discover possible non-human accounts. When discovered, the **Discovered as Machine** or **Discovered as Agent** label is added to these accounts.
1. Select the **Discovered as Machine** filter to view a list of possible machine accounts that should be correlated to machine identities.
1. Select the **Discovered as Agent** filter to view a list of possible non-human accounts that should be correlated to agents.
1. Select the label in the **Insights** column to view the reasons why the account was discovered as a potential non-human account.
1. If the account is a non-human account, select the checkbox for the account and select **Correlate to Machine Identity**.
To update the correlation for multiple accounts, select the checkboxes next to the accounts and then select **Correlate to Machine Identity**.
1. If the account is a human account, select the checkbox for the account and select **Dismiss Insights**. The account is removed from the list of accounts.
To dismiss insights for multiple accounts, select the checkboxes next to the accounts and then select **Dismiss Insights**.
## Updating Correlation
If a user classified a non-human account incorrectly, you can update the account’s correlation to update its classification.
1. Go to **Agentic Fabric**.
1. From the navigation menu, go to the **Non-Human Identities** section and select **Accounts**.
1. Find the account you want to update and select **Actions** > **Update Correlation**.
1. Under **Account Type**, select the type of account the account should be updated to.
1. In the **Correlated Identity** dropdown list, select the identity the account should be correlated to.
1. Select **Save** to save these changes.
## Removing Non-Human Accounts
You might need to remove an account to fix data on the source.
1. Go to **Agentic Fabric**.
1. From the navigation menu, go to the **Non-Human Identities** section and select **Accounts**.
1. Find the account you want to remove and select **Actions** > **Remove Accounts**.
1. In the confirmation window, select **Remove** to remove the account. This action removes the account from Identity Security Cloud, not from the source system itself.
The account is removed and will be added again during your next full aggregation.
Note
If your source is configured for [delta aggregation](https://documentation.sailpoint.com/saas/help/accounts/loading_data.html#configuring-delta-aggregations-for-supported-sources), you should disable it if you want to reaggregate the account.
## Deleting Non-Human Accounts
If your organization has decommissioned an application, you may need to delete the non-human accounts associated with it. If approvals are required for the deletion, your request will be sent to a reviewer and will go through the configured approval process.
1. Go to **Agentic Fabric**.
1. From the navigation menu, go to the **Non-Human Identities** section and select **Accounts**.
1. Find the account you want to delete and select **Actions** > **Delete Account**.
Notes
- You can only delete accounts on direct connect sources that support account deletion. Refer to [Identity Security Cloud Connectors](https://community.sailpoint.com/t5/IdentityNow-Connectors/Identity-Security-Cloud-Connectors/ta-p/80019) for a list connectors and their supported account operations.
- Account deletions are not supported on the IdentityNow source.
1. In the confirmation window, review the account and source information.
1. If your request requires approval, enter the business justification for deleting this account in the **Comment** field and select **Request**.
1. If your request does not require approval, select **Delete** to confirm the deletion.
You can [track](https://documentation.sailpoint.com/saas/user-help/requests/tracking_access.html) the status of your request on the **Account Requests** page in your Request Center. You’ll also receive email notifications about the request throughout its approval and provisioning process.
Note
For [Service Desk Integration](https://documentation.sailpoint.com/connectors/isc/landingpages/help/landingpages/service_desk_integrations.html) sources, a ticket will be created to track the account deletion request.
If your request is approved, the account is removed from the source. If your request is denied, no action is taken on the account.
# Agentic Fabric Onboarding
SailPoint Agentic Fabric provides org admins with a fast and guided onboarding experience allowing for a smooth adoption plan:
- [Getting Started](https://documentation.sailpoint.com/saas/help/agentic_fabric/onboarding/getting_started.html)
- Select the integrations you use in your organization's environment. We'll tailor your onboarding experience to the integrations you need.
- [Connecting Identity Provider](https://documentation.sailpoint.com/saas/help/agentic_fabric/onboarding/identity_provider.html)
- Connect your identity provider so Agentic Fabric can detect human identities and correlate them to the AI agents they own.
- [Deploying the Endpoint Agent and Browser Extension Sensors](https://documentation.sailpoint.com/saas/help/agentic_fabric/onboarding/sensors/index.html)
- Install the lightweight agent on managed devices and push the browser extension so Agentic Fabric can detect AI tools in use.
- [Connecting Sources](https://documentation.sailpoint.com/saas/help/agentic_fabric/onboarding/sources.html)
- Provide read-only access so Agentic Fabric can discover AI agents running on AWS, Azure, and other AI platforms.
- [Connecting EDR/SIEM](https://documentation.sailpoint.com/saas/help/agentic_fabric/onboarding/siem_connection.html)
- Provide EDR/SIEM credentials so Agentic Fabric can ingest endpoint telemetry for agent discovery and activity correlation.
- [Sanctioning Business Apps](https://documentation.sailpoint.com/saas/help/agentic_fabric/onboarding/sanction_apps.html)
- Determine the business apps that are sanctioned for use by your organization so Agentic Fabric can ensure matching agents inherit the same sanction status.
- [Reviewing and Activating Agentic Fabric](https://documentation.sailpoint.com/saas/help/agentic_fabric/onboarding/activation.html)
- Confirm the connections you've configured before activating Agentic Fabric.
If you exit the onboarding experience before activating Agentic Fabric, select **Open Setup** on the **Complete Your Setup** banner on the **MySailPoint** page.
# Reviewing and Activating
Before activating Agentic Fabric, you can review your configurations and make any changes as needed. You can select **Edit** for a specific step to return to that page and make changes.
After you’ve reviewed your configurations, select **Activate Agentic Fabric** at the bottom of the page.
Continuous monitoring will begin. Shadow AI alerts will fire for unsanctioned tools. Identity correlations will update in real time. Your agent and other non-human identity registries will begin populating, depending on the steps and connections you have completed.
To secure and govern all your organization's identities, you can [configure sources](https://documentation.sailpoint.com/saas/help/agentic_fabric/onboarding/sources.html) to aggregate human accounts and identities.
## Updating Agentic Fabric Configurations
After Agentic Fabric has been activated, you can update or complete your configurations through the following actions:
- Configure your identity provider by going to **Admin > Security Settings > Service Provider** in Identity Security Cloud.
- Deploy sensors by going to **Admin > Global > Agent Settings** in Identity Security Cloud. Select **Sensors** from the left panel.
- Update a source’s configuration by going to **Admin > Connections > Sources** in Identity Security Cloud. Search for or select the source from the list of sources.
- Configure an EDR or SIEM platform by going to **Admin > Global > Agent Settings** in Identity Security Cloud. Select **SIEM and EDR Connections** from the left panel.
- Update the sanction status of business apps by going to **Agentic Fabric > Business Apps**.
# Getting Started with Agentic Fabric
SailPoint Agentic Fabric delivers an integrated agent governance experience in Identity Security Cloud, including interactive onboarding, a unified non-human identity registry, embedded Identity Graph, endpoint and browser discovery, ownership and lifecycle controls, and audit-ready reporting.
SailPoint Agentic Fabric provides org admins with a fully interactive, preference-driven Onboarding experience allowing for a smooth adoption plan. You can return to unfinished steps or skip ahead; non-linear navigation means you work in whatever order fits. Select your systems, follow the steps, and move from first sign-on to activation:
- **Connect**
Connect your identity provider to enable Agentic Fabric to detect human identities from endpoints and correlate them to the AI agents they own. This enables automatic user-to-agent mapping during discovery.
Deploy endpoint agents to monitor AI on your devices and browser extensions to monitor web applications.
Configure your organization's cloud platforms as sources to discover agents.
- **Integrate**
Connect your EDR or SIEM platform to enable AI agent discovery and monitoring. Agentic Fabric will auto-discover available data sources.
- **Sanction**
Determine the business apps that are sanctioned for use by your organization so agents inherit sanctioned or unsanctioned status.
- **Review and Activate**
Confirm the connections you've configured before activating Agentic Fabric.
Ensure you have completed initial setup within Identity Security Cloud before beginning. Refer to [Getting Started in Identity Security Cloud](https://documentation.sailpoint.com/saas/help/getting_started/index.html) for more information.
**To get started with Agentic Fabric:**
1. Select **Agentic Fabric** to open the Getting Started page.
1. Select the [identity provider](https://documentation.sailpoint.com/saas/help/agentic_fabric/onboarding/identity_provider.html) your organization uses.
1. Select the sensors you want to deploy. You can deploy both the [endpoint agent](https://documentation.sailpoint.com/saas/help/agentic_fabric/onboarding/sensors/endpoint_sensor.html) and [browser extension](https://documentation.sailpoint.com/saas/help/agentic_fabric/onboarding/sensors/browser_sensor/index.html).
1. Select the cloud platforms your organization uses. You can select both [Amazon Web Services](https://documentation.sailpoint.com/saas/help/agentic_fabric/onboarding/sources.html#configuring-the-aws-saas-connector) and [Microsoft Entra ID](https://documentation.sailpoint.com/saas/help/agentic_fabric/onboarding/sources.html#configuring-the-microsoft-entra-saas-connector).
1. Select the Endpoint Detection and Response (EDR) and Security Information and Event Management (SIEM) [platforms](https://documentation.sailpoint.com/saas/help/agentic_fabric/onboarding/siem_connection.html) your organization uses.
1. Review [business apps](https://documentation.sailpoint.com/saas/help/agentic_fabric/onboarding/sanction_apps.html) and mark which are sanctioned for use by your organization.
1. Select **Continue** to configure your selected connections
# Connecting Identity Providers
You can connect your identity provider to provide a simpler login experience for users in Agentic Fabric.
Before you begin, ensure you have the following information from Microsoft Entra ID or Okta:
- Entity ID
- Login URL for Post
- Login URL for Redirect
- Logout URL (optional)
- Signing Certificate
**To connect your identity provider:**
1. In the **Identity Provider** section, complete the following:
- In the **Entity ID** field, enter the unique entity ID of your identity provider. The number must match the SAML metadata EntityID supplied by your identity provider.
- In the **Login URL for Redirect** field, enter the URL where an authentication request is sent using HTTP Redirect binding.
- In the **Login URL for Post** field, enter the URL where an authentication request is sent using HTTP Post binding.
- (Optional) In the **Logout URL** field, enter the URL where users will be redirected when they log out or their session expires.
1. Leave the **Enable Remote Identity Provider** option unchecked until you've imported the signing certificate.
1. In the **SAML Request Options** section, complete the following:
- In the **Identity Mapping Attribute** dropdown list, select the attribute you want to use to authenticate users. If you select a custom identity attribute, that attribute must be configured as [searchable](https://documentation.sailpoint.com/saas/help/accounts/correlation.html#using-custom-identity-attributes-in-correlation).
- In the **SAML Binding** dropdown list, select **Post** or **Redirect**, depending on what endpoint the authentication request is sent to.
- In the **SAML NameID** dropdown list, select the SAML NameID your identity provider is expecting.
- In the **Authentication Context** dropdown list, select the authentication context used by the identity provider.
- Select the **Exclude Requested Authentication Context** checkbox if no authentication context is required for the authentication request.
1. In the **Signing Certificate** section, select the **Upload** icon to upload the signing certificate from its location on your device. The certificate you upload must be in .pem format.
1. In the **Hosted Service Provider** section, copy the **Entity ID** and **SAML URL** to your identity provider.
If your identity provider allows you to upload service provider metadata, select **Download SP Metadata** to download the metadata. Upload it to your identity provider following their process.
1. Select **Continue** to save your configurations and continue setting up Agentic Fabric.
# Reviewing Business Apps
During onboarding, administrators can define the *business apps* that are permitted or prohibited for use in their organization. A business app is a grouping of non-human identities that represents a single logical application, agent, service, or tool across all its individual instances. A business app can be a collection of applications.
Agentic Fabric discovers active business apps from the organization's identity provider. The administrator selects the sanction status for provided and discovered business apps.
Business apps can be marked as:
- **Sanctioned** - Business apps globally approved for use within your organization.
- **Unsanctioned** - Business apps prohibited by the organization.
- **Unknown** - Business apps with no classification decision.
Tip
You can skip this step and have a SailPoint Agentic Fabric (SAF) administrator review these business apps later using the **Business Apps** page.
**To review business apps:**
1. Search for business apps by name in the **Search** bar.
1. Update the sanction status of a business app by:
1. Marking the app as sanctioned by selecting the **Actions** icon **> Mark as Sanctioned**
1. Marking the app as unsanctioned by selecting the **Actions** icon **> Mark as Unsanctioned**.
1. Marking the app as unknown by selecting the **Actions** icon **> Mark as Unknown**.
To manage your business apps after onboarding, go to **Agentic Fabric > Business Apps**. Refer to [Managing Business Apps](https://documentation.sailpoint.com/saas/help/agentic_fabric/business_apps.html) for more information.
# Connecting EDR and SIEM Platforms
You can connect your endpoint detection and response (EDR) tool or Security Information and Event Management (SIEM) solution for agent discovery and monitoring.
The following EDR and SIEM platforms can be connected to Agentic Fabric:
- [CrowdStrike Falcon Data Replicator](#connecting-crowdstrike-falcon-data-replicator)
- [Sumo Logic SIEM](#connecting-sumo-logic-siem)
## Connecting CrowdStrike Falcon Data Replicator
Follow the [Crowdstrike Falcon Data Replicator](https://github.com/CrowdStrike/FDR) integration guide to set up the Falcon Data Replicator and create the credentials you'll need to connect the tool to Agentic Fabric.
1. In Agentic Fabric, enter a name for the source in the **Source Name** field.
1. In the **SQS Queue URL** field, enter the SQS URL from the CrowdStrike Falcon Console.
1. In the **AWS Access Key ID** field, enter your Client ID from the CrowdStrike Falcon Console.
1. In the **AWS Secret Access Key** field, enter your Secret from the CrowdStrike Falcon Console.
1. Select **Test Connection** to confirm the connection is successful.
1. Select **Continue** to continue setting up Agentic Fabric.
## Connecting Sumo Logic SIEM
Agentic Fabric connects to the Sumo Logic Search Job API to execute queries and retrieve log results. This is a read-only integration using HTTP Basic authentication.
Before connecting Sumo Logic, ensure you have the following available:
- A Sumo Logic account
- Admin access to create roles, users, and access keys
- Service account with an Access ID and Access Key
- Correct search filter configured on the role
**To connect Sumo Logic:**
1. In Sumo Logic, [create a role](https://www.sumologic.com/help/docs/manage/users-roles/roles/create-manage-roles/#create-a-role) with the ability to create an access key.
- In the Search Filter section, define the data the integration can read:
- Use * to allow access to all logs or specify metadata to scope access (e.g. \_sourceCategory=firewall).
1. [Create a service account](https://www.sumologic.com/help/docs/manage/security/service-accounts/#create-a-service-account) and assign it the the role you created.
1. [Create an access key](https://www.sumologic.com/help/docs/manage/security/access-keys/#create-an-access-key). Copy the Access ID and Access Key as you'll need them to connect Sumo Logic and Agentic Fabric.
Notes
- The access key can be revoked at any time without affecting the rest of your Sumo Logic environment. For more information, refer to the Sumo Logic [product documentation](https://www.sumologic.com/help/docs/manage/security/access-keys/#organization-access-keys).
- Rotate this key per your organization's credential policy.
1. In Agentic Fabric, go to the **Connect EDR/SIEM** page of onboarding.
1. Enter a name for the source in the **Source Name** field.
1. Enter your deployment-specific API v1 base URL in the **API URL** field. For information on API URLs, refer to SailPoint's [Sumo Logic](https://documentation.sailpoint.com/connectors/saas/sumologic/help/saas_connectivity/sumo_logic/prerequisites.html) connector documentation.
1. Enter the Access ID you received from [creating an access key](https://www.sumologic.com/help/docs/manage/security/access-keys/#create-an-access-key) in the **Access ID** field.
1. Enter the access key you generated in the **Access Key** field.
1. Select **Test Connection** to confirm the connection is successful.
1. Select **Continue** to continue setting up Agentic Fabric.
## Troubleshooting Common Errors and Connection Issues
### Common Errors
| Error | Platform | Cause | Solution |
| --------------------- | ---------- | ----------------------------------------------------------- | ---------------------------------------------------------------- |
| 403 Forbidden | Sumo Logic | Access key is invalid or role has restrictive search filter | Verify the access key. Check role permissions and search filter. |
| Access Key shown once | Sumo Logic | Access key was not saved at creation time | Delete the old access key and create a new one. |
### Common Connection Issues
If you experience issues during the connection test, try the following:
- **Verify network connectivity:** Ensure Agentic Fabric can reach the SIEM endpoint (no firewall blocking outbound HTTPS).
- **Check credentials:** Copy-paste errors are the most common cause of authentication failures.
- **Test outside Agentic Fabric first:** Use curl to confirm the endpoint responds before entering credentials in the wizard.
- **Review audit logs:** Check logs for failed API auth attempts for additional context.
# Connecting Sources
You can configure the AWS SaaS and Microsoft Entra SaaS connectors as sources to discover and aggregate agents and other non-human identities.
## Configuring the AWS SaaS Connector
To configure the AWS SaaS connector to discover non-human identities, you'll create a CloudFormation StackSet to create an IAM role. This will allow Agentic Fabric to discover Amazon Bedrock agents and other non-human identities.
Important
If your organization already has configured an AWS SaaS source, you can use the existing source for agent discovery. The fields will be prepopulated with the source's information. You can edit these fields to configure a new integration.
**To configure the AWS SaaS connector:**
1. In the AWS Bedrock & AgentCore section, enter a name for the source in the **Source Name** field.
1. In the **Source Owner** field, select the identity who will own the source.
1. In the **StackSet Name** field, enter a name for the StackSet.
1. In the **Administrator Account ID** field, enter your Administrator Account ID.
1. In the **Role Name** field, enter the IAM role name that will be created on your AWS accounts.
1. In the **Region** field, enter the region name for the AWS data center. The default region is us-east-1.
1. Select **Create StackSet**.
Important
To deploy the IAM role across your accounts, an administrator must approve the delegation request in the AWS console. After access has been approved, StackSet events will start to populate on the Connect Sources page.
1. Select **Next** to configure the Microsoft Entra SaaS Connector or select **Continue** to connect your EDR or SIEM tool.
## Configuring the Microsoft Entra SaaS Connector
If your organization has already configured a Microsoft Entra source, you can use the existing source for agent discovery. The fields will be prepopulated with the source's information. You can edit these fields to configure a new integration.
1. In the Microsoft Entra section, enter a unique name for the source in the **Source Name** field.
1. In **Source Owner** field, select the identity who will own the source.
1. In the **Description** field, enter a unique description for the source to distinguish it from similar connections.
1. In the **Set up our Authentication** section, enter the Microsoft Entra API details for OAuth2 in the **Client ID** and **Client Secret** fields.
1. In **Domain Name** field, enter the name of the Microsoft Entra domain to be managed.
1. Select **Continue** to save these changes and continue setting up Agentic Fabric.
# Deploying Sensors Overview
During onboarding, you can deploy SailPoint's sensors to discover AI on your devices. The endpoint agent and browser extension are deployed separately with their own artifacts and configuration. You can deploy both the endpoint agent and browser extension to your fleet.
## SailPoint Endpoint Agent Security
[SailPoint Endpoint Agent Security (SEAS)](https://documentation.sailpoint.com/saas/help/agentic_fabric/onboarding/sensors/endpoint_sensor.html) discovers AI agent software installed and running on your organization's managed laptops and desktops, including coding agents and the MCP clients and skills and plugins they use. The endpoint agent runs as a background service with minimum impact on device resources.
You'll select your organization's MDM provider (Jamf or Intune) and generate artifacts that you can provide to your MDM administrator for deployment. After your MDM administrator has deployed the agent and verified its enrollment, you can review the discovered agents, MCP clients, and related non-human identities in Agentic Fabric.
## SailPoint Browser Agent Security
[SailPoint Browser Agent Security (SBAS)](https://documentation.sailpoint.com/saas/help/agentic_fabric/onboarding/sensors/browser_sensor/index.html) provides visibility and supports GenAI governance processes across both managed and unmanaged SaaS environments. It operates in the browser to detect, correlate, and enhance governance of GenAI-related activities. The browser extension discovers AI business apps that users access and surfaces browser agent frameworks accessed through web browser, along with their agentic surface area across MCP clients.
Deployment is supported by any MDM solution, including Intune and Jamf. Once deployed, the browser extension installs and begins operation.
As the browser extension automatically authenticates using the logged-in user's corporate identity, you'll first configure a connection to your identity provider. You can then select installation methods based on your MDM provider.
# Configuring Endpoint Agents
You can configure SailPoint Endpoint Agent Security to discover AI agent software that is installed and running on your organization's managed laptops and desktops. SailPoint's endpoint agent runs as a background service with little interaction. Discovered agents, MCP clients, credentials, and related non-human identities are added to the Agentic Fabric for users to review.
## Generating Deployment Artifacts
To deploy the endpoint agent in your MDM provider, you will generate the following artifacts in Agentic Fabric:
| Platform | Installer | Tenant Configuration |
| ---------------- | ------------------------------------------------------- | ------------------------------------------------------------ |
| macOS (Jamf) | .pkg installer package | .mobileconfig configuration profile |
| Windows (Intune) | A 64-bit MSI, packaged as an .intunewin file for Intune | `Set-SeasPolicy-.ps1`, deployed as a platform script |
Note
You can only generate the artifacts for one provider at a time. If your organization manages both macOS and Windows devices, you can generate the artifact for the second provider after Agentic Fabric is activated. To generate artifacts for another MDM solution, go to Identity Security Cloud and select **Admin > Global > Agent Settings**. Select **Sensors** from the left pane and select and generate the deployment artifacts for the provider.
**To generate deployment artifacts:**
1. In the **Endpoint Agent** section of onboarding, select your organization's MDM provider.
1. Enter a name for the endpoint agent in the **Name** field.
1. Select **Generate Deployment Packages** to generate an installer package and configuration profile.
1. Select **Download** for both files.
1. Give the files to your MDM administrator.
1. Provide the [deployment guide](#deploying-endpoint-agent-security) for your MDM provider to your MDM administrator.
## Allowlisting the Endpoint Agent
Some endpoint security software blocks or quarantines unrecognized agents. If your organization uses endpoint detection and response (EDR) software or application control policies, use the values below to allow SailPoint Endpoint Agent Security before you deploy it.
### macOS
SailPoint Endpoint Agent Security is signed with SailPoint's Apple Developer ID and notarized by Apple. The agent requires Full Disk Access to inventory AI agent software on the endpoint. The configuration profile you deploy grants this automatically. Use these values to allowlist the agent in your endpoint security software.
| Item | Value |
| --------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Apple Developer Team ID | PRR7PT27AH |
| Signing Authority | Developer ID Certification Authority |
| Notarized | Yes |
| Bundle Identifier | com.sailpoint.seas.daemon |
| Designated Code Requirement | identifier "com.sailpoint.seas.daemon" and anchor apple generic and certificate 1[field.1.2.840.113635.100.6.2.6] /\* exists / and certificate leaf[field.1.2.840.113635.100.6.1.13] / exists \*/ and certificate leaf[subject.OU] = PRR7PT27AH |
| Required Privacy Permission | Full disk access |
| Install Path | /Applications/Seas.app |
| LaunchDaemon Label | com.sailpoint.seas.daemon com.sailpoint.seas.cloud-agent com.sailpoint.seas.spire-agent |
### Windows
SailPoint Endpoint Agent Security is code-signed. Use these values to allowlist the agent in your endpoint security software and to create publisher rules in App Control for Business or AppLocker. Publisher rules are recommended over file hash rules, because the file hash changes with every release while the signing certificate does not.
| Item | Value |
| --------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Certificate Subject (full distinguished name) | CN="SailPoint Technologies Inc" O="SailPoint Technologies Inc" L=Austin S=Texas C=US |
| Leaf Certificate Common Name (CN) | CN = SailPoint Technologies, Inc |
| Issuing Certificate Authority | CN=DigiCert Trusted G4 Code Signing RSA4096 SHA384 2021 CA1 O="DigiCert, Inc." C=US |
| Certificate Thumbprint (SHA-256) | 7CC623B9327E93CE35ED24F0E758CE9160DE634E011E39398DDFC05343B69354 |
| Product Name | SailPoint Endpoint Agentic Security (version 0.1.1.0) |
| Install Path | Program Files: %PROGRAMFILES%\\SailPoint Technologies\\Seas ProgramData: %PROGRAMDATA%\\SailPoint Technologies\\Seas Subfolders: db, logs, spire (under ProgramData) support (under Program Files) |
| Windows Services | 1. Seas Display name: SailPoint Endpoint Agentic Security (Auto start) 2. SeasCloudAgent Display name: SailPoint Endpoint Agentic Security Cloud Agent (Auto start) 3. SeasSpireAgent Display name: SailPoint Endpoint Agentic Security Identity Agent (Auto start) |
### Network (All Platforms)
The agent makes outbound connections only and requires no inbound ports. Allow the following from managed endpoints. These requirements are the same on macOS and Windows devices.
| Purpose | Protocol | Port | Destination |
| -------------------------------- | ------------------------------------- | ---- | --------------------------------------------------------- |
| Enrollment | HTTPS (TLS 1.2+; Web PKI server cert) | 443 | SAF-AWS Backend enroll-$prefix.seas.infra.identitynow.com |
| SPIRE Server (workload identity) | gRPC over TCP | 8081 | SAF-AWS Backend spire.$prefix.seas.infra.identitynow.com |
| Receiver Service | gRPC over TLS with mTLS | 7300 | SAF-AWS Backend https://$prefix.accessiq.sailpoint.com |
## Deploying Endpoint Agent Security
Endpoint Agent Security can be deployed to macOS devices through JamfPro or Windows devices through Intune.
### Deploying Endpoint Agent Security to macOS via Jamf Pro
Before you deploy the endpoint agent, ensure you have the following:
- An Agentic Fabric tenant with SailPoint Endpoint Agent Security enabled.
- A [SAF Admin](https://documentation.sailpoint.com/saas/help/common/users/user_levels.html#sailpoint-agentic-fabric-saf-admin-user-level) role that can generate deployment artifacts.
- MDM administrator access in Jamf Pro for macOS.
- macOS Tahoe 26 or later
**To deploy the endpoint agent to macOS through JamfPro:**
1. Upload and scope the configuration profile:
- In Jamf Pro, upload the `.mobileconfig` as a configuration profile. It installs a custom payload on the endpoint carrying the configuration values and the enrollment token.
- Scope the profile to the target computers or group.
Important
The endpoint agent reads its configuration on its first run, so the configuration profile must be present on the device before the package is installed.
1. Upload the package:
- Go to **Packages > New**.
- Browse and select the SEAS package and save.
Jamf stores it in its distribution repository so it can be deployed by a policy.
1. Create the install policy:
- Go to **Policies > New** and name the policy.
- Set the trigger to **Recurring Check-in**.
- Set the Execution Frequency:
- Use **Ongoing** for a security agent, so it reinstalls automatically if it is removed.
- Use **Once per computer** for a one-time push.
- Add the SEAS package to the policy payload with the action set to **Install**.
- Add an **Update Inventory** step so Jamf registers the installed app after the policy runs.
- Scope the policy to the target computer or group.
- Add an **exclusion** for computers that do not have the SEAS configuration profile installed (implemented with a smart group) so the agent never launches without its configuration.
- Select **Save**.
#### Creating a Self-Heal Smart Group
SailPoint recommends making the deploying self-healing as Endpoint Agent Security has no built-in anti-tamper protection. A user with administrator/sudo rights could remove it.
To make the deployment self-healing, create a smart group of computers that do not have Endpoint Agent Security installed and scope an Ongoing install policy to it. On the next inventory after removal, the machine reenters the group, and the agent is reinstalled. As an additional layer, EDR tamper protection can be enforced through the configuration profile to block removal.
#### Verifying Enrollment in Jamf
1. In Jamf, confirm the install policy ran on the device and that the SailPoint Endpoint Agent Security app appears in the device's inventory (Applications).
1. Confirm the agent is running on the endpoint. It runs silently with no UI.
### Deploying Endpoint Agent Security to Windows via Intune
Before you deploy the endpoint agent, ensure you have the following:
- An Agentic Fabric tenant with SailPoint Endpoint Agent Security enabled.
- A [SAF Admin](https://documentation.sailpoint.com/saas/help/common/users/user_levels.html#sailpoint-agentic-fabric-saf-admin-user-level) that can generate deployment artifacts.
- MDM administrator access in Microsoft Intune with permission to create apps and platform scripts.
- Windows 11.
- Devices enrolled in Intune.
Deploying the endpoint agent to Windows requires two Intune assignments targeting the same device group: a Win32 app that installs the agent and a platform script that applies your tenant configuration. Assign both. They can be added in either order.
#### Adding the Win32 app
1. In the Microsoft Intune admin center, go to **Apps** > **Windows** > **Add**.
1. For **App type**, select **Windows app (Win32)**. Do not deploy the agent as a line-of-business app.
1. Upload the `.intunewin` package you downloaded from Agentic Fabric.
1. On the **Program** page, confirm that the install command ends with `/qn` so the installation runs silently. Intune populates the install and uninstall commands from the package.
1. Set **Install behavior** to **System**.
1. On the **Detection rules** page, select **Manually configure detection rules**, then add a rule of type **MSI**. Intune populates the MSI product code from the package.
1. Complete the remaining pages and select **Create**.
#### Adding the Tenant Policy Script
1. Go to **Devices** > **Scripts and remediations** > **Platform scripts** > **Add** > **Windows 10 and later**.
1. Upload `Set-SeasPolicy-.ps1`.
1. Set **Run this script using the logged on credentials** to **No**. The script must run as SYSTEM.
1. Set **Run script in 64-bit PowerShell host** to **Yes**.
1. Complete the remaining pages and select **Add**.
#### Assigning the Win32 App and Script to the Same Device Group
1. Assign the Win32 app to your target device group.
1. Assign the platform script to the same device group.
The agent installs three Windows services that start automatically. Until the tenant policy is present, the agent collects inventory locally and does not upload it. Uploads begin once the policy is applied.
Important
The tenant policy script contains your organization's install token. Treat it as confidential and scope both assignments to the narrowest device group required.
#### Verifying Enrollment in Intune
1. In Intune, confirm the app installation and script runs both report success.
1. On a pilot device, confirm the tenant policy is present:
- `reg query "HKLM\SOFTWARE\Policies\SailPoint\Seas" /reg:64`
1. Confirm the **Seas**, **SeasCloudAgent**, and **SeasSpireAgent** services are running.
- Agent logs are located in `%ProgramData%\SailPoint Technologies\Seas\logs\`.
- Installation logs are located in `C:\Windows\Temp\seas`.
## Troubleshooting the Endpoint Agent
- **The agent did not install:** Confirm the device is in the policy scope and not caught by an exclusion. Force a check-in and flush policy logs.
- **The agent is installed but not reporting:** Confirm the configuration profile is present on the device and that the enrollment token has not expired.
- **The agent keeps getting removed:** This is expected if the user has admin/sudo rights. Rely on the [self-heal smart group](#creating-a-self-heal-smart-group) and EDR tamper protection.
# Configuring the Browser Extension Sensor
The Agent Fabric browser extension provides visibility and supports GenAI governance processes across both managed and unmanaged SaaS environments. It operates in the browser to detect, correlate, and enhance governance of GenAI-related activities, without requiring any end-user configuration or interaction.
Note
The browser extension must be deployed in a currently-supported browser. Contact your Customer Success Manager for more information.
## Configuring the Browser Extension in Agentic Fabric
1. Configure your [identity provider](#integrating-the-browser-extension-with-identity-providers).
1. Select **Test Connection** in the Configure Identity Provider section to ensure the connection is successful.
1. In the Browser Extension section, select your MDP provider from the **Installation Methods** dropdown list. The guides for the [deployment](#deployment-and-operation) will automatically populate.
1. Select **Go to documentation** for the browser and operating system you organization uses.
1. Follow the steps to deploy the browser extension.
1. Select **Continue** to continue setting up Agentic Fabric. Integrating the Browser Extension with Identity Providers
## Integrating the Browser Extension with Identity Providers
Agentic Fabric can integrate with external Identity Providers (IdPs) in order to provide the browser extension visibility into SaaS usage and risk throughout your organization. Once integrated and also depending on your chosen IdP, the browser extension might be able to:
- Allow the browser extension and Shadow AI Remediation administrators to authenticate against the IdP.
- Read the list of SaaS applications that have been installed in your organization, and parse SSO logs to continuously detect SSO’ed accounts.
- Support listing user accounts, user groups, application, and related user activity in the admin portal.
- Review the IdP configuration, such as MFA settings and last password rotation dates.
Available IdP integrations include:
- [Microsoft Entra ID](https://documentation.sailpoint.com/saas/help/agentic_fabric/onboarding/sensors/browser_sensor/entra_idp.html) - Use for integration with Microsoft Entra ID IdP.
- [Okta](https://documentation.sailpoint.com/saas/help/agentic_fabric/onboarding/sensors/browser_sensor/okta_idp.html) - Use for integration with Okta IdP.
## Deployment and Operation
Deployment is supported by any MDM solution, including Intune, Jamf, and Workspace ONE (to be provided by the customer). Once deployed, the browser extension installs and begins operation.
It is recommended to deploy the browser extension in a locked state, preventing end users from disabling it. For cases requiring flexibility, the browser extension supports temporary pause functionality, governed by role-based policy controls.
If disabled or temporarily suspended, the browser extension will not operate as described in this documentation.
The browser extension automatically authenticates using the logged-in user’s corporate identity, ensuring continuous correlation to the employee’s IdP account.
| | |
| ------------------------ | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Supported MDM Solutions | |
| Intune | [Chrome for Windows](https://documentation.sailpoint.com/saas/help/agentic_fabric/onboarding/sensors/browser_sensor/browser_deployment/intune_chrome_win.html) [Edge for Windows](https://documentation.sailpoint.com/saas/help/agentic_fabric/onboarding/sensors/browser_sensor/browser_deployment/intune_edge_win.html) [Chrome for Mac](https://documentation.sailpoint.com/saas/help/agentic_fabric/onboarding/sensors/browser_sensor/browser_deployment/intune_chrome_mac.html) |
| Microsoft SCCM | [Chrome for Windows](https://documentation.sailpoint.com/saas/help/agentic_fabric/onboarding/sensors/browser_sensor/browser_deployment/sccm_chrome_win.html) [Edge for Windows](https://documentation.sailpoint.com/saas/help/agentic_fabric/onboarding/sensors/browser_sensor/browser_deployment/sccm_edge_win.html) |
| Group Policy (GPO) | [Chrome for Windows](https://documentation.sailpoint.com/saas/help/agentic_fabric/onboarding/sensors/browser_sensor/browser_deployment/gpo_chrome_win.html) [Edge for Windows](https://documentation.sailpoint.com/saas/help/agentic_fabric/onboarding/sensors/browser_sensor/browser_deployment/gpo_edge_win.html) |
| Jumpcloud | [Chrome for Windows](https://documentation.sailpoint.com/saas/help/agentic_fabric/onboarding/sensors/browser_sensor/browser_deployment/jumpcloud_chrome.html) [Chrome for Mac](https://documentation.sailpoint.com/saas/help/agentic_fabric/onboarding/sensors/browser_sensor/browser_deployment/jumpcloud_chrome.html) |
| Jamf Pro | [Chrome for Mac](https://documentation.sailpoint.com/saas/help/agentic_fabric/onboarding/sensors/browser_sensor/browser_deployment/jamfpro_chrome_mac.html) [Edge for Mac](https://documentation.sailpoint.com/saas/help/agentic_fabric/onboarding/sensors/browser_sensor/browser_deployment/jamfpro_edge_mac.html) |
| Chrome Enterprise | [Chrome Enterprise](https://documentation.sailpoint.com/saas/help/agentic_fabric/onboarding/sensors/browser_sensor/browser_deployment/chrome_enterprise.html) |
| Workspace ONE UEM | [Chrome for Mac](https://documentation.sailpoint.com/saas/help/agentic_fabric/onboarding/sensors/browser_sensor/browser_deployment/workspace_chrome_mac.html) |
| Powershell template | [Chrome](https://docs.savvy.security/chrome.ps1) [Edge](https://docs.savvy.security/edge.ps1) |
| Powershell (Self Signed) | [Chrome](https://docs.savvy.security/chrome_signed.ps1) [Edge](https://docs.savvy.security/edge_signed.ps1) [Certificate](https://docs.savvy.security/savvy_cs.cer) |
## Intelligent Sign-In Detection
Using a generic sign-in detection algorithm, the browser extension recognizes authentication events across any web application. This includes commercial business applications such as Salesforce and Workday, applications accessed for personal, non-work purposes, applications developed in house, and unsanctioned applications, often referred to as shadow IT applications.
For each login event, the browser extension:
- Detects the username used during authentication.
- Evaluates password complexity.
- Checks whether the password has appeared in any known breach databases.
## Correlation and Identity Context
Because users are always authenticated against the enterprise IdP, the browser extension inherently correlates all discovered accounts and credentials back to the verified corporate identity. This enables Agent Fabric to map the full relationship between a user’s primary identity and every account they access across the SaaS environment.
## Activity and Metadata Logging
The browser extension records detailed activity logs with contextual metadata. Logged events include:
- Browsing session initiation.
- File uploads and downloads.
- Credential submissions and sign-ins.
- Clipboard paste and print operations.
This telemetry can be aggregated and analyzed at the browsing-session level, providing security and compliance insights without capturing private content.
## Privacy and Control
Admins can define allowlists and bypass rules for specific websites to preserve user privacy.
Password complexity and keyword checks are performed entirely on the client side, while compromised and reused passwords are validated using a cryptographically hashed version of the password that is designed to ensure that no plaintext credentials are exposed.
Important
The browser extension does not differentiate between personal applications and business applications, or between a user’s personal activities and business activities. It will capture the same details for personal activities conducted using any browser in which the extension is deployed. Customers are responsible for ensuring that the collection and use of personal activity data complies with applicable law and contract terms, which may include obtaining consent and/or notifying users about potential personal data collection and processing. Please contact your legal department with any questions.
# Integrating the Browser Extension with Microsoft Entra ID
The Agentic Fabric platform is deployed in Microsoft Entra ID as a multi-tenant application. Agentic Fabric uses Microsoft Entra ID API to authenticate end users and administrators logging into the Agentic Fabric platform and to gather information on applications integrated with Microsoft Entra ID and their permissions.
Once integrated with Microsoft Entra ID, Agentic Fabric can:
- Allow the [browser extension](https://documentation.sailpoint.com/saas/help/agentic_fabric/onboarding/sensors/browser_sensor/index.html) and Shadow AI Remediation administrators to authenticate against the IdP.
- Read the list of SaaS applications that have been installed in your organization, and parse SSO logs to continuously detect SSO'ed accounts.
- Support listing user accounts, user groups, application, and related user activity in Agentic Fabric.
- Review the IdP configuration, such as MFA settings and last password rotation dates.
You will first create an application integration in Microsoft Entra ID to configure authentication, and then create a Privileged Role Administrator.
To establish trust with Microsoft Entra ID, an [Azure Active Directory Administrator with the Privileged role administrator](#creating-a-privileged-role-administrator-in-azure-active-directory) role is required.
**To configure authentication:**
1. Go to **Home**.
1. On the **Complete Your Setup** banner, select **Open Setup**.
1. If you are an Azure Active Directory Administrator with an admin privileged role:
- Within the **Configure Identity Provider** card, hover over the BROWSER SENSOR OAUTH URL and select **Open link** icon .
- Select the checkbox to accept the permissions requested by Agentic Fabric. For a full list of requested permissions, refer to [Requested Permissions](#requested-permissions).
- A confirmation page is displayed confirming trust has been successfully established.
1. If you are not an Azure Active Directory Administrator with an admin privileged role:
- Select **Copy link** icon .
- Ask your Microsoft Entra ID administrator with an admin privileged role to click on the copied link and establish trust.
1. Once trust is established, select **Connect**.
1. Select **Test Connection** to test the connection.
## Requested Permissions
The following table shows the permissions required by Agentic Fabric applications from Microsoft Entra ID.
| Microsoft Permission Name | Description |
| ----------------------------------- | ------------------------------------------------------------------------------------------- |
| `Directory.Read.All` | Read directory data |
| `User.Read.All` | Read all users' full profiles |
| `Application.Read.All` | Read all applications |
| `AuditLog.Read.All` | Read all audit logs |
| `Policy.Read.All` | Read all organizational policies (e.g., Conditional Access, authentication, token policies) |
| `UserAuthenticationMethod.Read.All` | Read all users' registered authentication methods (e.g., phone, FIDO2, Authenticator app) |
| `email openid profile User.Read` | Log in (OpenID Connect 2.0) and read user's profile |
## Creating a Privileged Role Administrator in Azure Active Directory
1. Log in to Azure Portal at .
1. Under **Azure Services**, select **Azure Active Directory**.
1. Select **Users** and select the user that will be used for the Agentic Fabric authorization.
1. From the left panel, select **Assigned roles**.
1. Select **Add assignment** and select the checkbox besides **Privileged role administrator**.
The role is now assigned to the user. To verify, check that the Resource Name is set to Directory and the Assignment Path is set to Direct.
# Integrating the Browser Extension with Okta
Agentic Fabric uses Okta API to authenticate end users and administrators logging into the Agentic Fabric platform and to gather information on applications integrated with Okta and their permissions.
Once integrated with Okta, Agentic Fabric can:
- Allow the [browser extension](https://documentation.sailpoint.com/saas/help/agentic_fabric/onboarding/sensors/browser_sensor/index.html) and Shadow AI Remediation administrators to authenticate against the IdP.
- Read the list of SaaS applications that have been installed in your organization, and parse SSO logs to continuously detect SSO'ed accounts.
- Support listing user accounts, user groups, application, and related user activity in Agentic Fabric.
- Review the IdP configuration, such as MFA settings and last password rotation dates.
You will first create an app integration in Okta to configure authentication, and then configure a service application.
**To configure authentication:**
1. Log into Okta at .
1. Go to **Applications** and select **Applications** from the dropdown.
1. Select **Create app integration**.
1. On the **Create app integration** page complete the following:
- In the **Sign-in method** section, select **OIDC OpenID Connect**.
- In the **Application type** section, select **Web Application**.
1. Select **Next**.
1. On the **New Web Application Integration** page, complete the following:
- In the **App integration name** field, enter **Agentic Fabric authentication**.
- In the **Grant type** field, select **Authorization Code** and **Implicit (hybrid)**.
- In the **Sign-in redirect URIs** field, enter `https://auth2.savvy.security/self-service/methods/oidc/callback`.
- In the **Sign-out redirect URIs** field, remove the default URI.
- In the **Assignments** section, select whether to assign the app integration to everyone in your org, only selected group(s), or to skip assignment until after app creation.
1. Select **Save** to save these settings.
1. Select the **Okta API Scopes** tab.
1. Grant the `okta.users.read.self` scope.
1. Select the **General** tab.
1. Copy the following details on the Okta general tab into the Agentic Fabric onboarding page **Home > Complete Your Setup banner > Open Setup > Agentic Fabric > Onboarding > Deploy Sensor > Browser Extension**:
- **Okta Domain**
- **Client ID**
- **Client Secret**
**To configure the service application:**
1. Log into Okta at .
1. Go to **Security > Administrators**.
1. Select the **Roles** tab.
1. Select **Create** to create a new role.
1. On the **Create new role** page complete the following:
- In the **Role name** field, enter **SAF-Role**.
- In the **Description** filed, provide additional details about the role and the access it grants.
- In the **Select permissions** section, search for "view roles", and add the **View roles, resources and admin assignments** permission.
1. Select **Save** to save the role settings.
1. Select the **Resources** tab.
1. Select **Create new resource set**.
1. On the **Create new resource set** page complete the following:
- In the **Resource name** field, enter **SAF-Resource**.
- In the **Description** filed, provide additional details about the resource.
1. Select **Add Resource**.
1. On the **Add Resource** page, select **Identity and Access Management** and then select **All Identity and Access Management resources**.
1. Select **Save** to save these settings.
1. Go to **Applications > Applications**.
1. Select **Create app integration**.
1. On the **Create app integration** page complete the following:
- In the **Sign-in method** section, select **API Services**.
1. Select **Next**.
1. On the **New API Services App Integration** page complete the following:
- In the **App integration name** field, enter **Agentic Fabric services app**.
1. Select the **Admin roles** tab.
- On the **Complete the assignment** page complete the following:
- In the **Role** field, select **SAF-Role**.
- In the **Resources set** field, select **SAF-Resource**.
- In the **Role** field, select the **Read-only Administrator** role.
1. Select **Add assignment**.
1. Select the **Okta API Scopes** tab.
1. Grant the following scopes:
- `okta.users.read` - Read users for policy matching.
- `okta.groups.read` - Read groups for policy matching.
- `okta.apps.read` - Read oauth/saml applications to create inventory items.
- `okta.logs.read` - Read sign in events.
- `okta.policies.read` - Read policies in order to understand MFA status per application.
- `okta.domains.read` - Fetching any verified domain.
- `okta.roles.read` - Determine role per user, primarily to evaluate if a user is an administrator.
- `okta.appGrants.read` - Read all app grants.
1. Select the **General** tab.
1. Select **Edit** to edit the client credentials.
1. In the **Client Credentials** section, for Client authentication select **Public key / Private key**.
1. In the **PUBLIC KEYS** section complete the following:
- In the **Configuration** field, select **Use a URL to fetch keys dynamically**.
- In the **URL** field, enter the URL from Agentic Fabric onboarding page **Agentic Fabric > Onboarding > Deploy Sensor > Browser Extension**.
- Deselect the **Proof of possession** selection.
1. Select **Save** to save the settings.
1. Select the **General** tab.
1. Copy the following details on the Okta General tab into the Agentic Fabric onboarding page **Home > Complete Your Setup banner > Open Setup > Agentic Fabric > Onboarding > Deploy Sensor > Browser Extension**:
- **Client ID**
- **Okta Domain**
1. Select **Test Connection** to test the connection.
# Deploying Using Chrome Enterprise
1. Log into the Agent Fabric admin console at `https://app.savvy.security/`.
1. Select **Extensions > Deployment** tab.
1. Select the **Managed deployment** tile.
1. On the **Managed deployment** page, copy the following values which will be used later in the deployment:
- In the **Extension URL** field, copy the value `https://extension.savvy.security/update.xml`.
- In the **Extension ID** field, copy the value `ckdibgmbbhmafmjpjmknleccgcddanan`.
1. Log into the Google admin console at `https://admin.google.com/`.
1. On the left panel go to **Devices > Chrome > Apps & Extensions > Users & Browsers**.
1. Select the relevant Organizational Unit or Group for the deployment, and complete the following:
- On the bottom right select the yellow **+** button.
- Select **Add Chrome app or extension by ID**.
1. On the **Add Chrome app or extension ID** page, complete the following:
- In the **Extension ID** field, enter the value copied from the Agent Fabric admin console.
- Select **From a custom URL**, and enter the **Extension URL** value copied from the Agent Fabric admin console.
1. Select **Save**.
1. Select the **Users & Browser** tab, and select the extension.
1. Change **Installation Policy** to the desired value.
Important
It is recommended to select **Force Install**, forcing the extension to be deployed automatically. If the **Allow Install** value is selected, users will need to install the extension manually.
1. Select **Save** on the top right.
# Deploying Using Group Policy (GPO) for Chrome on Windows
1. Log into the Agent Fabric admin console at `https://app.savvy.security/`.
1. Select **Extensions > Deployment** tab.
1. Select the **Managed deployment** tile.
1. On the **Managed deployment** page, copy the following values which will be used later in the deployment:
- In the **Extension URL** field, copy the value `https://extension.savvy.security/update.xml`.
- In the **Extension ID** field, copy the value `ckdibgmbbhmafmjpjmknleccgcddanan`.
1. Log into the Windows domain controller device.
1. Download the [Google Administrative Templates](https://dl.google.com/dl/edgedl/chrome/policy/policy_templates.zip) to your domain controller.
1. Extract the `windows\admx\google.admx` XML-based administrative template admx file into `C:\Windows\PolicyDefinitions`.
1. Extract the `windows\admx\chrome.admx` XML-based administrative template admx file into `C:\Windows\PolicyDefinitions`.
1. Extract the `windows\admx\en-US\google.adml` admx file into `C:\Windows\PolicyDefinitions\en-US`.
1. Extract the `windows\admx\en-US\chrome.adml` admx file into `C:\Windows\PolicyDefinitions\en-US`.
1. Open the **Group Policy Management Editor**.
1. Create a new GPO policy, or select an existing policy.
1. Right-click your **GPO** and select **Edit**.
1. On the left panel, go to **Computer > User configuration > Policies > Administrative templates > Google > Google Chrome > Extensions**.
1. On the right panel, select **Configure the list of force-installed extensions**, right-click and select **Edit**.
1. On the **Configure the list of force-installed extensions** window, complete the following:
- Select **Enabled**.
- Select **Show**.
- In the **Extension/App IDs and update URLs to be silently installed** field enter `ckdibgmbbhmafmjpjmknleccgcddanan;https://extension.savvy.security/update.xml`.
1. Select **From a custom URL**, and enter the **Extension URL** value copied from the Agent Fabric admin console.
1. Select **OK**.
# Deploying Using Group Policy (GPO) for Edge on Windows
1. Download and install the [Microsoft Edge GPO Policy Templates](https://learn.microsoft.com/en-us/DeployEdge/configure-microsoft-edge).
1. Log into the Windows domain controller device.
1. Open the **Group Policy Management Editor**.
1. Create a new GPO policy, or select an existing policy.
1. Go to **Computer Configuration > Policies > Administrative Templates > Microsoft Edge > Extensions**.
1. Select **Control which extensions are install silently**, and select **Enabled**.
1. Under **Options**, select **Show**.
1. In the **Show Contents** window, complete the following:
- In the **Value** field, enter the value `ckdibgmbbhmafmjpjmknleccgcddanan;https://extension.savvy.security/update.xml`.
- Select **OK**.
1. Select **OK**.
1. Verify that Edge is now managed on endpoints:
- Open Microsoft Edge on a managed target endpoint.
- Go to `edge://extensions` and verify that the extension is installed and enabled.
# Deploying Using Microsoft Intune for Chrome on Mac OS
1. Go to `https://endpoint.microsoft.com/#home`.
1. Go to **Endpoint Manager > Devices > Configuration Profiles**.
1. Select **+ Create Profile**.
1. On the **Create a profile** page, complete the following:
- In the **Platform** dropdown, select **macOS**.
- In the **Profile Type** dropdown, select **Templates**.
- In the **Template name** dropdown, select **Preference file**.
1. Select **Create**.
1. On the **Basics** tab, complete the following:
- In the **Name** field, enter a name to identify the profile.
- In the **Description** field, enter a description for the profile.
1. Select **Next**.
1. On the **Configuration settings** tab, complete the following:
- In the **Preference domain name** field, enter **com.google.chrome**.
- In the **Property list file** field, upload the following plist file:
```py
ExtensionInstallForcelistckdibgmbbhmafmjpjmknleccgcddanan;
https://extension.savvy.security/update.x mlupdate_urlhttps://extension.savvy.security/update.xml
```
1. Select **Next**.
1. On the **Assignments** tab, assign any desired target users and groups and select **Next**.
1. On the **Review + create** tab, select **Create**.
1. Wait for new policy to propagate, or perform a manual synchronization.
1. Once propagated, verify that Chrome is now managed on endpoints:
- Re-open Chrome on a managed target endpoint.
- Select the three dots icon on the top right. The bottom entry should read “Managed by” followed by your organization name.
- Open a new tab and browse to `chrome://policy`.
- Verify under **Chrome Policies** you can see the **ExtensionInstallForcelistDesc** policy name with the following value: `ckdibgmbbhmafmjpjmknleccgcddanan;https://extension.savvy.security/update.xml`.
# Deploying Using Microsoft Intune for Chrome on Windows
1. Go to `https://intune.microsoft.com/`.
1. Go to **Endpoint Manager > Devices > Configuration policies**.
1. Select **Create > New Policy**.
1. On the **Create a profile** page, complete the following:
- In the **Platform** dropdown, select **Windows 10 and later**.
- In the **Profile Type** dropdown, select **Templates**.
- In the **Template name** dropdown, select **Administrative templates**.
1. Select **Create**.
1. On the **Basics** tab, complete the following:
- In the **Name** field, enter a name to identify the profile.
- In the **Description** field, enter a description for the profile.
1. Select **Next**.
1. On the **Configuration settings** tab, select **Configure the list of force-installed apps and extensions configuration**. Verify the path is `\Google\Google Chrome\Extensions`.
1. In the right hand panel, complete the following:
- Under **Supported on: Microsoft Windows 7 or later** select **Enabled**.
- In the **Extension/App IDs and update URLs to be silently installed** field enter `ckdibgmbbhmafmjpjmknleccgcddanan;https://extension.savvy.security/update.xml`.
1. Select **OK**.
1. Select **Next**.
1. On the **Scopes tags** tab, add any desired scope tags and select **Next**.
1. On the **Assignments** tab, assign any desired target users and groups and select **Next**.
1. On the **Review + create** tab, select **Create**.
1. Wait for new policy to propagate, or perform a manual synchronization.
1. Once propagated, verify that Chrome is now managed on endpoints:
- Re-open Chrome on a managed target endpoint.
- Select the three dots icon on the top right. The bottom entry should read “Managed by” followed by your organization name.
- Open a new tab and browse to `chrome://policy`.
- Verify under **Chrome Policies** you can see the **ExtensionInstallForcelistDesc** policy name with the following value: `ckdibgmbbhmafmjpjmknleccgcddanan;https://extension.savvy.security/update.xml`.
# Deploying Using Microsoft Intune for Edge on Windows
1. Go to `https://intune.microsoft.com/`.
1. Go to **Endpoint Manager > Devices > Configuration Profiles**.
1. Select **+ Create Profile**.
1. On the **Create a profile** page, complete the following:
- In the **Platform** dropdown, select **Windows 10 and later**.
- In the **Profile Type** dropdown, select **Settings catalog**.
1. Select **Create**.
1. On the **Basics** tab, complete the following:
- In the **Name** field, enter a name to identify the profile.
- In the **Description** field, enter a description for the profile.
1. Select **Next**.
1. On the **Configuration settings** tab, complete the following:
- Select **+ Add Settings**.
- In the **Settings picker** pane, complete the following:
- In the **Category** field, select **Microsoft Edge\\Extensions**.
- In the **Setting name** field, select **Control which extensions are installed silently**.
- Select **Close**.
- In the **Control which extensions are installed silently** field select **Enabled**.
- In the **Extension/App IDs and update URLs to be silently installed (Device)** field enter `ckdibgmbbhmafmjpjmknleccgcddanan;https://extension.savvy.security/update.xml`.
1. Select **Next**.
1. On the **Scopes tags** tab, add any desired scope tags and select **Next**.
1. On the **Assignments** tab, assign any desired target users and groups and select **Next**.
1. On the **Review + create** tab, select **Create**.
1. Wait for new policy to propagate, or perform a manual synchronization.
1. Once propagated, verify that Edge is now managed on endpoints:
- Re-open Edge on a managed target endpoint.
- Browse to `edge://policy`.
- Verify under **Policies** you can see the **ExtensionInstallForcelistDesc** policy name with the following value: `ckdibgmbbhmafmjpjmknleccgcddanan;https://extension.savvy.security/update.xml`.
- Browse to `edge://extensions`.
- On the top of the screen, verify that the message “Your browser is managed by your organization” is shown.
- In the **Installed extensions**, verify that **Savvy** is listed.
# Deploying Using Jamf Pro for Chrome on Mac OS
1. In Jamf Pro, select **Computers**.
1. On the left panel, select **Configuration Profiles**.
1. Select **+ New**.
1. On the new profile, complete the following:
- In the **Name** field, enter a name to identify the profile.
- In the **Category** dropdown, select a category.
- In the **Level** field, select **Computer Level**.
1. On the left panel, select **Custom Settings**.
1. In the **Preference Domain** field, enter **com.google.chrome**.
1. In the **Property list file** field, upload the following plist file:
```py
ExtensionInstallForcelistckdibgmbbhmafmjpjmknleccgcddanan;https://extension.savvy.security/update.xmlExtensionSettingsckdibgmbbhmafmjpjmknleccgcddananinstallation_modeforce_installedforce_pinnedupdate_urlhttps://extension.savvy.security/update.xml
```
1. Select **Save**.
# Deploying Using Jamf Pro for Edge on Mac OS
1. In Jamf Pro, select **Computers**.
1. On the left panel, select **Configuration Profiles**.
1. Select **+ New**.
1. On the new profile, complete the following:
- In the **Name** field, enter a name to identify the profile.
- In the **Category** dropdown, select a category.
- In the **Level** field, select **Computer Level**.
1. On the left panel, select **Custom Settings**.
1. In the **Preference Domain** field, enter **com.microsoft.Edge**.
Note
Ensure 'Edge' is entered with an uppercase 'E'.
1. In the **Property list file** field, upload the following plist file:
```py
ExtensionInstallForcelistckdibgmbbhmafmjpjmknleccgcddanan;https://extension.savvy.security/update.xmlExtensionSettingsckdibgmbbhmafmjpjmknleccgcddananinstallation_modeforce_installedforce_pinnedupdate_urlhttps://extension.savvy.security/update.xml
```
1. Select **Save**.
# Deploying Using Jumpcloud for Chrome on Mac OS and Windows
1. Log into the Jumpcloud admin portal at `https://console.jumpcloud.com/login/admin`.
1. On the left panel, select **Policy Management**.
1. Select the **+** button.
1. Select **Chrome Browser Force-Installed** policy, and select **configure**.
1. In the **Additional Chrome Browser Extensions** tile, complete the following:
- Select **add extension ID**.
- In the empty field, enter `eocjfoecmhaiedpjghfoponibjkehifb`.
1. Select **Save**.
# Deploying Using Microsoft SCCM for Chrome on Windows
1. Open the SCCM console on your administrative workstation.
1. Go to **Assets and Compliance > Compliance Settings > Configuration Items**.
1. Select **Create Configuration Item**.
1. In the **Name** field, enter a name to identify the configuration item.
1. Select **Next**.
1. Select the desired platforms for which this configuration will apply.
1. Select **Next**.
1. Select **New** to create a new setting.
1. In the **New Settings** window, complete the following:
- In the **Name** field, enter **ExtensionInstallForcelist**.
- In the **Description** field, enter **Agent Fabric Browser Extension**.
- In the **Key Name** field, enter `Software\Policies\Google\Chrome\ExtensionInstallForcelist`.
- In the **Value Name** field, enter **1**.
Note
This number must be unique. If you have added other extensions, this number should be incremented accordingly.
1. Select **OK**.
1. Select the **Compliance Rules** tab, and select **New**.
1. In the **Create** window, complete the following:
- In the **Name** field, enter **Agent Fabric Security Extension Compliance Rule**.
- In the **Description** field, enter **Agent Fabric Browser Extension**.
- In the **the following values:** field, enter the value `ckdibgmbbhmafmjpjmknleccgcddanan;https://extension.savvy.security/update.xml`.
- Select **Remediate noncompliant rules when supported**.
- Select **Report noncompliance if this setting instance is not found**.
1. Select **OK** to close the window.
1. Select **OK** to create the new compliance rule.
1. Select **Assets and Compliance > Compliance Settings > Configuration Baselines**.
1. Select **Create Configuration Baseline**.
1. In the **Name** field, enter a name to identify the configuration baseline.
1. Select **Add > Configuration Item**.
1. Select the **Agent Fabric Browser Extension Configuration Item**, and select **OK**.
1. Select **OK** to complete the new configuration baseline.
1. Deploy the configuration baseline containing the **Agent Fabric Browser Extension Configuration Item** and complete the following:
- Select **Remediate noncompliant rules when supported**.
- In the **Schedule** section, set the schedule to the desired value.
Note
Group policies update, by default, every 90 minutes. If this is replacing a GPO, consider lowering the policies update interval.
1. Select **OK**.
1. Once SCCM has updated its policies, verify that Chrome is now managed on endpoints:
- Open a Chrome and browse to `chrome://policy`.
- Verify under **Chrome Policies** you can see the **ExtensionInstallForcelistDesc** policy name with the following value: `ckdibgmbbhmafmjpjmknleccgcddanan;https://extension.savvy.security/update.xml`.
# Deploying Using Microsoft SCCM for Edge on Windows
1. Open the SCCM console on your administrative workstation.
1. Go to **Assets and Compliance > Compliance Settings > Configuration Items**.
1. Select **Create Configuration Item**.
1. In the **Name** field, enter a name to identify the configuration item.
1. Select **Next**.
1. Select the desired platforms for which this configuration will apply.
1. Select **Next**.
1. Select **New** to create a new setting.
1. In the **New Settings** window, complete the following:
- In the **Name** field, enter **ExtensionInstallForcelist**.
- In the **Description** field, enter **Agent Fabric Browser Extension**.
- In the **Key Name** field, enter `SOFTWARE\Policies\Microsoft\Edge\ExtensionInstallForcelist`.
- In the **Value Name** field, enter **1**.
Note
This number must be unique. If you have added other extensions, this number should be incremented accordingly.
1. Select **OK**.
1. Select the **Compliance Rules** tab, and select **New**.
1. In the **Create** window, complete the following:
- In the **Name** field, enter **Agent Fabric Security Extension Compliance Rule**.
- In the **Description** field, enter **Agent Fabric Browser Extension**.
- In the **the following values:** field, enter the value `ckdibgmbbhmafmjpjmknleccgcddanan;https://extension.savvy.security/update.xml`.
- Select **Remediate noncompliant rules when supported**.
- Select **Report noncompliance if this setting instance is not found**.
1. Select **OK** to close the window.
1. Select **OK** to create the new compliance rule.
1. Select **Assets and Compliance > Compliance Settings > Configuration Baselines**.
1. Select **Create Configuration Baseline**.
1. In the **Name** field, enter a name to identify the configuration baseline.
1. Select **Add > Configuration Item**.
1. Select the **Agent Fabric Browser Extension Configuration Item**, and select **OK**.
1. Select **OK** to complete the new configuration baseline.
1. Deploy the configuration baseline containing the **Agent Fabric Browser Extension Configuration Item** and complete the following:
- Select **Remediate noncompliant rules when supported**.
- In the **Schedule** section, set the schedule to the desired value.
Note
Group policies update, by default, every 90 minutes. If this is replacing a GPO, consider lowering the policies update interval.
1. Select **OK**.
1. Once SCCM has updated its policies, verify that Edge is now managed on endpoints:
- Open Microsoft Edge and browse to `edge://policy`.
- Verify under **Microsoft Edge Policies** you can see the **ExtensionInstallForcelistDesc** policy name with the following value: `ckdibgmbbhmafmjpjmknleccgcddanan;https://extension.savvy.security/update.xml`.
- Open a new tab and go to `edge://extensions`.
- Verify that the extension is installed and enabled.
# Deploying Using Workspace ONE UEM for Chrome on Mac OS
1. Log into the VMware Workspace ONE UEM management console.
1. Go to **Resources > Profiles & Baselines > Profiles > Add > Add Profile**.
1. Select **Apple macOS > macOS**.
1. Configure the profile’s General Settings.
1. Select **Custom Settings > Configure**.
1. Paste the following payload:
```py
PayloadIdentifierorg.extension.profiles.com.google.ChromePayloadRemovalDisallowedPayloadScopeUserPayloadTypeConfigurationPayloadUUID63a4d234-ff4e-46f0-bb59-68801ed918bbPayloadOrganizationSavvyPayloadVersion1PayloadDisplayNameChrome Savvy ExtensionPayloadContentPayloadTypecom.apple.ManagedClient.preferencesPayloadVersion2PayloadIdentifierorg.extension.profiles.com.google.Chrome.customsettingsPayloadUUIDeb004daf-4eae-4a69-be51-a77c6a0442aePayloadEnabledPayloadDisplayNameGoogle Chrome PreferencesPayloadContentcom.google.ChromeForcedmcx_preference_settingsExtensionInstallForcelistckdibgmbbhmafmjpjmknleccgcddanan;https://extension.savvy.security/update.xml
```
1. Select **Save and Publish**.
# SailPoint CIEM
# SailPoint CIEM Overview
SailPoint's Cloud Infrastructure Entitlement Management (CIEM) enhances identity governance by providing a deeper view into the effective access of entitlements to resources and your users' entitlement activity in your cloud infrastructure.
To get started, you must configure your cloud service providers and connect them to Identity Security Cloud. You will then manage the cloud entitlements within Identity Security Cloud.
| | Amazon Web Services (AWS) | Azure | Google Cloud Platform (GCP) | Okta |
| ----------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------ | --------------------------------------------------------------------------------------------------------------- |
| **CSP Configuration** | [Configuring AWS](https://documentation.sailpoint.com/saas/help/ciem/aws/config/index.html) | [Configuring Azure and Microsoft Entra ID](https://documentation.sailpoint.com/saas/help/ciem/azure/config_azure.html) | [Configuring GCP](https://documentation.sailpoint.com/saas/help/ciem/gcp/config_gcp.html) | [Configuring Okta](https://documentation.sailpoint.com/saas/help/ciem/okta/config_okta.html) |
| **Identity Security Cloud Configuration** | [Connecting AWS and SailPoint CIEM](https://documentation.sailpoint.com/saas/help/ciem/aws/connect_aws.html) | [Connecting Azure and SailPoint CIEM](https://documentation.sailpoint.com/saas/help/ciem/azure/connect_azure.html) | [Connecting GCP and SailPoint CIEM](https://documentation.sailpoint.com/saas/help/ciem/gcp/connect_gcp.html) | [Connecting Okta and SailPoint CIEM](https://documentation.sailpoint.com/saas/help/ciem/okta/connect_okta.html) |
| **Features and Use Cases** | [Managing AWS Cloud Accounts and Entitlements](https://documentation.sailpoint.com/saas/help/ciem/aws/aws_entitlements.html) | [Managing Azure Entitlements](https://documentation.sailpoint.com/saas/help/ciem/azure/azure_entitlements.html) | [Managing GCP Entitlements](https://documentation.sailpoint.com/saas/help/ciem/gcp/gcp_entitlements.html) | [Managing Okta Entitlements](https://documentation.sailpoint.com/saas/help/ciem/okta/okta_entitlements.html) |
Once you have configured and connected your cloud sources, you can [view information and reports](https://documentation.sailpoint.com/saas/help/ciem/viewing_cloud_access.html) about the access human identities have to your cloud infrastructure.
If a cloud-enabled entitlement is included in a certification campaign, your certifiers can view [cloud details](https://documentation.sailpoint.com/saas/user-help/certs/reviewing/viewing_cloud_details.html) when making certification decisions.
## Supported Identity Providers
CIEM supports AWS IAM federation configuration with the following identity providers:
- Azure AD
- Okta
CIEM also supports federation with AWS IAM Identity Center.
# Viewing Cloud Access
After connecting your cloud service providers and marking the cloud-enabled entitlement types, SailPoint CIEM can display the [effective access](#viewing-effective-access) that accounts associated with human identities have to your cloud infrastructure.
You can [search on cloud resources](https://documentation.sailpoint.com/saas/help/search/searchable-fields.html#searching-cloud-resources) or use the [Access Intelligence Center (AIC)](#viewing-ciem-reports-in-the-access-intelligence-center) and your [MySailPoint dashboard](https://documentation.sailpoint.com/saas/help/getting_started/dashboard.html) to view customized visualizations to more easily analyze and explore your identity and cloud data.
Note
Non-admin users must have the Cloud Gov User permission to view and approve SailPoint CIEM account entitlements. Refer to [User Level Permissions](https://documentation.sailpoint.com/saas/help/common/users/user_levels.html#sailpoint-cloud-infrastructure-entitlement-management-ciem) and [User Level Matrix](https://documentation.sailpoint.com/saas/help/common/users/user_level_matrix.html).
## Viewing Effective Access
To view the cloud resources and privileges users can access through their assigned entitlements:
1. Go to **Admin > Identity Management > Identities**.
1. Select an identity.
1. Select **Accounts** and choose an account.
1. The entitlements assigned to the user through their account on the source are displayed in **Entitlement Assignments**. If the entitlements were marked as cloud enabled and grant access to cloud resources, select **Yes** in the **Cloud Enabled** column to display the effective access.
Notes
You can also access an identity's entitlement assignments by going to the source configuration and choosing their account from the **Accounts** section.
If you select **Yes** and receive a message that the user does not have effective access, this indicates the identity has an entitlement that grants cloud access, but they do not have access to any cloud resources.
1. In the effective access view, select the cloud account from the left side to see the account access granted through the set entitlement. The resources and privileges the user can access are displayed, as well as their access level and history. [Cloud resource tags](#viewing-cloud-resource-tags) that were applied in your cloud environment are also shown.
To view the resources associated with other entitlements, select the **Entitlement** field and choose a new entitlement to display.
1. If the entitlement is on an AWS source and grants access to an AWS resource, you can select **Assumable Roles**. If the identity can assume AWS IAM roles, including roles that can be indirectly reached through [role chaining](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles.html#iam-term-role-chaining), they can be selected from the **Role** field to display the associated resources and privileges.
1. For a visual representation of how the user can access the specified role through the chosen entitlement, or all entitlements, select [**View Access Paths**](#viewing-access-paths) above the table. You can switch between viewing the entitlement role path or all role paths.
To see the access paths the role has to a specific resource, select **View** in the **Access Paths** column of the table.
1. For all source types, you can view a visual representation of the *account access* granted to each resource by selecting **View Access** in the [**Access Paths**](#viewing-access-paths) column.
When you include cloud-enabled entitlements in certification campaigns, your certifiers can view this information, as well as the [access paths](#viewing-access-paths). Refer certifiers to [Viewing Cloud Access Details](https://documentation.sailpoint.com/saas/user-help/certs/reviewing/viewing_cloud_details.html) in the User Help for guidance on reviewing cloud-enabled entitlements.
### AWS Permissions on Resources
AWS resources in the effective access view display permissions as Read, Write, or Admin. These levels summarize the IAM actions granted to the identity for that resource.
Refer to [Mapping AWS Permissions on Resources](https://documentation.sailpoint.com/saas/help/ciem/aws/aws_entitlements.html#mapping-aws-permissions-on-resources) for more information.
### AWS CloudTrail Limitations
Some CloudTrail entries delivered by AWS services do not contain the `Resource` attribute, which is used to display the last activity on an AWS resource in a certification campaign. Your certifiers will still see how the resource was accessed, but might not have full activity data details.
### Excluded GCP Asset Types
SailPoint CIEM displays the effective and last access data for [supported GCP asset types](https://cloud.google.com/asset-inventory/docs/supported-asset-types) *except*:
| | | |
| ---------------------------------------------------- | --------------------------------------------------------------- | ------------------------------------------------------ |
| `anthos.googleapis.com/ConnectedCluster` | `dlp.googleapis.com/DlpJob` | `networkconnectivity.googleapis.com/PolicyBasedRoutes` |
| `bigquerymigration.googleapis.com/MigrationWorkflow` | `firebase.googleapis.com/FirebaseAppInfo` | `networkservices.googleapis.com/EdgeCacheKeyset` |
| `compute.googleapis.com/RegionDisk` | `firestore.googleapis.com/Database` | `networkservices.googleapis.com/EdgeCacheOrigin` |
| `containerregistry.googleapis.com/Image` | `identity.accesscontextmanager.googleapis.com/AccessLevel` | `networkservices.googleapis.com/EdgeCacheService` |
| `dialogflow.googleapis.com/KnowledgeBase` | `identity.accesscontextmanager.googleapis.com/AccessPolicy` | `sqladmin.googleapis.com/Instance` |
| `dialogflow.googleapis.com/LocationSettings` | `identity.accesscontextmanager.googleapis.com/ServicePerimeter` | |
## Viewing Access Paths
Access paths display between scoped objects like groups, policies, and projects granting the user access to the selected resource. This includes the direct access granted by the entitlement or all access paths to the resource. The access granted by the entitlement is highlighted.
If you are viewing access paths for [AWS assumable roles](https://documentation.sailpoint.com/saas/help/ciem/aws/aws_entitlements.html#viewing-aws-assumable-roles), you can switch between viewing the entitlement role path and all role paths provided by the entitlement.
If a user has multiple of the same type of access at the same scope, such as multiple role assignments that lead to the same management group, you can select the node to display the access leading to the resource. Use the **Collapse** icon to collapse all nodes.
Note
If your organization has licensed [Machine Identity Security](https://documentation.sailpoint.com/saas/help/machine/index.html), you can also view the effective access for machine identities that use Microsoft Azure Service Principles and Google Cloud Infrastructure Service Accounts.
### Viewing Cloud Resource Tags
The effective access view displays the native AWS tags, Microsoft Azure tags, and GCP labels associated with the cloud resources. If multiple tags or labels are associated with a resource, you can select the number in the **Cloud Resource Tags** column to view them.
Tip
You can use this information to validate that permissions align with your tag-based policies.
Cloud resource tags are also displayed when [searching for cloud resource access](#searching-for-cloud-resource-access).
## Searching for Cloud Resource Access
You can use [Search](https://documentation.sailpoint.com/saas/help/search/index.html) to find cloud resources, review which identities and accounts can access them, and check when that access was last used. You can search by resource name or by a tag or label applied to the resource in your cloud environment.
**To search by resource name:**
1. Go to **Search**.
1. Enter the name of the cloud resource, such as an S3 bucket or database.
1. Select **Cloud Resources** from the search results table and choose a resource to view the identities and accounts with access to the resource, along with their access level (Read, Write, or Admin).
**To search by tag or label:**
Tags and labels are defined in your cloud environment and do not have set values. You can search by tag or label key and value, such as `attributes.Name:defaultVPC`, or search by value alone, such as `defaultVPC`.
1. Go to **Search**.
1. Enter the tag or label associated with your cloud resource. Search returns matching cloud resources for that tag or label.
Refer to [Searching Cloud Resources](https://documentation.sailpoint.com/saas/help/search/searchable-fields.html#searching-cloud-resources) for more information.
## Viewing SailPoint CIEM Event Logs
When your cloud access data is pulled into Identity Security Cloud, you can use [Search](https://documentation.sailpoint.com/saas/help/search/index.html) to view logs about SailPoint CIEM events. You can use these error logs to troubleshoot your GCP, AWS, Microsoft Entra ID, and Okta configurations.
- `actor.name:CIEM_SYSTEM` - Allows you to view events generated by the SailPoint CIEM system.
- `type:CIEM_SOURCE_MANAGEMENT` - Allows you to view events related to SailPoint CIEM source management.
- `type:CIEM_TEST_CONNECTION` - Allows you to view logs of test connection successes and failures.
## Viewing CIEM Reports in the Access Intelligence Center
If your organization has licensed the [Access Intelligence Center (AIC)](https://documentation.sailpoint.com/saas/help/ai/access_insights/access_intelligence.html), you can use SailPoint CIEM data to create powerful visualizations that track how human identities are using entitlements to access cloud resources and services.
For example, you can view cloud resources with large numbers of entitlements or entitlements with large numbers of resources to right-size your access model. Or you can discover departments with administrative cloud access that might be candidates for least privilege adjustments.
Go to **Home > Access Intelligence Center > SailPoint CIEM**. You can filter your view to focus on specific cloud providers, departments, entitlements, resource type, and more.
Notes
- To view CIEM reports in AIC, you must be assigned either the Admin or Report Admin [user level](https://documentation.sailpoint.com/saas/help/common/users/user_level_matrix.html) with the Access Intelligence Center [Reader](https://documentation.sailpoint.com/saas/help/common/users/user_levels.html#access-intelligence-center-reader-user-level) or [Author](https://documentation.sailpoint.com/saas/help/common/users/user_levels.html#access-intelligence-center-author-user-level) user level.
- Due to data sizing concerns, machine identities are not displayed in AIC reports.
### Finding Resources and Identities with Access
1. Go to **Home > Access Intelligence Center > SailPoint CIEM**.
1. (Optional) Filter by cloud provider.
1. (Optional) Filter by source name.
1. Select **Resources by # of Identities** to view resources and identities with access.
5.(Optional) Add additional filters to dynamically refine your view by resource types, entitlements, or access levels.
### Finding Unused Access
1. Go to **Home > Access Intelligence Center > SailPoint CIEM**.
1. Filter by **Entitlement Usage** and select **Unused** to find entitlements that have not been used to access a cloud resource for 90 or more days.
## Viewing Cloud Scope Status
The **Cloud Infrastructure Entitlement Management (CIEM) Source Scope Insights** widget on the **MySailPoint** [dashboard](https://documentation.sailpoint.com/saas/help/getting_started/dashboard.html) provides high-level information about the status of your sources and associated scopes, the number of discovered and included scopes, and scopes with connection errors.
Refer to [Managing Dashboards](https://documentation.sailpoint.com/saas/help/getting_started/dashboard.html) to learn how to add widgets to [personal](https://documentation.sailpoint.com/saas/help/getting_started/dashboard.html#viewing-and-editing-personal-dashboards) and [shared](https://documentation.sailpoint.com/saas/help/getting_started/dashboard.html#editing-shared-dashboards) dashboards.
# Managing AWS Cloud Accounts and Entitlements
To display your AWS entitlement data, you must mark [supported entitlements](#supported-entitlement-types) as [*cloud enabled*](#marking-aws-cloud-enabled-entitlement-types).
## Supported Entitlement Types
You can use the following AWS and AWS Identity Center entitlements:
- `Groups`
- `AWSManagedPolicy`
- `CustomerManagedPolicy`
- `InlinePolicy`
- `Groups`
- `AccountPermissionSet`
The CIEM AWS source aggregates AWS Identity Center [accounts and entitlements](#viewing-identity-center-accounts-and-entitlements).
## Aggregation Timing
The CIEM AWS connector aggregates accounts and entitlements from SailPoint CIEM data rather than directly from AWS. This affects how quickly data appears and which account and entitlement attributes are available after aggregation.
- After your first successful test connection, accounts and entitlements can take up to 24 hours to appear in aggregation results.
- Changes you make directly in [AWS Identity Center](#viewing-identity-center-accounts-and-entitlements) can take up to 24 hours to appear in aggregated accounts and entitlements.
- Changes made through [provisioning](https://documentation.sailpoint.com/saas/help/provisioning/index.html) on the CIEM AWS source are reflected immediately in aggregation.
- The CIEM AWS account and entitlement schemas are fixed, and changes made to those schemas on the CIEM AWS source are not reflected in aggregation.
## Viewing Identity Center Accounts and Entitlements
After you've [aggregated](https://documentation.sailpoint.com/saas/help/accounts/loading_data.html) your source, you can view the collected Identity Center users on the [**Accounts**](https://documentation.sailpoint.com/saas/help/sources/index.html#viewing-accounts-on-a-source) tab of the CIEM AWS source.
SailPoint CIEM uses the AWS Identity Center Groups and AccountPermissionSet entitlements to identify cloud access. If you enabled [native change detection](https://documentation.sailpoint.com/saas/help/sources/native_change_detection.html), your AWS accounts will be scanned for changes made out-of-band.
Notes
- The [CIEM AWS connector](https://documentation.sailpoint.com/saas/help/ciem/aws/connect_aws.html#using-the-sailpoint-ciem-aws-connector) supports organization instances of Identity Center. Account instances are not supported. Refer to [Organization and account instances of IAM Identity Center](https://docs.aws.amazon.com/singlesignon/latest/userguide/identity-center-instances.html) for more information.
- Not all fields apply to Identity Center users.
| Attribute | Type | Description |
| -------------------------------- | --------------------- | ------------------------------------------------------------- |
| UserName | string | The friendly name of the user |
| UserId | string | The unique ID of the user |
| Path | string | Path to the user |
| ARN | string | Amazon Resource Name of the user |
| CreatedDate | string | User Creation date |
| ConsoleAccess | string | Password Status |
| Access Keys | string | Access keys associated with the user |
| AWS CodeCommit HTTPS Credentials | string | AWS CodeCommit HTTPS Git credentials associated with the user |
| AWS CodeCommit SSH Keys | string | AWS CodeCommit SSH public keys associated with the user |
| Signing Certificates | string | Signing Certificates associated with the user |
| AccountType | string | Account is either Federated, Local Federated, or Local |
| AWSAccountSet | string (multi-valued) | AWS Accounts this User has access to |
| DisplayName | string | User friendly display name |
| Email | string | User email |
While the schemas match, the account ID displayed on the CIEM AWS source is the account ID associated with a user's AWS Identity Center access, not their AWS IAM ARN.
### Identity Store APIs
SailPoint CIEM calls the following Identity Store and Identity Store SSO APIs:
- `ListUsers`
- `ListGroups`
- `ListGroupMemberships`
- `ListInstances`
- `ListPermissionSets`
- `DescribePermissionSet`
- `ListAccountsForProvisionedPermissionSet`
- `ListAccountAssignments`
- `GetInlinePolicyForPermissionSet`
- `GetPermissionsBoundaryForPermissionSet`
- `ListManagedPoliciesInPermissionSet`
- `ListCustomerManagedPolicyReferencesInPermissionSet`
### Viewing Identity Center Entitlements
After you've [aggregated](https://documentation.sailpoint.com/saas/help/accounts/loading_data.html) your source, you can view the collected Identity Center entitlements on the Entitlements tab of the CIEM AWS source.
SailPoint CIEM uses the AWS Identity Center Groups and AccountPermissionSet entitlements to identify cloud access. They are comprised of the following fixed schemas:
#### Identity Center Group Schema
| Attribute | Type | Description |
| --------- | ------ | ---------------------------------------------------- |
| GroupId | string | The Unique Identifier for the group |
| GroupName | string | The display name of the group |
| GroupType | string | Group is either Federated, Local Federated, or Local |
#### AccountPermissionSet Schema
| Attribute | Type | Description |
| ---------------------- | ------ | -------------------------------------------------------------- |
| AWSAccountName | string | The Account Name of associated AWS account |
| AWSAccountId | string | The Account Id of the associated AWS account |
| AccountPermissionSetId | string | Unique Id for the entitlement |
| PermissionSetName | string | The Name of the Permission Set associated with this assignment |
| DisplayName | string | The Display name for the AccountPermissionSet |
| Permission Set ARN | string | The ARN of the Permission Set |
## Marking AWS Cloud-Enabled Entitlement Types
When your entitlements are pulled from your AWS cloud environment, you must mark the [AWS IAM](#marking-aws-iam-entitlements) entitlement types that relate to cloud access. If you use [AWS Identity Center](#marking-aws-identity-center-entitlements), you must also mark those entitlements as cloud enabled on the CIEM AWS source.
Identifying these entitlements as cloud enabled will display cloud access details for human identities with those entitlements. It will also allow certification campaign reviewers to view the cloud access details on cloud entitlements included in certification campaigns for AWS cloud infrastructure users.
### Marking AWS IAM Entitlements
On the AWS IAM source, you must mark the [supported entitlements](#supported-entitlement-types) as cloud enabled to allow SailPoint CIEM to display the cloud access granted by AWS entitlements.
To mark entitlements as cloud enabled on the *AWS IAM* source:
1. Go to **Admin > Connections > Sources**.
1. Select or edit the [AWS SaaS or VA-based source](https://documentation.sailpoint.com/saas/help/ciem/aws/connect_aws.html#connector-options).
1. In the **Entitlement Management** section, select **Entitlement Types and Schemas**.
1. [Edit the entitlement type](https://documentation.sailpoint.com/saas/help/loading_entitlements/entitlement_types.html#editing-an-entitlement-type) and select the **Cloud Enabled** checkbox for the following entitlements:
- `Groups`
- `AWSManagedPolicy`
- `CustomerManagedPolicy`
- `InlinePolicy`
1. Select **Update**.
You can now view an identity's cloud access granted through entitlements and add cloud-based entitlement types to certification campaigns to allow certifiers to view the [effective access](https://documentation.sailpoint.com/saas/help/ciem/viewing_cloud_access.html#viewing-effective-access) your AWS IAM users have to your AWS resources.
Important
If you are using AWS Identity Center, you must also [mark your AWS Identity Center entitlements](#marking-aws-identity-center-entitlements) as cloud enabled.
### Marking AWS Identity Center Entitlements
If you use AWS Identity Center, you must mark the [supported](#supported-entitlement-types) Identity Center entitlements as cloud enabled to allow SailPoint CIEM to display the cloud access granted by Identity Center entitlements.
To mark entitlements as cloud enabled on the *CIEM AWS* source:
1. Go to **Admin > Connections > Sources**.
1. Select or edit the [CIEM AWS](https://documentation.sailpoint.com/saas/help/ciem/aws/connect_aws.html#using-the-sailpoint-ciem-aws-connector) source.
1. In the **Entitlement Management** section, select **Entitlement Types and Schemas**.
1. [Edit the entitlement type](https://documentation.sailpoint.com/saas/help/loading_entitlements/entitlement_types.html#editing-an-entitlement-type) and select the **Cloud Enabled** checkbox for the following entitlements:
- `Groups`
- `AccountPermissionSet`
1. Select **Update**.
ICAccountAssignment Entitlement
SailPoint CIEM previously used the `ICAccountAssignment` Identity Center entitlement. That has been changed to `AccountPermissionSet`. You must mark `AccountPermissionSet` as cloud enabled to continue receiving your Identity Center cloud data.
SailPoint CIEM can now display the [effective access](#viewing-effective-access-to-aws-resources) users have to your AWS cloud resources.
## Provisioning Identity Center Directory Accounts
If you are using the Identity Center directory as your [identity source](https://docs.aws.amazon.com/singlesignon/latest/userguide/manage-your-identity-source.html), as opposed to Active Directory or another external IdP, you can [provision](https://documentation.sailpoint.com/saas/help/provisioning/index.html) Identity Center accounts in Identity Security Cloud.
The IdentityStore API does not support updating a user's password or enabling and disabling users. Therefore, password provisioning and account enable/disable operations are not supported.
You can enable Identity Center directory account provisioning in your [CIEM AWS](https://documentation.sailpoint.com/saas/help/ciem/aws/connect_aws.html#id-center-dir) source.
## Viewing Effective Access to AWS Resources
After [marking your entitlement types](#marking-aws-cloud-enabled-entitlement-types) and gathering data from your cloud sources, you can view the effective access cloud-enabled entitlements provide to resources. This includes access provided through [roles the user can assume](#viewing-aws-assumable-roles).
You can also include cloud-enabled entitlements in certification campaigns to allow your certifiers to refer to [cloud access details](https://documentation.sailpoint.com/saas/help/ciem/viewing_cloud_access.html) like the last level of access and type of action taken on the resource when making access decisions.
Note
Some CloudTrail entries delivered by AWS services do not contain the `Resource` attribute, which is used to display the last activity on an AWS resource. Your certifiers will still see how the resource was accessed, but might not have full activity data details.
### Mapping AWS Permissions on Resources
AWS resources in the effective access view display permissions as Read, Write, or Admin. These levels summarize the IAM actions granted to the identity for that resource.
SailPoint CIEM maps each AWS action to a permission level using the access levels defined in the [AWS service authorization reference](https://docs.aws.amazon.com/service-authorization/latest/reference/reference_policies_actions-resources-contextkeys.html). When an action has multiple AWS access levels, SailPoint CIEM uses the highest resulting permission level from the table. For example, an action with both `Write` and `PermissionManagement` access levels is classified as Admin.
| AWS Access Level | SailPoint CIEM Permission |
| --------------------------------- | ------------------------- |
| `Read` | Read |
| `List` | Read |
| `Tagging` | Write |
| `Write` | Write |
| `PermissionManagement` | Admin |
| `List`, `Tagging` | Write |
| `List`, `Write` | Write |
| `Tagging`, `Write` | Write |
| `List`, `PermissionManagement` | Admin |
| `Tagging`, `PermissionManagement` | Admin |
| `Write`, `PermissionManagement` | Admin |
This mapping is used when you view [effective access](https://documentation.sailpoint.com/saas/help/ciem/viewing_cloud_access.html#viewing-effective-access), certification [cloud access details](https://documentation.sailpoint.com/saas/user-help/certs/reviewing/viewing_cloud_details.html), and [search on cloud resources](https://documentation.sailpoint.com/saas/help/search/searchable-fields.html#searching-cloud-resources).
### Viewing AWS Assumable Roles
If the entitlement is on an AWS source and grants access to an AWS resource, you can select **Assumable Roles**. If the identity can assume AWS IAM roles, including roles that can be indirectly reached through [role chaining](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles.html#iam-term-role-chaining), they can be selected from the **Role** field to display the associated resources and privileges.
For a visual representation of how the user can access the specified role through the chosen entitlement, or all entitlements, select [**View Access Paths**](https://documentation.sailpoint.com/saas/help/ciem/viewing_cloud_access.html#viewing-access-paths) above the table. You can switch between viewing the entitlement role path or all role paths.
To see the access paths the role has to a specific resource, select **View** in the **Access Paths** column of the table.
# Connecting AWS and SailPoint CIEM
Once you have [configured](https://documentation.sailpoint.com/saas/help/ciem/aws/config/index.html) your Amazon Web Services (AWS) account, you will enter that configuration information in Identity Security Cloud to enable SailPoint CIEM to display the effective access users have on collected AWS cloud resources.
Depending on your [implementation](#implementation-options), you will use one or more [connectors](#connector-options) to allow SailPoint to connect to your AWS data.
After you've connected and aggregated your cloud accounts and entitlements, you will mark your [IAM](https://documentation.sailpoint.com/saas/help/ciem/aws/aws_entitlements.html#marking-aws-iam-entitlements) and/or [AWS Identity Center](https://documentation.sailpoint.com/saas/help/ciem/aws/aws_entitlements.html#marking-aws-identity-center-entitlements) entitlements as cloud enabled. This will allow you to [view the cloud access](https://documentation.sailpoint.com/saas/help/ciem/viewing_cloud_access.html) granted through entitlements and include those entitlements in certification campaigns.
Select your implementation type:
- [IAM and Identity Center users](#governing-both-iam-and-identity-center-users)
- [IAM Users only](#governing-iam-users-without-identity-center)
- [Identity Center users only](#using-aws-identity-center-without-iam)
## Implementation Options
You can use SailPoint CIEM and Identity Security Cloud to AWS to manage your IAM and Identity Center users.
| Implementation Option | AWS Connector | CIEM AWS Connector |
| ------------------------------------------------------------------------------------------ | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------ |
| [Govern both IAM and Identity Center users](#governing-both-iam-and-identity-center-users) | Select a connector to govern IAM users: - [SaaS-based connector (recommended)](https://documentation.sailpoint.com/connectors/saas/aws/help/saas_connectivity/aws/ciem_settings.html) - [VA-based connector](https://documentation.sailpoint.com/connectors/aws/help/integrating_aws/introduction.html) | [Connect CIEM AWS](#using-the-sailpoint-ciem-aws-connector) to manage Identity Center users. |
| [Govern IAM users without Identity Center](#governing-iam-users-without-identity-center) | Select a connector to govern IAM users: - [SaaS-based connector (recommended)](https://documentation.sailpoint.com/connectors/saas/aws/help/saas_connectivity/aws/ciem_settings.html) - [VA-based connector](https://documentation.sailpoint.com/connectors/aws/help/integrating_aws/introduction.html) (requires CIEM AWS connector as well) | If you use a VA-based connection, you must also [connect CIEM AWS](#using-the-sailpoint-ciem-aws-connector). |
| [Manage Identity Center users only](#using-aws-identity-center-without-iam) | N/A | [Connect CIEM AWS](#using-the-sailpoint-ciem-aws-connector) |
Important
You cannot enable CIEM in the AWS SaaS connector if you are also using the CIEM connector for the same management account. The CIEM connector will still collect data for AWS SaaS accounts and entitlements as long as they are [marked as cloud enabled](https://documentation.sailpoint.com/saas/help/ciem/aws/aws_entitlements.html#marking-aws-cloud-enabled-entitlement-types).
You may connect your AWS and CIEM AWS sources in any order.
### Governing Both IAM and Identity Center Users
To use Identity Security Cloud and SailPoint CIEM to govern both your AWS IAM and Identity Center identities, you must configure two connectors.
1. Select a SaaS or VA-based connector to govern IAM users:
- [SaaS-based connector (recommended)](https://documentation.sailpoint.com/connectors/saas/aws/help/saas_connectivity/aws/ciem_settings.html)
- (Optional) [Set source scope for IAM accounts](#setting-source-scope-in-the-aws-saas-connector).
- [VA-based connector](https://documentation.sailpoint.com/connectors/aws/help/integrating_aws/introduction.html)
1. [Connect CIEM AWS](#connecting-aws-and-sailpoint-ciem) to include Identity Center accounts.
- (Optional) [Set source scope for SailPoint CIEM](#setting-source-scope-in-the-ciem-aws-connector).
- (Optional) Edit the [regions](#configuring-regional-collection) CIEM collects data from.
1. [Mark the entitlements](https://documentation.sailpoint.com/saas/help/ciem/aws/aws_entitlements.html#marking-aws-cloud-enabled-entitlement-types) (required).
1. Aggregate the SaaS or VA-based IAM source you configured in step 1.
1. Aggregate the CIEM AWS source you configured in step 2.
### Governing IAM Users Without Identity Center
If you are not using AWS Identity Center, you can govern IAM users using one or more connectors, depending on your connection type.
1. Configure the SaaS or VA-based connector to govern IAM users:
- [SaaS-based connector (recommended)](https://documentation.sailpoint.com/connectors/saas/aws/help/saas_connectivity/aws/ciem_settings.html)
- (Optional) [Set source scope for IAM accounts](#setting-source-scope-in-the-aws-saas-connector).
- [VA-based connector](https://documentation.sailpoint.com/connectors/aws/help/integrating_aws/introduction.html) (requires [CIEM AWS connector](#using-the-sailpoint-ciem-aws-connector) as well)
1. If you selected the VA-based connector, configure the [CIEM AWS connector](#connecting-aws-and-sailpoint-ciem) as well.
- (Optional) Edit the [regions](#configuring-regional-collection) CIEM collects data from.
- (Optional) Set the scopes for cloud data collected by the CIEM AWS connector.
1. [Mark the entitlements](https://documentation.sailpoint.com/saas/help/ciem/aws/aws_entitlements.html#marking-aws-cloud-enabled-entitlement-types) (required).
1. Aggregate the SaaS or VA-based IAM source you configured in step 1.
1. If you chose the VA-based connector, aggregate the CIEM AWS source you configured in step 2.
### Using AWS Identity Center Without IAM
If you are using SailPoint CIEM for Identity Center management, and not IAM user management, you only need to configure the [CIEM AWS](#connecting-aws-and-sailpoint-ciem) connector.
1. Configure the [CIEM AWS connector](#connecting-aws-and-sailpoint-ciem).
- (Optional) Edit the [regions](#configuring-regional-collection) CIEM collects data from.
- (Optional) Set the [scopes](#setting-source-scope-in-the-ciem-aws-connector) for SailPoint CIEM to include.
1. [Mark the entitlements](https://documentation.sailpoint.com/saas/help/ciem/aws/aws_entitlements.html#marking-aws-cloud-enabled-entitlement-types) (required).
1. Aggregate the CIEM AWS connector.
## Connector Options
Depending on your [implementation](#implementation-options), you might need to provide your AWS configuration information in one or more connectors for Identity Security Cloud.
| | |
| --------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **AWS connector** | Allows you to manage your AWS IAM users and groups in Identity Security Cloud. If your organization has licensed a SailPoint cloud management solution, it will also gather data about the cloud access granted to users through policies, roles, organization unit, and AWS accounts. You can use the [SaaS-based (recommended)](https://documentation.sailpoint.com/connectors/saas/aws/help/saas_connectivity/aws/ciem_settings.html) or [VA-based AWS](https://documentation.sailpoint.com/connectors/aws/help/integrating_aws/introduction.html) connector. |
| [**SailPoint CIEM AWS connector**](#using-the-sailpoint-ciem-aws-connector) | Works with your AWS connector to collect cloud resource data and display the total access an identity has to your cloud systems. This connector is required to manage your Identity Center users and groups. |
### Using the SailPoint CIEM AWS Connector
The SailPoint CIEM AWS source pulls daily data about the cloud resources users can access. Users can be IAM, AWS Identity Center, Entra IDP, or Okta IDP. Depending on your [implementation](#implementation-options), you might also need the AWS connector.
Note
The CIEM AWS connector supports organization instances of Identity Center. Account instances are not supported. Refer to [Organization and account instances of IAM Identity Center](https://docs.aws.amazon.com/singlesignon/latest/userguide/identity-center-instances.html) for more information.
You can use the information from [verifying your configuration](https://documentation.sailpoint.com/saas/help/ciem/aws/config/verify_aws_config.html) to register SailPoint CIEM:
1. Go to **Admin > Connections > Sources > Create New**.
1. Find the **CIEM AWS** source type and select **Configure**.
1. Enter a source name.
1. Enter a description for your source.
1. In the **Source Owner** field, begin typing the name of an owner. Matches appear after you type two letters.
1. (Optional) Select a [governance group](https://documentation.sailpoint.com/saas/help/common/users/governance_groups.html) for source management.
1. Select **Connection Settings**.
1. Enter the Role ARN for the role generated when creating an IAM role. If you are using AWS Organizations, the role ARN should correspond to the management account’s role ARN.
1. The **External ID** field is autopopulated. You will copy the external ID to use when [configuring AWS](https://documentation.sailpoint.com/saas/help/ciem/aws/config/index.html).
1. (Optional) Enter the CloudTrail ARN for an organization or individual member account. You can add up to 150 CloudTrail ARNs, separated by commas.
- Enter the AWS Account ID where the CloudTrail bucket is hosted.
1. If the source uses a [single account](https://documentation.sailpoint.com/saas/help/ciem/aws/config/config_aws_auto.html#collecting-data-from-single-aws-accounts) (as opposed to the [organization account](https://documentation.sailpoint.com/saas/help/ciem/aws/config/config_aws_auto.html#collecting-data-from-all-aws-accounts)) select the **Single Account** toggle.
Note
Identity Center accounts cannot be aggregated using a single account. To aggregate identity center users, ensure **Single Account** is not selected.
1. If you are using the Identity Center directory as your [identity source](https://docs.aws.amazon.com/singlesignon/latest/userguide/manage-your-identity-source.html), as opposed to Active Directory or another external IdP, select the **Provision Identity Center** toggle to enable provisioning of Identity Center accounts.
Important
- It is not recommended to enable both **Single Account** and **Provision Identity Center** because identity center accounts won't be aggregated or have entitlements provisioned.
- Due to limitations with the IdentityStore API, password provisioning and enabling and disabling accounts are not supported.
Required Provisioning String
To use Identity Store provisioning, ensure the CIEM AWS connector has the `PROVISIONING` feature string. You can check if provisioning is enabled using the Developer Tools or GET the source's endpoint to find:
```text
"features": [
"PROVISIONING"
],
```
If it is not enabled, you can use the [update-source API](https://developer.sailpoint.com/docs/api/v3/update-source/) to set and validate this using the following payload:
```text
{
"op": "add",
"path": "/features",
"value": "PROVISIONING"
}
```
1. Select **Save**.
1. Select **Review and Test**.
1. Review the configuration details and select **Test Connection**. A successful test is required for SailPoint CIEM to gather data for this source.
Notes
- CloudTrail ARNs are tested asynchronously. If a CloudTrail cannot be connected, an error will display in the [event logs](https://documentation.sailpoint.com/saas/help/ciem/viewing_cloud_access.html#viewing-sailpoint-ciem-event-logs).
- If the test connection fails, you can use the [Search](https://documentation.sailpoint.com/saas/help/search/index.html) query `name:“Test_connection Source Failed”` for more information.
1. (Optional) [Enable native change detection](https://documentation.sailpoint.com/saas/help/sources/native_change_detection.html). You can monitor your AWS Identity Center [Groups](https://documentation.sailpoint.com/saas/help/ciem/aws/aws_entitlements.html#identity-center-group-schema) and [AccountPermissionSet](https://documentation.sailpoint.com/saas/help/ciem/aws/aws_entitlements.html#accountpermissionset-schema) entitlement attributes for changes made outside of Identity Security Cloud, as well as non-entitlement attributes.
1. Select **Save**.
After a successful test connection, you can optionally edit which regions CIEM collects data from or change the source scope. When you complete your configurations, you will aggregate and mark the entitlements.
Choose your next step based on your implementation
- Edit which [regions](#configuring-regional-collection) CIEM collects data from (optional)
- [Set source scope](#setting-source-scope) (optional)
- [Aggregate](https://documentation.sailpoint.com/saas/help/accounts/loading_data.html) and [mark the entitlements](https://documentation.sailpoint.com/saas/help/ciem/aws/aws_entitlements.html#marking-aws-cloud-enabled-entitlement-types) (required)
## Configuring Regional Collection
CIEM data collection includes global service resources and associated activity data. You can edit which AWS regions are included.
Note
Regional collection is not available for the SailPoint [VA-based connector](#connector-options).
1. In the *CIEM AWS* or *AWS SaaS* source, select **Regional Collection** under **Additional Settings**.
Important
The regional collection on the AWS SaaS source only controls SailPoint CIEM and not the regular IAM account and entitlement aggregation.
1. Use the checkboxes in the **Enable Collection** column to choose which regions CIEM collects data from.
1. Select **Save**.
## Setting Source Scope
By default, SailPoint CIEM reads and automatically discovers changes to your cloud infrastructure. You can choose to exclude scopes to prevent SailPoint CIEM from including data for those accounts.
Based on your [implementation](#implementation-options), you can choose to edit the scope of IAM accounts gathered by the AWS SaaS connector and/or the scope of the cloud data gathered by SailPoint CIEM in the CIEM AWS connector.
You can use the [CIEM event triggers](https://documentation.sailpoint.com/saas/help/workflows/workflow-triggers.html#ciem-triggers) in workflows to be notified about scope changes.
Notes
- You can search for scopes as well as filter by selected and unselected scopes.
- The Last Refreshed time is when changes to your source inventory were last detected by SailPoint CIEM. This is separate from aggregation.
### Scope Limits
There are limits to the number of scopes you can select based on whether you are gathering inventory data to view effective access, activity data to view last access, or both. To gather both inventory and activity data, you must adhere to the smaller of the two limits.
- Inventory Data (Effective Access) - 9,000 accounts
- Activity Data (Last Access) - 3,000 accounts
- Both - 3,000 accounts
### Setting Source Scope in the AWS SaaS Connector
Selecting the source scope in the *AWS SaaS* source controls the data that is gathered for IAM management.
If you are using SailPoint to [govern both IAM users and Identity Center users](#governing-both-iam-and-identity-center-users), you can choose to set cloud scopes in the AWS SaaS connector to govern IAM accounts and configure the scopes of cloud data gathered by the [CIEM AWS connector](#setting-source-scope-in-the-ciem-aws-connector), including Identity Center accounts.
To change the scope of your included source data in the *AWS Source*, refer to [AWS Account Settings](https://documentation.sailpoint.com/connectors/saas/aws/help/saas_connectivity/aws/account_settings.html).
### Setting Source Scope in the CIEM AWS Connector
You can change the scope for cloud data gathered by the CIEM AWS connector. This is separate from the cloud scopes for IAM users in the [AWS SaaS source](#setting-source-scope-in-the-aws-saas-connector).
1. In the *CIEM AWS* source, select **Cloud Scopes** under **Additional Settings**.
1. Select which cloud scopes to include:
- To automatically include data from all cloud accounts, enable **Auto-Include Scopes**. Deselecting a scope disables Auto-Include Scopes.
- To include a subset of accounts, use the checkboxes to change which scopes are included.
1. Select **Save**.
SailPoint CIEM will now only read and include cloud data from your selected scopes. When Auto-Include Scopes is disabled, new and deleted accounts in your cloud system will be detected, but SailPoint CIEM will not automatically include data from new scopes until you select the accounts individually or reenable Auto-Include Scopes.
Notes
- AWS Bedrock resources might display cloud scope errors if you have not [enabled collection](https://documentation.sailpoint.com/saas/help/ciem/aws/config/aws_permission_sets.html#collecting-amazon-bedrock-data).
- You can search for scopes as well as filter by excluded scopes and scopes with errors.
- The **Discovered by CIEM** column displays when changes to your source inventory were last detected by SailPoint CIEM. This is separate from aggregation.
# Configuring Amazon Web Services
SailPoint CIEM collects data on access paths and how networks, objects, and human identities could gain access to your organization's Amazon Web Services (AWS) cloud resources. You'll need to give SailPoint CIEM read-only access to your AWS infrastructure to create an inventory and optionally read activity data in your CloudTrail bucket.
SailPoint provides CloudFormation templates to automate the role and policy creation for AWS Organizations and single AWS source accounts.
Important
Configure your AWS tenant and [Identity Security Cloud connectors](https://documentation.sailpoint.com/saas/help/ciem/aws/connect_aws.html) concurrently.
- To configure your AWS tenant, you will need the external ID provided by SailPoint when configuring the AWS connector.
- To connect to Identity Security Cloud, you will need the Role ARN, and optionally the CloudTrail ARNs, from your AWS tenant.
Choose your next step based on your configuration
- [Collect Data from All AWS Accounts (recommended)](https://documentation.sailpoint.com/saas/help/ciem/aws/config/config_aws_auto.html#collecting-data-from-all-aws-accounts)
- [Collect Data from Single AWS Accounts](https://documentation.sailpoint.com/saas/help/ciem/aws/config/config_aws_auto.html#collecting-data-from-single-aws-accounts)
## Collected AWS Resources and Activity
SailPoint's AWS account assumes an AWS role with the sufficient permissions to read and list resource metadata and collect activity data.
- IAM users, groups, and policies
- Identity Center users, groups, and permission sets
- Cloud resources like EC2, S3, and Functions
- CloudTrail logs of all activity in AWS
- SNS
- S3
# AWS Permission Sets
If you want to use a custom IAM policy, it must contain the [minimum permissions](#minimum-permissions) SailPoint CIEM needs to read your AWS accounts. You'll use these permissions when configuring your AWS account.
If you are using AWS for [Identity Center](#identity-center-provisioning-policy-requirements) provisioning, you must add additional permissions to the IAM policy to display data about those resources in SailPoint CIEM.
After [connecting AWS and SailPoint CIEM](https://documentation.sailpoint.com/saas/help/ciem/aws/connect_aws.html), you'll use these permissions when [configuring your AWS account](https://documentation.sailpoint.com/saas/help/ciem/aws/config/config_aws_auto.html).
## Minimum Permissions
The following IAM policy statements show the minimum permissions required to read from your **Commercial** or **GovCloud** AWS accounts. This includes support for collecting [Amazon Bedrock](#collecting-amazon-bedrock-data) data.
IAM policy statements
```json
{
"Version":"2012-10-17",
"Statement":[
{
"Effect":"Allow",
"Resource":"*",
"Action":[
"bedrock-agentcore:GetAgentRuntime",
"bedrock-agentcore:GetAgentRuntimeEndpoint",
"bedrock-agentcore:GetApiKeyCredentialProvider",
"bedrock-agentcore:GetGateway",
"bedrock-agentcore:GetGatewayTarget",
"bedrock-agentcore:GetOauth2CredentialProvider",
"bedrock-agentcore:GetWorkloadIdentity",
"bedrock-agentcore:ListAgentRuntimeEndpoints",
"bedrock-agentcore:ListAgentRuntimes",
"bedrock-agentcore:ListAgentRuntimeVersions",
"bedrock-agentcore:ListApiKeyCredentialProviders",
"bedrock-agentcore:ListGateways",
"bedrock-agentcore:ListGatewayTargets",
"bedrock-agentcore:ListOauth2CredentialProviders",
"bedrock-agentcore:ListTagsForResource",
"bedrock-agentcore:ListWorkloadIdentities",
"bedrock:GetAgent",
"bedrock:GetAgentAlias",
"bedrock:GetKnowledgeBase",
"bedrock:ListAgentActionGroups",
"bedrock:ListAgentAliases",
"bedrock:ListAgentKnowledgeBases",
"bedrock:ListAgents",
"bedrock:ListAgentVersions",
"cloudtrail:DescribeTrails",
"cloudtrail:GetEventSelectors",
"cloudtrail:GetTrailStatus",
"cloudtrail:ListTags",
"cloudtrail:LookupEvents",
"cloudwatch:Describe*",
"cloudwatch:ListTagsForResource",
"dynamodb:DescribeGlobalTable",
"dynamodb:DescribeTable",
"dynamodb:DescribeTimeToLive",
"dynamodb:ListGlobalTables",
"dynamodb:ListStreams",
"dynamodb:ListTables",
"dynamodb:ListTagsOfResource",
"ec2:Describe*",
"ec2:DescribeTransitGatewayAttachments",
"ec2:DescribeTransitGatewayMulticastDomains",
"ec2:DescribeTransitGatewayPeeringAttachments",
"ec2:DescribeTransitGatewayRouteTables",
"ec2:DescribeTransitGatewayVpcAttachments",
"ec2:DescribeTransitGateways",
"ec2:GetManagedPrefixListAssociations",
"ec2:GetManagedPrefixListEntries",
"ec2:GetTransitGatewayAttachmentPropagations",
"ec2:GetTransitGatewayMulticastDomainAssociations",
"ec2:GetTransitGatewayPrefixListReferences",
"ec2:GetTransitGatewayRouteTableAssociations",
"ec2:GetTransitGatewayRouteTablePropagations",
"elasticloadbalancing:Describe*",
"iam:GenerateCredentialReport",
"iam:GenerateServiceLastAccessedDetails",
"iam:Get*",
"iam:List*",
"iam:SimulateCustomPolicy",
"iam:SimulatePrincipalPolicy",
"identitystore:ListUsers(1)",
"identitystore:ListGroupMemberships",
"identitystore:ListGroups",
"kms:Describe*",
"kms:Get*",
"kms:List*",
"lambda:GetFunctionConfiguration",
"lambda:GetFunctionEventInvokeConfig",
"lambda:GetLayerVersionPolicy",
"lambda:GetPolicy",
"lambda:List*",
"organizations:Describe*",
"organizations:List*",
"rds:Describe*",
"rds:ListTagsForResource",
"s3:GetAccessPoint",
"s3:GetAccessPointPolicy",
"s3:GetAccessPointPolicyStatus",
"s3:GetAccountPublicAccessBlock",
"s3:GetAnalyticsConfiguration",
"s3:GetBucket*",
"s3:GetEncryptionConfiguration",
"s3:GetInventoryConfiguration",
"s3:GetObjectAcl",
"s3:GetObjectVersionAcl",
"s3:GetReplicationConfiguration",
"s3:ListAccessPoints",
"s3:ListAllMyBuckets",
"sns:GetTopicAttributes",
"sns:ListSubscriptions",
"sns:ListSubscriptionsByTopic",
"sns:ListTagsForResource",
"sns:ListTopics",
"sqs:GetQueueAttributes",
"sqs:ListDeadLetterSourceQueues",
"sqs:ListQueueTags",
"sqs:ListQueues",
"sso:DescribePermissionSet(2)",
"sso:GetInlinePolicyForPermissionSet",
"sso:GetPermissionsBoundaryForPermissionSet",
"sso:ListAccountAssignments",
"sso:ListAccountsForProvisionedPermissionSet",
"sso:ListCustomerManagedPolicyReferencesInPermissionSet",
"sso:ListInstances",
"sso:ListManagedPoliciesInPermissionSet",
"sso:ListPermissionSets",
"tag:GetResources",
"tag:GetTagKeys"
]
}
]
}
```
1. Identity store permissions are related to AWS Identity Center.
1. SSO permissions are related to AWS Identity Center.
```json
{
"Version":"2012-10-17",
"Statement":[
{
"Effect":"Allow",
"Resource":"*",
"Action":[
"bedrock-agentcore:GetAgentRuntime",
"bedrock-agentcore:GetAgentRuntimeEndpoint",
"bedrock-agentcore:GetApiKeyCredentialProvider",
"bedrock-agentcore:GetGateway",
"bedrock-agentcore:GetGatewayTarget",
"bedrock-agentcore:GetOauth2CredentialProvider",
"bedrock-agentcore:GetWorkloadIdentity",
"bedrock-agentcore:ListAgentRuntimeEndpoints",
"bedrock-agentcore:ListAgentRuntimes",
"bedrock-agentcore:ListAgentRuntimeVersions",
"bedrock-agentcore:ListApiKeyCredentialProviders",
"bedrock-agentcore:ListGateways",
"bedrock-agentcore:ListGatewayTargets",
"bedrock-agentcore:ListOauth2CredentialProviders",
"bedrock-agentcore:ListTagsForResource",
"bedrock-agentcore:ListWorkloadIdentities",
"bedrock:GetAgent",
"bedrock:GetAgentAlias",
"bedrock:GetKnowledgeBase",
"bedrock:ListAgentActionGroups",
"bedrock:ListAgentAliases",
"bedrock:ListAgentKnowledgeBases",
"bedrock:ListAgents",
"bedrock:ListAgentVersions",
"cloudtrail:DescribeTrails",
"cloudtrail:GetEventSelectors",
"cloudtrail:GetTrailStatus",
"cloudtrail:ListTags",
"cloudtrail:LookupEvents",
"cloudwatch:Describe*",
"cloudwatch:ListTagsForResource",
"dynamodb:DescribeGlobalTable",
"dynamodb:DescribeTable",
"dynamodb:DescribeTimeToLive",
"dynamodb:ListGlobalTables",
"dynamodb:ListStreams",
"dynamodb:ListTables",
"dynamodb:ListTagsOfResource",
"ec2:Describe*",
"ec2:DescribeTransitGatewayAttachments",
"ec2:DescribeTransitGatewayMulticastDomains",
"ec2:DescribeTransitGatewayPeeringAttachments",
"ec2:DescribeTransitGatewayRouteTables",
"ec2:DescribeTransitGatewayVpcAttachments",
"ec2:DescribeTransitGateways",
"ec2:GetManagedPrefixListAssociations",
"ec2:GetManagedPrefixListEntries",
"ec2:GetTransitGatewayAttachmentPropagations",
"ec2:GetTransitGatewayMulticastDomainAssociations",
"ec2:GetTransitGatewayPrefixListReferences",
"ec2:GetTransitGatewayRouteTableAssociations",
"ec2:GetTransitGatewayRouteTablePropagations",
"elasticloadbalancing:Describe*",
"iam:GenerateCredentialReport",
"iam:GenerateServiceLastAccessedDetails",
"iam:Get*",
"iam:List*",
"iam:SimulateCustomPolicy",
"iam:SimulatePrincipalPolicy",
"identitystore:ListUsers(1)",
"identitystore:ListGroupMemberships",
"identitystore:ListGroups",
"kms:Describe*",
"kms:Get*",
"kms:List*",
"lambda:GetFunctionConfiguration",
"lambda:GetFunctionEventInvokeConfig",
"lambda:GetLayerVersionPolicy",
"lambda:GetPolicy",
"lambda:List*",
"organizations:Describe*",
"organizations:List*",
"rds:Describe*",
"rds:ListTagsForResource",
"s3:GetAccessPoint",
"s3:GetAccessPointPolicy",
"s3:GetAccessPointPolicyStatus",
"s3:GetAccountPublicAccessBlock",
"s3:GetAnalyticsConfiguration",
"s3:GetBucket*",
"s3:GetEncryptionConfiguration",
"s3:GetInventoryConfiguration",
"s3:GetObjectAcl",
"s3:GetObjectVersionAcl",
"s3:GetReplicationConfiguration",
"s3:ListAccessPoints",
"s3:ListAllMyBuckets",
"sns:GetTopicAttributes",
"sns:ListSubscriptions",
"sns:ListSubscriptionsByTopic",
"sns:ListTagsForResource",
"sns:ListTopics",
"sqs:GetQueueAttributes",
"sqs:ListDeadLetterSourceQueues",
"sqs:ListQueueTags",
"sqs:ListQueues",
"sso:DescribePermissionSet(2)",
"sso:GetInlinePolicyForPermissionSet",
"sso:GetPermissionsBoundaryForPermissionSet",
"sso:ListAccountAssignments",
"sso:ListAccountsForProvisionedPermissionSet",
"sso:ListCustomerManagedPolicyReferencesInPermissionSet",
"sso:ListInstances",
"sso:ListManagedPoliciesInPermissionSet",
"sso:ListPermissionSets",
"tag:GetResources",
"tag:GetTagKeys"
]
}
]
}
```
1. Identity store permissions are related to AWS Identity Center.
1. SSO permissions are related to AWS Identity Center.
### Collecting Amazon Bedrock Data
The [minimum permissions](#minimum-permissions) include support for collecting Amazon Bedrock and Amazon Bedrock AgentCore data and displaying the effective access and access paths for human identities to those agents, including who has read, write, and admin privileges to those resources.
Note
- Amazon Bedrock permissions are not required for a successful test connection.
- If you do not include the Amazon Bedrock permissions in your custom IAM policy, you might see errors on [cloud scopes](https://documentation.sailpoint.com/saas/help/ciem/aws/connect_aws.html#setting-source-scope) for Amazon Bedrock accounts.
## Identity Center Provisioning Policy Requirements
To use AWS Identity Center for provisioning, SailPoint CIEM requires additional permissions. The following policy includes the [minimum permissions](#minimum-permissions) and the Identity Center provisioning requirements. Permissions specific to the Identity Center are highlighted.
Use the **Commercial** or **GovCloud** tab to view the minimum permissions SailPoint CIEM requires to use Identity Center for provisioning your AWS Identity Center accounts.
Identity Center provisioning permissions
```json
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Resource": "*",
"Action": [
"bedrock-agentcore:GetAgentRuntime",
"bedrock-agentcore:GetAgentRuntimeEndpoint",
"bedrock-agentcore:GetApiKeyCredentialProvider",
"bedrock-agentcore:GetGateway",
"bedrock-agentcore:GetGatewayTarget",
"bedrock-agentcore:GetOauth2CredentialProvider",
"bedrock-agentcore:GetWorkloadIdentity",
"bedrock-agentcore:ListAgentRuntimeEndpoints",
"bedrock-agentcore:ListAgentRuntimes",
"bedrock-agentcore:ListAgentRuntimeVersions",
"bedrock-agentcore:ListApiKeyCredentialProviders",
"bedrock-agentcore:ListGateways",
"bedrock-agentcore:ListGatewayTargets",
"bedrock-agentcore:ListOauth2CredentialProviders",
"bedrock-agentcore:ListTagsForResource",
"bedrock-agentcore:ListWorkloadIdentities",
"bedrock:GetAgent",
"bedrock:GetAgentAlias",
"bedrock:GetKnowledgeBase",
"bedrock:ListAgentActionGroups",
"bedrock:ListAgentAliases",
"bedrock:ListAgentKnowledgeBases",
"bedrock:ListAgents",
"bedrock:ListAgentVersions",
"cloudtrail:DescribeTrails",
"cloudtrail:GetEventSelectors",
"cloudtrail:GetTrailStatus",
"cloudtrail:ListTags",
"cloudtrail:LookupEvents",
"cloudwatch:Describe*",
"cloudwatch:ListTagsForResource",
"dynamodb:DescribeGlobalTable",
"dynamodb:DescribeTable",
"dynamodb:DescribeTimeToLive",
"dynamodb:ListGlobalTables",
"dynamodb:ListStreams",
"dynamodb:ListTables",
"dynamodb:ListTagsOfResource",
"ec2:Describe*",
"ec2:DescribeTransitGatewayAttachments",
"ec2:DescribeTransitGatewayMulticastDomains",
"ec2:DescribeTransitGatewayPeeringAttachments",
"ec2:DescribeTransitGatewayRouteTables",
"ec2:DescribeTransitGatewayVpcAttachments",
"ec2:DescribeTransitGateways",
"ec2:GetManagedPrefixListAssociations",
"ec2:GetManagedPrefixListEntries",
"ec2:GetTransitGatewayAttachmentPropagations",
"ec2:GetTransitGatewayMulticastDomainAssociations",
"ec2:GetTransitGatewayPrefixListReferences",
"ec2:GetTransitGatewayRouteTableAssociations",
"ec2:GetTransitGatewayRouteTablePropagations",
"elasticloadbalancing:Describe*",
"iam:GenerateCredentialReport",
"iam:GenerateServiceLastAccessedDetails",
"iam:Get*",
"iam:List*",
"iam:SimulateCustomPolicy",
"iam:SimulatePrincipalPolicy",
"identitystore:ListUsers(1)",
"identitystore:ListGroupMemberships",
"identitystore:ListGroups",
"kms:Describe*",
"kms:Get*",
"kms:List*",
"lambda:GetFunctionConfiguration",
"lambda:GetFunctionEventInvokeConfig",
"lambda:GetLayerVersionPolicy",
"lambda:GetPolicy",
"lambda:List*",
"organizations:Describe*",
"organizations:List*",
"rds:Describe*",
"rds:ListTagsForResource",
"s3:GetAccessPoint",
"s3:GetAccessPointPolicy",
"s3:GetAccessPointPolicyStatus",
"s3:GetAccountPublicAccessBlock",
"s3:GetAnalyticsConfiguration",
"s3:GetBucket*",
"s3:GetEncryptionConfiguration",
"s3:GetInventoryConfiguration",
"s3:GetObjectAcl",
"s3:GetObjectVersionAcl",
"s3:GetReplicationConfiguration",
"s3:ListAccessPoints",
"s3:ListAllMyBuckets",
"sns:GetTopicAttributes",
"sns:ListSubscriptions",
"sns:ListSubscriptionsByTopic",
"sns:ListTagsForResource",
"sns:ListTopics",
"sqs:GetQueueAttributes",
"sqs:ListDeadLetterSourceQueues",
"sqs:ListQueueTags",
"sqs:ListQueues",
"sso:DescribePermissionSet(2)",
"sso:GetInlinePolicyForPermissionSet",
"sso:GetPermissionsBoundaryForPermissionSet",
"sso:ListAccountAssignments",
"sso:ListAccountsForProvisionedPermissionSet",
"sso:ListCustomerManagedPolicyReferencesInPermissionSet",
"sso:ListInstances",
"sso:ListManagedPoliciesInPermissionSet",
"sso:ListPermissionSets",
"tag:GetResources",
"tag:GetTagKeys"
]
},
{
"Effect": "Allow",
"Resource": "*",
"Action": [
"identitystore:GetGroupMembershipId",
"identitystore:GetUserId",
"identitystore:CreateGroupMembership",
"identitystore:CreateUser",
"identitystore:DeleteGroupMembership",
"identitystore:DeleteUser",
"identitystore:UpdateUser",
"sso:CreateAccountAssignment",
"sso:DeleteAccountAssignment",
"sso:ProvisionPermissionSet",
"iam:CreateSAMLProvider",
"iam:GetSAMLProvider",
"iam:UpdateSAMLProvider",
"iam:DeleteSAMLProvider",
"iam:PutRolePolicy"
]
}
]
}
```
1. Identity store permissions are related to AWS Identity Center.
1. SSO permissions are related to AWS Identity Center.
```json
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Resource": "*",
"Action": [
"bedrock-agentcore:GetAgentRuntime",
"bedrock-agentcore:GetAgentRuntimeEndpoint",
"bedrock-agentcore:GetApiKeyCredentialProvider",
"bedrock-agentcore:GetGateway",
"bedrock-agentcore:GetGatewayTarget",
"bedrock-agentcore:GetOauth2CredentialProvider",
"bedrock-agentcore:GetWorkloadIdentity",
"bedrock-agentcore:ListAgentRuntimeEndpoints",
"bedrock-agentcore:ListAgentRuntimes",
"bedrock-agentcore:ListAgentRuntimeVersions",
"bedrock-agentcore:ListApiKeyCredentialProviders",
"bedrock-agentcore:ListGateways",
"bedrock-agentcore:ListGatewayTargets",
"bedrock-agentcore:ListOauth2CredentialProviders",
"bedrock-agentcore:ListTagsForResource",
"bedrock-agentcore:ListWorkloadIdentities",
"bedrock:GetAgent",
"bedrock:GetAgentAlias",
"bedrock:GetKnowledgeBase",
"bedrock:ListAgentActionGroups",
"bedrock:ListAgentAliases",
"bedrock:ListAgentKnowledgeBases",
"bedrock:ListAgents",
"bedrock:ListAgentVersions",
"cloudtrail:DescribeTrails",
"cloudtrail:GetEventSelectors",
"cloudtrail:GetTrailStatus",
"cloudtrail:ListTags",
"cloudtrail:LookupEvents",
"cloudwatch:Describe*",
"cloudwatch:ListTagsForResource",
"dynamodb:DescribeGlobalTable",
"dynamodb:DescribeTable",
"dynamodb:DescribeTimeToLive",
"dynamodb:ListGlobalTables",
"dynamodb:ListStreams",
"dynamodb:ListTables",
"dynamodb:ListTagsOfResource",
"ec2:Describe*",
"ec2:DescribeTransitGatewayAttachments",
"ec2:DescribeTransitGatewayMulticastDomains",
"ec2:DescribeTransitGatewayPeeringAttachments",
"ec2:DescribeTransitGatewayRouteTables",
"ec2:DescribeTransitGatewayVpcAttachments",
"ec2:DescribeTransitGateways",
"ec2:GetManagedPrefixListAssociations",
"ec2:GetManagedPrefixListEntries",
"ec2:GetTransitGatewayAttachmentPropagations",
"ec2:GetTransitGatewayMulticastDomainAssociations",
"ec2:GetTransitGatewayPrefixListReferences",
"ec2:GetTransitGatewayRouteTableAssociations",
"ec2:GetTransitGatewayRouteTablePropagations",
"elasticloadbalancing:Describe*",
"iam:GenerateCredentialReport",
"iam:GenerateServiceLastAccessedDetails",
"iam:Get*",
"iam:List*",
"iam:SimulateCustomPolicy",
"iam:SimulatePrincipalPolicy",
"identitystore:ListUsers(1)",
"identitystore:ListGroupMemberships",
"identitystore:ListGroups",
"kms:Describe*",
"kms:Get*",
"kms:List*",
"lambda:GetFunctionConfiguration",
"lambda:GetFunctionEventInvokeConfig",
"lambda:GetLayerVersionPolicy",
"lambda:GetPolicy",
"lambda:List*",
"organizations:Describe*",
"organizations:List*",
"rds:Describe*",
"rds:ListTagsForResource",
"s3:GetAccessPoint",
"s3:GetAccessPointPolicy",
"s3:GetAccessPointPolicyStatus",
"s3:GetAccountPublicAccessBlock",
"s3:GetAnalyticsConfiguration",
"s3:GetBucket*",
"s3:GetEncryptionConfiguration",
"s3:GetInventoryConfiguration",
"s3:GetObjectAcl",
"s3:GetObjectVersionAcl",
"s3:GetReplicationConfiguration",
"s3:ListAccessPoints",
"s3:ListAllMyBuckets",
"sns:GetTopicAttributes",
"sns:ListSubscriptions",
"sns:ListSubscriptionsByTopic",
"sns:ListTagsForResource",
"sns:ListTopics",
"sqs:GetQueueAttributes",
"sqs:ListDeadLetterSourceQueues",
"sqs:ListQueueTags",
"sqs:ListQueues",
"sso:DescribePermissionSet(2)",
"sso:GetInlinePolicyForPermissionSet",
"sso:GetPermissionsBoundaryForPermissionSet",
"sso:ListAccountAssignments",
"sso:ListAccountsForProvisionedPermissionSet",
"sso:ListCustomerManagedPolicyReferencesInPermissionSet",
"sso:ListInstances",
"sso:ListManagedPoliciesInPermissionSet",
"sso:ListPermissionSets",
"tag:GetResources",
"tag:GetTagKeys"
]
},
{
"Effect": "Allow",
"Resource": "*",
"Action": [
"identitystore:GetGroupMembershipId",
"identitystore:GetUserId",
"identitystore:CreateGroupMembership",
"identitystore:CreateUser",
"identitystore:DeleteGroupMembership",
"identitystore:DeleteUser",
"identitystore:UpdateUser",
"sso:CreateAccountAssignment",
"sso:DeleteAccountAssignment",
"sso:ProvisionPermissionSet",
"iam:CreateSAMLProvider",
"iam:GetSAMLProvider",
"iam:UpdateSAMLProvider",
"iam:DeleteSAMLProvider",
"iam:PutRolePolicy"
]
}
]
}
```
1. Identity store permissions are related to AWS Identity Center.
1. SSO permissions are related to AWS Identity Center.
# Configuring AWS Automatically
SailPoint provides CloudFormation templates to automate the creation of IAM roles and policies, a CloudTrail trail, and an S3 Bucket. Different templates versions are available depending on your configuration preference and existing infrastructure.
Important
Configure your AWS tenant and [Identity Security Cloud connectors](https://documentation.sailpoint.com/saas/help/ciem/aws/connect_aws.html) concurrently since you will need the [external ID](https://documentation.sailpoint.com/saas/help/ciem/aws/connect_aws.html#auto-externalid) provided by SailPoint to complete your AWS configurations.
Choose your next step based on your configuration
- [Collect Data from All AWS Accounts (recommended)](#collecting-data-from-all-aws-accounts)
- [Collect Data from a Single AWS Account](#collecting-data-from-single-aws-accounts)
## Collecting Data from All AWS Accounts
SailPoint CIEM collects resources across all AWS accounts in an organization in two steps. First SailPoint CIEM lists all AWS accounts using the management account role with organization permissions, then assumes a role in each [member account](https://docs.aws.amazon.com/organizations/latest/userguide/orgs-manage_accounts_members.html) with the same role name and external ID.
SailPoint offers CloudFormation templates to:
- create identical roles with minimum permissions in each member account
- create the primary role in the [management account](https://docs.aws.amazon.com/organizations/latest/userguide/orgs-manage_accounts_management.html) with the minimum organization permissions for listing AWS accounts and Identity Center aggregations
You will first [enable inventory collection](#collecting-resources-from-all-aws-accounts) in all AWS accounts to collect resources, activity data, and identity center data from the management account. You can then choose to include activity data in your SailPoint CIEM tenant.
### Collecting Resources from All AWS Accounts
You can enable inventory collection in all AWS accounts to collect resources, activity data, and Identity Center information from the *management account*.
Important
Configure your AWS tenant and [Identity Security Cloud connectors](https://documentation.sailpoint.com/saas/help/ciem/aws/connect_aws.html) concurrently since you will need the [external ID](https://documentation.sailpoint.com/saas/help/ciem/aws/connect_aws.html#auto-externalid) provided by SailPoint to complete your AWS configurations.
1. Follow the AWS directions to [create a stack set](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/stacksets-getting-started-create.html#stacksets-orgs-associate-stackset-with-org-console) with service-managed permissions.
1. Upload the appropriate template:
[commercial-inventory-collection.json](https://documentation.sailpoint.com/saas/help/ciem/aws/config/assets/commercial/commercial-inventory-collection.json)
[gov-inventory-collection.json](https://documentation.sailpoint.com/saas/help/ciem/aws/config/assets/gov_cloud/gov-inventory-collection.json)
1. Under **Deployment regions** select a single region. Because IAM resources are account-level objects, they should not be created per region.
This creates a role and policy with sufficient privileges in *all member accounts* to read data from your AWS cloud. You can then collect activity data from all AWS accounts.
### Collecting Resources and Activity Data from All AWS Accounts
SailPoint CIEM collects the activity of AWS users by reading CloudTrail logs.
1. Follow the AWS directions to [create a stack](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/cfn-console-create-stack.html) in the root management account where logs are captured.
1. Upload the appropriate template:
[commercial-activity-collection.json](https://documentation.sailpoint.com/saas/help/ciem/aws/config/assets/commercial/commercial-activity-collection.json)
[gov-activity-collection.json](https://documentation.sailpoint.com/saas/help/ciem/aws/config/assets/gov_cloud/gov-activity-collection.json)
This process creates a role and policies with minimum privileges in the *management account* to:
- Read activity data from the bucket
- Read Identity Center data
- Provision Identity Center Data (not read-only)
- Create an in-line policy on the role for reading resource data from your AWS cloud
This configuration also allows you to optionally collect CloudTrail data using the [SailPoint CIEM AWS Connector](https://documentation.sailpoint.com/saas/help/ciem/aws/connect_aws.html#using-the-sailpoint-ciem-aws-connector).
Important
Some AWS activity cannot be collected by SailPoint CIEM due to CloudTrail logs missing the `Resource` attribute necessary to associate a user's actions to a resource. Certifiers reviewing the [last activity](https://documentation.sailpoint.com/saas/user-help/certs/reviewing/viewing_cloud_details.html#viewing-access-paths) on an AWS resource in a Certification Campaign will still see how the resource was accessed, but might not have full activity data details.
You should [verify your configuration](https://documentation.sailpoint.com/saas/help/ciem/aws/config/verify_aws_config.html) before [connecting your source](https://documentation.sailpoint.com/saas/help/ciem/aws/connect_aws.html).
## Collecting Data from Single AWS Accounts
If you prefer to connect CIEM to a single AWS account, SailPoint provides CloudFormation templates to create the role, and optionally create a CloudTrail and bucket depending on existing activity collection infrastructure. The role, cloudtrail, and bucket must all exist in the configured account.
Important
Some AWS activity cannot be collected by SailPoint CIEM due to CloudTrail logs missing the `Resource` attribute necessary to associate a user's actions to a resource. Certifiers reviewing the [last activity](https://documentation.sailpoint.com/saas/user-help/certs/reviewing/viewing_cloud_details.html#viewing-access-paths) on an AWS resource in a Certification Campaign will still see how the resource was accessed, but might not have full activity data details.
### Collecting Resources from Single AWS Accounts
Important
Configure your AWS tenant and [Identity Security Cloud connectors](https://documentation.sailpoint.com/saas/help/ciem/aws/connect_aws.html) concurrently since you will need the [external ID](https://documentation.sailpoint.com/saas/help/ciem/aws/connect_aws.html#auto-externalid) provided by SailPoint to complete your AWS configurations.
To enable inventory collection in single accounts:
1. Follow the AWS directions to [create a stack](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/cfn-console-create-stack.html), choosing **With new resources (standard)**.
1. Upload the appropriate template:
[commercial-inventory-collection.json](https://documentation.sailpoint.com/saas/help/ciem/aws/config/assets/commercial/commercial-inventory-collection.json)
[gov-inventory-collection.json](https://documentation.sailpoint.com/saas/help/ciem/aws/config/assets/gov_cloud/gov-inventory-collection.json)
1. Under **Deployment regions** select a single region. Because IAM resources are account-level objects, they should not be created per region.
This creates a role and policy with sufficient privileges in this account to read data from your AWS cloud. You can then choose to collect activity data from the AWS account.
### Collecting Activity Data from Single AWS Accounts
1. Follow the AWS directions to [create a stack](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/cfn-console-create-stack.html), choosing **With new resources (standard)**.
1. Upload the appropriate template:
| **Use Case** | **Template** |
| -------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Create a role to use with an existing CloudTrail and S3 bucket | [commercial-activity-collection-existing-cloudtrail.json](https://documentation.sailpoint.com/saas/help/ciem/aws/config/assets/commercial/commercial-activity-collection-existing-cloudtrail.json) |
| Create a role and CloudTrail to use with an existing S3 Bucket | [commercial-activity-collection-new-cloudtrail-and-existing-bucket.json](https://documentation.sailpoint.com/saas/help/ciem/aws/config/assets/commercial/commercial-activity-collection-new-cloudtrail-and-existing-bucket.json) |
| Create a role, CloudTrail, and S3 bucket | [commercial-activity-collection-new-cloudtrail-and-bucket.json](https://documentation.sailpoint.com/saas/help/ciem/aws/config/assets/commercial/commercial-activity-collection-new-cloudtrail-and-bucket.json) |
| **Use Case** | **Template** |
| -------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Create a role to use with an existing CloudTrail and S3 bucket | [gov-activity-collection-existing-cloudtrail.json](https://documentation.sailpoint.com/saas/help/ciem/aws/config/assets/gov_cloud/gov-activity-collection-existing-cloudtrail.json) |
| Create a role and CloudTrail to use with an existing S3 Bucket | [gov-activity-collection-new-cloudtrail-and-existing-bucket.json](https://documentation.sailpoint.com/saas/help/ciem/aws/config/assets/gov_cloud/gov-activity-collection-new-cloudtrail-and-existing-bucket.json) |
| Create a role, CloudTrail, and S3 bucket | [gov-activity-collection-new-cloudtrail-and-bucket.json](https://documentation.sailpoint.com/saas/help/ciem/aws/config/assets/gov_cloud/gov-activity-collection-new-cloudtrail-and-bucket.json) |
1. Name your bucket.
- If you are using an existing S3 bucket, enter the name in the **BucketName** field. This can be found in the S3 bucket column of your Trails.
- If you are creating an S3 bucket, name the bucket for collecting CloudTrail logs.
1. In the external ID field, paste the external ID provided by SailPoint. This can be found in the [**Connection Settings**](https://documentation.sailpoint.com/saas/help/ciem/aws/connect_aws.html#auto-externalid) section of the CIEM AWS source.
1. The template populates the other fields. Continue using the stack wizard, setting the Stack failure option to **Roll back all stack resources**.
1. Complete the setup and select **Create stack**.
# Verifying Your AWS Configuration
When you have finished connecting your AWS accounts, you should verify the configuration was successful.
To verify your configuration:
1. In the AWS Console **IAM** service, select **Roles**.
1. Search for the IAM role created by CloudFormation. Select the role and save its name and ARN. For example, `arn:aws:iam::xxxxxxxxxxxx:role/SailPointCIEMAuditRoleStack`.
1. Select the **Trust relationships** tab and confirm the principal displays:
- `874540850173` for Commercial accounts
- `229634586956` for GovCloud accounts
1. Select **Policies** and search for the IAM role created by CloudFormation. For example, "SailPointCIEMAuditPolicy".
1. Select **Permissions** and verify the bucket name in the JSON.
1. Ensure the policy allows `s3:GetBucketLocation` and `s3:ListBucket` actions on the CloudTrail bucket, and the `s3:GetObject` action on the S3 bucket contents.
You can also view a summary of these details:
1. Go to **CloudFormation > Stacks**.
1. Select the stack.
1. Choose the **Parameters** tab to view the key values for your configuration.
Use this information to [connect your AWS source](https://documentation.sailpoint.com/saas/help/ciem/aws/connect_aws.html) with SailPoint CIEM.
# Managing Azure Entitlements
To display your Azure entitlement data in Identity Security Cloud, you must mark [supported entitlements](#supported-entitlement-types) as [cloud enabled](#marking-microsoft-entra-id-cloud-enabled-entitlement-types).
## Supported Entitlement Types
Identity Security Cloud supports the following Azure entitlements:
- `Group`
- `azureRoleAssignment`
## Marking Microsoft Entra ID Cloud-Enabled Entitlement Types
When entitlements are pulled from your Azure cloud environment, you must mark the [supported](#supported-entitlement-types) entitlement types as **Cloud Enabled** in your Microsoft Entra source configuration. This will allow certification campaign reviewers to view the access users have to your Azure cloud infrastructure.
1. Go to **Admin > Connections > Sources**.
1. Select or edit the Microsoft Entra SaaS or Microsoft Entra VA-based connector you enabled to [manage cloud resources](https://documentation.sailpoint.com/saas/help/ciem/azure/connect_azure.html).
1. In the **Entitlement Management** section, select **Entitlement Types and Schemas**.
1. [Edit the entitlement type](https://documentation.sailpoint.com/saas/help/loading_entitlements/entitlement_types.html#editing-an-entitlement-type) and select the **Cloud Enabled** checkbox for the following entitlements:
- `Group`
- `azureRoleAssignment`
1. Select **Update**.
You can now view an identity's cloud access granted through entitlements. You can include cloud-based entitlement types to certification campaigns to allow certifiers to view the [effective access](https://documentation.sailpoint.com/saas/help/ciem/viewing_cloud_access.html#viewing-effective-access) to your Azure resources.
## Viewing Effective Access to Azure Resources
After [marking your entitlement types](https://documentation.sailpoint.com/saas/help/ciem/azure/azure_entitlements.html#marking-microsoft-entra-id-cloud-enabled-entitlement-types), you can include cloud-enabled entitlements in certification campaigns to allow your certifiers to view [cloud access details](https://documentation.sailpoint.com/saas/help/ciem/viewing_cloud_access.html) like the last level of access and type of action taken on the resource.
If your organization has licensed [Machine Identity Security](https://documentation.sailpoint.com/saas/help/machine/index.html), you can also view the effective access for machine identities that use Microsoft Azure Service Principles.
# Configuring Azure and Microsoft Entra ID
To display your Azure resources and the access tied to them, you must first create policies and permissions in your cloud environment that allow SailPoint CIEM to report on cloud access data.
Use an Azure account with administrative privileges to:
1. [Register](#registering-sailpoint-ciem-with-microsoft-entra-id) SailPoint CIEM as a new application with Microsoft Entra ID (formerly Azure AD).
1. [Grant permissions](#granting-read-permissions-to-sailpoint-ciem) to read your Microsoft Entra ID policies and resource inventories.
1. [Create a client secret](#creating-a-client-secret-for-sailpoint-ciem) to use when registering your source with SailPoint CIEM.
When you have completed your Microsoft Entra ID configuration, you will [connect your cloud source data](https://documentation.sailpoint.com/saas/help/ciem/azure/connect_azure.html) to SailPoint CIEM and Identity Security Cloud.
## Registering SailPoint CIEM with Microsoft Entra ID
You must first register SailPoint CIEM as an application with Microsoft Entra ID.
1. Sign in to the Azure Cloud portal and select **Microsoft Entra ID**.
1. Copy the tenant ID and save it somewhere accessible, as you'll need this information to [connect the Azure cloud source](https://documentation.sailpoint.com/saas/help/ciem/azure/connect_azure.html) to SailPoint CIEM.
1. Select **App registrations** in the left sidebar and select **New registration**.
1. Enter a name for the new application, such as "SailPoint CIEM".
1. Under **Supported account types**, keep the default of allowing a single tenant to ensure that only accounts in the organizational directory can access this application.
1. Select **Register** to register SailPoint CIEM with Microsoft Entra ID.
1. Copy the **Application (client) ID** that's generated, as you'll need this information to [connect the cloud source](https://documentation.sailpoint.com/saas/help/ciem/azure/connect_azure.html) with SailPoint CIEM.
## Granting Read Permissions to SailPoint CIEM
After you’ve registered SailPoint CIEM with Microsoft Entra ID, you must grant it the permissions required to read the security policies configured for the Azure source and the resources inventory.
### Setting Up the Global Admin Role
You must create a global admin role that can manage access at the root management group level. All subscriptions will inherit the custom role from their management group.
To set up the global admin role:
1. Select **Properties** in Microsoft Entra ID.
1. Set the toggle for **Access management for Azure resources** to **Yes**.
1. Select **Save**.
This will allow you to manage access to all Azure subscriptions and management groups in the tenant.
### Enabling Read Access to Microsoft Azure
You must enable the Directory.Read.All setting so that SailPoint CIEM can read the Microsoft Azure inventory.
1. Select **App registrations** in Microsoft Entra ID.
1. Select the SailPoint CIEM app you [registered earlier](https://documentation.sailpoint.com/saas/help/ciem/azure/config_azure.html#registering-sailpoint-ciem-with-microsoft-entra-id).
1. Select **API permissions** in the left sidebar and choose **Add a permission**.
1. Select **Microsoft Graph**.
1. Select **Application permissions** and expand the **Directory** category.
1. Select **Directory.Read.All** to allow SailPoint CIEM to read directory data on your Microsoft Azure source.
1. Expand the **Role Management** category and select **RoleManagement.Read.Directory** to allow SailPoint CIEM to read all directory role-based access control settings for the source.
1. If you use [Privileged Access Management (PIM) for groups](https://learn.microsoft.com/en-us/entra/id-governance/privileged-identity-management/concept-pim-for-groups), search for "privileged" in the **Select permissions** search bar. Select the following API permissions so SailPoint CIEM can include potential Azure cloud resource access derived from eligible membership in PIM groups:
- `PrivilegedAccess.Read.AzureADGroup`
- `PrivilegedAssignmentSchedule.Read.AzureADGroup`
- `PrivilegedEligibilitySchedule.Read.AzureADGroup`
Note
PIM group information is only applicable for SailPoint CIEM. Identity Security Cloud does not support PIM groups.
1. Select **Add permissions** and **Grant admin consent** to specify what the SailPoint app can request and to confirm the app is approved to make requests.
### Creating Strict Custom Roles
Next, you will create custom roles in Microsoft Entra ID with the minimum permissions required to allow SailPoint CIEM to read your Microsoft Entra ID data.
1. Select **Management groups** in Microsoft Entra ID.
1. Select the root management group to add the role to. The role will inherit the group’s subscriptions.
Important
You must [assign this role](#assigning-roles-to-app-registration) to the tenant root group or the setup will fail.
1. In the sidebar, select **Access control (IAM)**.
1. Select **Add** and choose **Add custom role** from the dropdown menu.
1. On the **Basics** tab, enter a custom role name, such as Resource Reader.
1. Select the **JSON** tab.
1. Select the **Edit** button. Enter the following JSON schema, replacing the `managementGroups` ID with your own.
Display required permissions
```json
{
"properties": {
"roleName": "Resource Reader",
"description": "View strict list of resources, doesn't allow you to make any changes.",
"assignableScopes": [
"/providers/Microsoft.Management/managementGroups/aaaaaaa-9999-1234-5678-d1dd0000c000 (1)"
],
"permissions": [
{
"actions": [
"Microsoft.ApiManagement/service/groups/users/read",
"Microsoft.ApiManagement/service/subscriptions/read",
"Microsoft.ApiManagement/service/users/groups/read",
"Microsoft.Authorization/*/read",
"Microsoft.Cache/redis/read",
"Microsoft.ClassicCompute/virtualMachines/read",
"Microsoft.ClassicNetwork/networkSecurityGroups/read",
"Microsoft.ClassicNetwork/virtualNetworks/read",
"Microsoft.Compute/disks/read",
"Microsoft.Compute/virtualMachines/read",
"Microsoft.DBforMariaDB/servers/databases/read",
"Microsoft.DBforMySQL/servers/databases/read",
"Microsoft.DBforPostgreSQL/servers/databases/read",
"Microsoft.DocumentDB/databaseAccounts/read",
"Microsoft.Insights/ActivityLogAlerts/Read",
"Microsoft.Insights/eventtypes/values/Read",
"Microsoft.Insights/LogProfiles/Read",
"Microsoft.KeyVault/vaults/keys/read",
"Microsoft.KeyVault/vaults/providers/Microsoft.Insights/diagnosticSettings/Read",
"Microsoft.KeyVault/vaults/read",
"Microsoft.KeyVault/vaults/secrets/read",
"Microsoft.ManagedIdentity/userAssignedIdentities/listAssociatedResources/action",
"Microsoft.ManagedIdentity/userAssignedIdentities/read",
"Microsoft.Network/loadBalancers/read",
"Microsoft.Network/networkInterfaces/read",
"Microsoft.Network/networkSecurityGroups/read",
"Microsoft.Network/networkWatchers/queryFlowLogStatus/action",
"Microsoft.Network/networkWatchers/read",
"Microsoft.Network/routeTables/read",
"Microsoft.Network/virtualNetworks/read",
"Microsoft.Network/virtualNetworks/subnets/read",
"Microsoft.Resources/subscriptions/resourceGroups/read",
"Microsoft.Resources/subscriptions/resources/read",
"Microsoft.Resources/tenants/read",
"Microsoft.Security/autoProvisioningSettings/read",
"Microsoft.Security/pricings/read",
"Microsoft.Security/securityContacts/read",
"Microsoft.Sql/managedInstances/administrators/read",
"Microsoft.Sql/managedInstances/databases/read",
"Microsoft.Sql/servers/administrators/read",
"Microsoft.Sql/servers/databases/auditingSettings/read",
"Microsoft.Sql/servers/databases/read",
"Microsoft.Sql/servers/databases/securityAlertPolicies/read",
"Microsoft.Sql/servers/failoverGroups/read",
"Microsoft.Sql/servers/firewallRules/read",
"Microsoft.Sql/servers/keys/read",
"Microsoft.Sql/servers/read",
"Microsoft.Storage/storageAccounts/blobServices/containers/read",
"Microsoft.Storage/storageAccounts/read",
"Microsoft.Web/sites/Read"
],
"notActions": [],
"dataActions": [],
"notDataActions": []
}
]
}
}
```
1. Replace the `managementGroups ID` with your own
1. Select **Save** to update the JSON schema and **Review + create**.
1. Select **Create** to create the custom role.
Privileged Access Management
If you have an [Microsoft Entra ID Privileged Identity Management Premium P2 license](https://learn.microsoft.com/en-us/entra/id-governance/privileged-identity-management/pim-configure#license-requirements), SailPoint CIEM will display access users have to Azure resources from their PIM eligible assignments.
You will now [assign this role](#assigning-roles-to-app-registration) to the app.
### Assigning Roles to App Registration
You must now assign the role you created to the App Registration.
1. Select **Management groups** in the Microsoft Entra ID portal.
1. Select the root group name and select **Access control (IAM)** from the left sidebar.
1. Select **Add** and choose **Add role assignment** from the dropdown menu.
1. In the role section, search for and select the [custom role](#creating-strict-custom-roles) you created earlier. Select **Next**.
1. In the **Members** tab, select the radio button next to **User, group, or service principal**.
1. Select **Select members**. Search for and select the application you [registered](#registering-sailpoint-ciem-with-microsoft-entra-id).
1. Confirm your selection using the **Select** button.
1. Select **Review + Assign** to assign the role to SailPoint CIEM.
## Creating a Client Secret for SailPoint CIEM
To finish registering your Microsoft Entra ID accounts, you'll need to create a client secret for SailPoint CIEM.
1. Select **App registrations** in Microsoft Entra ID and choose the application you named earlier.
1. Select **Certificates & secrets**.
1. Under **Client secrets**, select **+ New client secret** and add a description and expiration date.
Best Practice
Set an expiration date of 6 months.
1. Select **Add**.
Save the Value and Secret ID in a safe place. You will enter the client secret in the **Client Secret** field when you [connect to Identity Security Cloud](https://documentation.sailpoint.com/saas/help/ciem/azure/connect_azure.html).
# Connecting Azure and CIEM
Once you have [configured](https://documentation.sailpoint.com/saas/help/ciem/azure/config_azure.html) your Microsoft Entra ID account, you can connect it to CIEM using a SaaS connector or VA-based connector:
Choose your next step based on your configuration
- [SaaS-based connector (recommended)](#using-the-microsoft-entra-id-saas-connector)
- [VA-based connector](#using-the-microsoft-entra-id-va-based-connector) and the [CIEM Azure connector](#connecting-sailpoint-ciem-azure)
When you have completed the steps for your connection type, [aggregate](https://documentation.sailpoint.com/saas/help/accounts/loading_data.html) and [mark the entitlement types](https://documentation.sailpoint.com/saas/help/ciem/azure/azure_entitlements.html#marking-microsoft-entra-id-cloud-enabled-entitlement-types) that grant cloud access. You can then view the [effective access](https://documentation.sailpoint.com/saas/help/ciem/viewing_cloud_access.html) those entitlements grant on aggregated Azure cloud resources and include cloud entitlements in certification campaigns.
## Using the Microsoft Entra ID SaaS Connector
If you are using Microsoft Entra SaaS, follow the connector guide to [enable SailPoint CIEM](https://documentation.sailpoint.com/connectors/saas/msentraid/help/saas_connectivity/microsoft_entra_id/ciem_settings.html).
After a successful test connection, you can optionally set the [source scope](#setting-source-scope-for-saas-based-connections) before [aggregating accounts](https://documentation.sailpoint.com/saas/help/accounts/loading_data.html) and [marking the entitlement types](https://documentation.sailpoint.com/saas/help/ciem/azure/azure_entitlements.html#marking-microsoft-entra-id-cloud-enabled-entitlement-types) that grant cloud access.
Note
If you previously configured both the Microsoft Entra ID SaaS and SailPoint CIEM Azure connectors, you do not need to take additional action to continue receiving your data.
### Setting Source Scope for SaaS-Based Connections
By default, SailPoint CIEM reads and automatically discovers changes to your cloud infrastructure. You can choose to exclude scopes to prevent SailPoint CIEM from including data for those accounts.
When you exclude scopes, SailPoint CIEM will only read and include data from selected scopes. When Auto-Include Scopes is disabled, new and deleted subscriptions in your cloud system will be detected, but SailPoint CIEM will not automatically include data from new scopes until you select the subscriptions individually or reenable Auto-Include Scopes.
You can use the [CIEM event triggers](https://documentation.sailpoint.com/saas/help/workflows/workflow-triggers.html#ciem-triggers) in workflows to be notified about scope changes.
Scope Limits
There are limits to the number of scopes you can select based on whether you are gathering inventory data to view effective access, activity data to view last access, or both. To gather both inventory and activity data, you must adhere to the smaller of the two limits.
- Inventory Data (Effective Access) - 4,500 subscriptions
- Activity Data (Last Access) - 1,600 subscriptions
- Both - 1,600 subscriptions
To change the scope of your included source data when using a SaaS-based connector:
1. In the *Microsoft Entra ID SaaS* source, select **Cloud Scopes** under **Additional Settings**.
1. Select which cloud scopes to include:
- To automatically include data from all subscriptions, enable **Auto-Include Scopes**. Deselecting a scope disables Auto-Include Scopes.
- To include a subset of subscriptions, use the checkboxes to change which scopes are included.
1. Select **Save**.
Notes
- You can search for scopes as well as filter by excluded scopes and scopes with errors.
- The **Discovered by CIEM** column displays when changes to your source inventory were last detected by SailPoint CIEM. This is separate from aggregation.
You will next [aggregate accounts](https://documentation.sailpoint.com/saas/help/accounts/loading_data.html) and [mark the entitlement types](https://documentation.sailpoint.com/saas/help/ciem/azure/azure_entitlements.html#marking-microsoft-entra-id-cloud-enabled-entitlement-types) that grant cloud access.
## Using the Microsoft Entra ID VA-Based Connector
If you are onboarding SailPoint CIEM using a VA-based connector instead of SaaS, you must configure both the Microsoft Entra ID (formerly Azure Active Directory) identity governance connector and the SailPoint CIEM Azure connector.
| | |
| --------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **Microsoft Entra ID (formerly Azure Active Directory) VA-based connector** | Allows you to manage your Azure users and groups in Identity Security Cloud on virtual appliances. If your organization has licensed a SailPoint cloud management solution, it will also gather data about the cloud access granted to users through their Azure management groups, subscriptions, resource groups, and role assignments. |
| **SailPoint CIEM Azure connector** | Works with your Microsoft Entra ID identity governance connector to collect cloud resource data and display the effective access an identity has on aggregated cloud resources from your Azure systems. |
You may connect the [VA-based](#connecting-the-microsoft-entra-id-va-based-connector) and [SailPoint CIEM Azure](#connecting-sailpoint-ciem-azure) sources in any order.
### Connecting the Microsoft Entra ID VA-Based Connector
1. Follow the SailPoint Connector guide to configure or edit the [Microsoft Entra ID (formerly Azure Active Directory) connector](https://documentation.sailpoint.com/connectors/microsoft/entra_id/help/integrating_entra_id/introduction.html).
1. In the Feature Management configuration, select the **Manage Cloud Resources** checkbox to enable it to gather cloud data.
For more information about the cloud objects managed through the identity governance connector, refer to [Group Management for Azure Cloud Objects](https://documentation.sailpoint.com/connectors/microsoft/entra_id/help/integrating_entra_id/group_management_for_azure_cloud_objects.html).
You must then configure the [CIEM Azure connector](#connecting-sailpoint-ciem-azure) to display all access users have to your cloud resources.
### Connecting SailPoint CIEM Azure
The SailPoint CIEM Azure source pulls daily data about the cloud resources your Azure IaaS users can access.
To register SailPoint CIEM Azure:
1. Go to **Admin > Connections > Sources > Create New**.
1. Find the **CIEM Azure** source type and select **Configure**.
1. Enter a source name.
1. Enter a description for your source.
1. In the **Source Owner** field, begin typing the name of an owner. Matches appear after you type two letters.
1. (Optional) Select a [governance group](https://documentation.sailpoint.com/saas/help/common/users/governance_groups.html) for source management.
1. Select **Connection Settings**.
1. Enter your [client ID](https://documentation.sailpoint.com/saas/help/ciem/azure/config_azure.html#app-id).
1. Enter your [tenant ID](https://documentation.sailpoint.com/saas/help/ciem/azure/config_azure.html#registering-sailpoint-ciem-with-microsoft-entra-id).
1. Enter your [client secret](https://documentation.sailpoint.com/saas/help/ciem/azure/config_azure.html#creating-a-client-secret-for-sailpoint-ciem).
1. (Optional) Enter up to 250 instance IDs, separated by commas. These are the [Application IDs](https://documentation.sailpoint.com/saas/help/ciem/azure/config_azure.html#app-id) used to resolve Microsoft Entra ID accounts with federated IAM roles in AWS. Refer to the [Microsoft Entra ID documentation](https://learn.microsoft.com/en-us/entra/identity/enterprise-apps/view-applications-portal) for more information and guidance on finding your application IDs.
1. If you are using GCC or GCC High, select the tenant type.
1. Select **Save**.
1. Select **Review and Test**.
1. Review the configuration details and select **Test Connection**. A successful test is required for SailPoint CIEM to gather data for this source.
Note
If the test connection fails, you can use the [Search](https://documentation.sailpoint.com/saas/help/search/index.html) query `name:“Test_connection Source Failed”` for more information.
1. (Optional) After a successful test connection, you can set the [source scope](#setting-source-scope-for-va-based-connections).
When you have completed your configuration, follow the directions to [aggregate](https://documentation.sailpoint.com/saas/help/accounts/loading_data.html) your data and then [mark the entitlement types](https://documentation.sailpoint.com/saas/help/ciem/azure/azure_entitlements.html#marking-microsoft-entra-id-cloud-enabled-entitlement-types) that grant cloud access.
### Setting Source Scope for VA-Based Connections
By default, SailPoint CIEM reads and automatically discovers changes to your cloud infrastructure. If you are using a VA, you can choose to exclude scopes to prevent SailPoint CIEM from including data for those accounts.
When you exclude scopes, SailPoint CIEM will only read and include data from selected scopes. When Auto-Include Scopes is disabled, new and deleted subscriptions in your cloud system will be detected, but they will not be automatically included in your SailPoint CIEM data until you select them individually or reenable Auto-Include Scopes.
You can use the [CIEM event triggers](https://documentation.sailpoint.com/saas/help/workflows/workflow-triggers.html#ciem-triggers) in workflows to be notified about scope changes.
Scope Limits
There are limits to the number of scopes you can select based on whether you are gathering inventory data to view effective access, activity data to view last access, or both. To gather both inventory and activity data, you must adhere to the smaller of the two limits.
- Inventory Data (Effective Access) - 4,500 subscriptions
- Activity Data (Last Access) - 1,600 subscriptions
- Both - 1,600 subscriptions
**To change the scope of your included source data when using a VA-based connector:**
1. In the [*CIEM Azure*](#connecting-sailpoint-ciem-azure) source, select **Cloud Scopes** under **Additional Settings**.
1. Select which cloud scopes to include:
- To automatically include data from all subscriptions, enable **Auto-Include Scopes**. Deselecting a scope disables Auto-Include Scopes.
- To include a subset of subscriptions, use the checkboxes to change which scopes are included.
1. Select **Save**.
Notes
- You can search for scopes as well as filter by excluded scopes and scopes with errors.
- The **Discovered by CIEM** column displays when changes to your source inventory were last detected by SailPoint CIEM. This is separate from aggregation.
# Configuring Google Cloud Platform
To configure Google Cloud Platform (GCP) to work with SailPoint CIEM, you'll need to use an admin role to set up both [GCP](#configuring-gcp) and [Google Workspace](#configuring-google-workspace) with the minimum set of permissions required to display your organization hierarchy.
## Configuring GCP
To configure Google Cloud Platform to work with SailPoint CIEM, you will set up the project, APIs, service account, key, and custom roles. You can do this through the Google Cloud Console or using the [gcloud command-line interface (CLI)](#automating-setup-using-the-command-line-interface).
### Creating Project and Service Accounts
You will need a project and attached service accounts to connect to your organization. Ensure you have selected the organization as the scope.
Follow the Google Cloud documentation to:
1. Use an existing project or [create a new project](https://cloud.google.com/resource-manager/docs/creating-managing-projects#console).
1. [Enable and add the following APIs](https://support.google.com/googleapi/answer/6158841?hl=en#):
- Identity and Access Management (IAM)
- Cloud Resource Manager
- Admin SDK
- Cloud Asset API
- Cloud Logging API
Additional APIs might be needed to process new types of resources.
1. [Create a GCP service account](https://cloud.google.com/iam/docs/service-accounts-create#creating). The JSON credentials for the service account come from console.cloud.google.com.
1. [Create a service account key](https://cloud.google.com/iam/docs/keys-create-delete#creating). You will enter this when [connecting GCP and CIEM](https://documentation.sailpoint.com/saas/help/ciem/gcp/connect_gcp.html#connecting-sailpoint-ciem-gcp).
Warning
The service account key allows the code to provide credentials to the API and will generate a JSON file. Any application can access the organization through this JSON file, so save it in a secure place.
You will then create and assign a custom GCP role to grant the service account access to an organization.
### Granting Service Account Access to an Organization
Once you have created service accounts for the project, you must grant those accounts a set of read-only access to your Google Cloud Platform organization.
Follow the Google Cloud documentation to:
1. [Create a custom role](https://cloud.google.com/iam/docs/creating-custom-roles#creating) in your *organization* with the required permissions.
Required Permissions
| **Permissions** | **Description** |
| ------------------------------------------ | --------------------------------------------------------------------------------- |
| cloudasset.assets.searchAllIamPolicies | Retrieve all policies attached to resources using GCP’s Cloud Asset Inventory API |
| cloudasset.assets.searchAllResources | Retrieve list of resources using GCP’s Cloud Asset Inventory API |
| iam.roles.list | List roles and relevant metadata |
| iam.serviceAccounts.getIamPolicy | Get the access control policy for a service account |
| iam.serviceAccounts.list | List service accounts and relevant metadata |
| logging.logEntries.list | List logging entries |
| resourcemanager.folders.getIamPolicy | Get the access control policy for a folder |
| resourcemanager.folders.list | List folders and relevant metadata |
| resourcemanager.organizations.get | Get the specified organization resource by ID |
| resourcemanager.organizations.getIamPolicy | Get the access control policy for an Organization |
| resourcemanager.projects.get | Get the specified project resource by ID |
| resourcemanager.projects.getIamPolicy | Get the access control policy for a project |
| resourcemanager.projects.list | List projects and relevant metadata |
1. [Grant access to that role](https://cloud.google.com/iam/docs/granting-changing-revoking-access#grant-single-role).
Note
You can alternatively use the [glcoud CLI](#automating-setup-using-the-command-line-interface) to automate these steps. After using the script, you must manually complete the [Google Workspace configurations](#configuring-google-workspace).
## Configuring Google Workspace
CIEM must read from both GCP and Google Workspace. To configure Google Workspace, you must grant the service account access to the domain and create a user CIEM can impersonate with sufficient admin role permissions.
### Granting Service Account Access to the Domain
You must grant the service account you created in GCP access to your Google admin domain and determine the access and privileges assigned to your service account.
Follow the Google Identity documentation to [delegate domain-wide authority to the service account](https://developers.google.com/identity/protocols/oauth2/service-account#delegatingauthority).
- In the **Client ID** field, enter the client ID that was generated when you [created](#creating-project-and-service-accounts) the service account. This can be found in the [Service Accounts details](https://console.developers.google.com/iam-admin/serviceaccounts) page.
- In the **OAuth scopes (comma-delimited)** field, add:
- `https://www.googleapis.com/auth/admin.directory.user.readonly`
- `https://www.googleapis.com/auth/admin.directory.group.readonly`
### Creating and Assigning a Custom Admin Role
SailPoint CIEM must assume a Google Cloud Provider admin role to build the organization hierarchy and read identities (users, roles, groups). You can use the default admin role or configure a custom admin role with more restricted permissions.
Note
If you are using the [GCP SaaS connector](https://documentation.sailpoint.com/saas/help/ciem/gcp/connect_gcp.html#using-the-google-workspace-saas-connector) and [created a custom role to impersonate](https://documentation.sailpoint.com/connectors/saas/googleworkspace/help/saas_connectivity/google_workspace/custom_roles.html), you can apply these permissions to that custom role instead of creating a new one.
To create an admin role with the minimum required permissions to be used by SailPoint CIEM, follow the Google Workspace documentation to:
1. Use an existing admin user or [create a user](https://knowledge.workspace.google.com/kb/how-to-create-a-new-user-000007668) for CIEM to impersonate.
1. [Create a custom admin role](https://support.google.com/a/answer/2406043) with the following privileges:
- **Organizational Units** - Read
- **Users** - Read
- **Groups** - Select the checkbox.
- **Directory Sync** - Manage Directory Sync Settings (which will automatically select Read Directory Sync Settings)
- Corresponding Admin API privileges will be automatically selected.
1. [Assign the role](https://support.google.com/a/answer/9807615) to the admin user. You will enter their email in the **Admin Email** field when [connecting GCP and SailPoint CIEM](https://documentation.sailpoint.com/saas/help/ciem/gcp/connect_gcp.html#connecting-sailpoint-ciem-gcp).
SailPoint CIEM will be able to assume the role with the set [permissions](#permissions) when you [connect](https://documentation.sailpoint.com/saas/help/ciem/gcp/connect_gcp.html) your GCP organization with SailPoint CIEM.
## Automating Setup Using the Command-Line Interface
You can optionally set up your some of your GCP configuration using the command-line interface.
1. Follow the Google Cloud documentation to [install and initialize the gCloud CLI](hhttps://cloud.google.com/sdk/docs/install-sdk#installing_the_latest_version).
1. Use the [provided script](https://documentation.sailpoint.com/saas/help/ciem/gcp/gcloud-ciem-prereqs.zip) to automatically enable APIs, create the service account and JSON key, create the admin role, and assign that role to the service account.
When you've completed those steps, you must manually [delegate domain-wide authority](#granting-service-account-access-to-the-domain) to the GCP service account, and [create the admin role](#creating-and-assigning-a-custom-admin-role) that you will assign to an admin user.
# Connecting GCP and CIEM
Once you have [configured](https://documentation.sailpoint.com/saas/help/ciem/gcp/config_gcp.html) your GCP account, you can connect it to CIEM using a SaaS connector or VA-based connector:
Choose your next step based on your configuration
- [SaaS-based connector (recommended)](#using-the-google-workspace-saas-connector)
- [VA-based connector](#using-the-google-workspace-va-based-connector) and the [CIEM GCP connector](#connecting-sailpoint-ciem-gcp)
When you have completed the steps for your connection type, you can [aggregate](https://documentation.sailpoint.com/saas/help/accounts/loading_data.html) and [mark the entitlement types](https://documentation.sailpoint.com/saas/help/ciem/gcp/gcp_entitlements.html#marking-gcp-cloud-enabled-entitlement-types) that grant cloud access. You can then view the [effective access](https://documentation.sailpoint.com/saas/help/ciem/viewing_cloud_access.html) those entitlements grant on aggregated Google Cloud Platform resources and include cloud entitlements in certification campaigns.
## Using the Google Workspace SaaS Connector
If you are using Google Workspace SaaS, follow the SailPoint Connector guide to [enable SailPoint CIEM](https://documentation.sailpoint.com/connectors/saas/googleworkspace/help/saas_connectivity/google_workspace/ciem_settings.html).
Important
In the **Connection Settings**, select **Service Account** from the **Grant Type** dropdown list. CIEM does not support the Client Credential grant type.
After a successful test connection, you can optionally set the [source scope](#setting-source-scope-for-saas-based-connections) before [aggregating accounts](https://documentation.sailpoint.com/saas/help/accounts/loading_data.html) and [marking the entitlement types](https://documentation.sailpoint.com/saas/help/ciem/gcp/gcp_entitlements.html#marking-gcp-cloud-enabled-entitlement-types) that grant cloud access.
Note
If you have previously configured both the Google Workspace SaaS and SailPoint CIEM GCP connectors, you do not need to take additional action to continue receiving your data.
### Setting Source Scope for SaaS-Based Connections
By default, SailPoint CIEM reads and automatically discovers changes to your cloud infrastructure. You can choose to exclude scopes to prevent SailPoint CIEM from including data for those accounts.
When you exclude scopes, SailPoint CIEM will only read and include data from selected scopes. When Auto-Include Scopes is disabled, new and deleted folders and projects in your cloud system will be detected, but SailPoint CIEM will not automatically include data from new scopes until you select the folders and projects individually or reenable Auto-Include Scopes.
You can use the [CIEM event triggers](https://documentation.sailpoint.com/saas/help/workflows/workflow-triggers.html#ciem-triggers) in workflows to be notified about scope changes.
Scope Limits
There are limits to the number of scopes you can select based on whether you are gathering inventory data to view effective access, activity data to view last access, or both. To gather both inventory and activity data, you must adhere to the smaller of the two limits.
- Inventory Data (Effective Access) - 30,000 projects
- Activity Data (Last Access) - 5,300 projects
- Both - 5,300 projects
**To change the scope of your included source data when using a SaaS-based connector:**
1. In the *Google Workspace SaaS* source, select **Cloud Scopes** under **Additional Settings**.
1. Select which cloud scopes to include:
- To automatically include data from all projects, enable **Auto-Include Scopes**. Deselecting a scope disables Auto-Include Scopes.
- To include a subset of projects, use the checkboxes to change which scopes are included.
1. Select **Save**.
Notes
- You can search for scopes as well as filter by excluded scopes and scopes with errors.
- The **Discovered by CIEM** column displays when changes to your source inventory were last detected by SailPoint CIEM. This is separate from aggregation.
You will next [aggregate accounts](https://documentation.sailpoint.com/saas/help/accounts/loading_data.html) and [mark the entitlement types](https://documentation.sailpoint.com/saas/help/ciem/gcp/gcp_entitlements.html#marking-gcp-cloud-enabled-entitlement-types) that grant cloud access.
## Using the Google Workspace VA-Based Connector
If you are onboarding SailPoint CIEM using a VA-based connector instead of SaaS, you must configure both the Google Workspace VA-based connector and the SailPoint CIEM GCP connector.
| | |
| ---------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **Google Workspace (formerly G Suite) VA-based connector** | Allows you to manage your GCP accounts, groups, and roles in Identity Security Cloud on virtual appliances. If your organization has licensed a SailPoint cloud management solution, it will also gather data on the cloud resources users are granted through your GCP organization, projects, accounts, and role assignments. |
| **SailPoint CIEM GCP connector** | Works with the Google Workspace VA-based connector to collect cloud resource data and display the total access an identity has on aggregated resources from your GCP cloud systems. |
You may connect your [Google Workspace VA-based](#connecting-the-google-workspace-va-based-connector) and [SailPoint CIEM GCP](#connecting-sailpoint-ciem-gcp) sources in any order.
### Connecting the Google Workspace VA-Based Connector
1. Follow the SailPoint Connector guide to configure or edit the [Google Workspace connector](https://documentation.sailpoint.com/connectors/g_suite/help/integrating_g_suite/introduction.html).
1. Select **Connection Settings**.
1. In **Cloud Resources Management Settings**, enable **Manage Cloud Resources**.
You must then use the [SailPoint CIEM GCP connector](#connecting-sailpoint-ciem-gcp) to display all access users have to your cloud resources.
### Connecting SailPoint CIEM GCP
The SailPoint CIEM GCP source pulls data daily about the cloud resources your GCP IaaS users can access.
To register SailPoint CIEM GCP:
1. Go to **Admin > Connections > Sources > Create New**.
1. Find the **CIEM GCP** source type and select **Configure**.
1. Enter a source name.
1. Enter a description for your source.
1. In the **Source Owner** field, begin typing the name of an owner. Matches appear after you type two letters.
1. (Optional) Select a [governance group](https://documentation.sailpoint.com/saas/help/common/users/governance_groups.html) for source management.
1. Select **Save**.
1. Select **Connection Settings** in the left panel.
1. In the **GCP Organization ID** field, enter the 10-digit organization ID. You can find this in the Google Cloud Platform console by selecting the dropdown list with your project or organization name. Select the **All** tab and copy the organization ID.
1. Enter an email with admin access to the Google Admin Console.
Note
The domain must be the same as the organization name. For example, if the organization name is "testorg.com", then the admin email will need to be formatted like "[smith@testorg.com](mailto:smith@testorg.com)".
1. Paste the JSON you received when [creating the key](https://documentation.sailpoint.com/saas/help/ciem/gcp/config_gcp.html#key) for the service account.
1. Select **Save**.
1. Select **Review and Test**.
1. Review the configuration details and select **Test Connection**. A successful test is required for SailPoint CIEM to gather data for this source.
Notes
- If the test connection fails, you can use the [Search](https://documentation.sailpoint.com/saas/help/search/index.html) query `name:“Test_connection Source Failed”` for more information.
- Some GCP asset types are [excluded](https://documentation.sailpoint.com/saas/help/ciem/viewing_cloud_access.html#excluded-gcp-asset-types) from SailPoint CIEM.
After a successful test connection, you can set the [source scope](#setting-source-scope-for-va-based-connections) or move on to [marking the entitlement types](https://documentation.sailpoint.com/saas/help/ciem/gcp/gcp_entitlements.html#marking-gcp-cloud-enabled-entitlement-types) that grant cloud access.
### Setting Source Scope for VA-Based Connections
By default, SailPoint CIEM reads and automatically discovers changes to your cloud infrastructure. If you are using a VA, you can choose to exclude scopes to prevent SailPoint CIEM from including data for those accounts.
When you exclude scopes, SailPoint CIEM will only read and include data from selected scopes. When Auto-Include Scopes is disabled, new and deleted folders and projects in your cloud system will be detected, but they will not be automatically included in your SailPoint CIEM data until you select them individually or reenable Auto-Include Scopes.
You can use the [CIEM event triggers](https://documentation.sailpoint.com/saas/help/workflows/workflow-triggers.html#ciem-triggers) in workflows to be notified about scope changes.
Scope Limits
There are limits to the number of scopes you can select based on whether you are gathering inventory data to view effective access, activity data to view last access, or both. To gather both inventory and activity data, you must adhere to the smaller of the two limits.
- Inventory Data (Effective Access) - 30,000 projects
- Activity Data (Last Access) - 5,300 projects
- Both - 5,300 projects
**To change the scope of your included source data when using a VA-based connector:**
1. In the [*CIEM GCP*](#connecting-sailpoint-ciem-gcp) source, select **Cloud Scopes** under **Additional Settings**.
1. Select which cloud scopes to include:
- To automatically include data from all projects, enable **Auto-Include Scopes**. Deselecting a scope disables Auto-Include Scopes.
- To include a subset of projects, use the checkboxes to change which scopes are included.
1. Select **Save**.
Notes
- You can search for scopes as well as filter by excluded scopes and scopes with errors.
- The **Discovered by CIEM** column displays when changes to your source inventory were last detected by SailPoint CIEM. This is separate from aggregation.
# Managing GCP Entitlements
To display your Google Cloud Platform entitlement data, you must mark [supported entitlements](#supported-entitlement-types) as [*cloud enabled*](#marking-gcp-cloud-enabled-entitlement-types).
## Supported Entitlement Types
You can use the following GCP entitlements:
- `Group`
- `iamResourcePermission`
## Marking GCP Cloud-Enabled Entitlement Types
When entitlements are pulled from your GCP cloud environment, you must mark the Group and Role entitlement types as **Cloud Enabled** in the G Suite source configuration. This will allow certification campaign reviewers to view the access users have to your GCP cloud infrastructure.
1. Go to **Admin > Connections > Sources**.
1. Select or edit the Google Workspace SaaS or va-based connector you enabled to [manage cloud resources](https://documentation.sailpoint.com/saas/help/ciem/gcp/connect_gcp.html).
1. In the **Entitlement Management** section, select **Entitlement Types and Schemas**.
1. [Edit the entitlement type](https://documentation.sailpoint.com/saas/help/loading_entitlements/entitlement_types.html#editing-an-entitlement-type) and select the **Cloud Enabled** checkbox for the following entitlements:
- `Group`
- `iamResourcePermission`
1. Select **Update**.
You can now view an identity's cloud access granted through entitlements and add cloud-based entitlement types to certification campaigns to allow certifiers to view the [effective access](https://documentation.sailpoint.com/saas/help/ciem/viewing_cloud_access.html#viewing-effective-access) an identity has to your GCP resources.
## Viewing Effective Access to GCP Resources
After [marking your entitlement types](#marking-gcp-cloud-enabled-entitlement-types), you can include cloud-enabled entitlements in certification campaigns to allow your certifiers to view [cloud access details](https://documentation.sailpoint.com/saas/help/ciem/viewing_cloud_access.html) like the last level of access and type of action taken on the resource.
If your organization has licensed [Machine Identity Security](https://documentation.sailpoint.com/saas/help/machine/index.html), you can also view effective access for machine identities that use Google Cloud Infrastructure Service Accounts.
# Configuring Okta for SailPoint CIEM
You can use Okta with SailPoint CIEM to identify cloud access by roles federated with an identity provider. CIEM supports direct AWS role assignments on Okta user-scoped/group-scoped account management in addition to the existing regex-based group role mapping. You can have multiple instances of the Okta app with different names.
To configure Okta to work with SailPoint CIEM, you must:
1. [Configure the AWS Account Federation app in Okta](https://help.okta.com/en-us/content/topics/deploymentguides/aws/aws-configure-aws-app.htm).
1. [Create an application token](https://developer.okta.com/docs/guides/create-an-api-token/create-the-token/).
1. Find and save your [application ID](#oktaApp).
Note
Identity Security Cloud does not support AWS roles as supported entitlements with Okta user-scoped account management.
## Finding Your Application ID
To find an application ID of the Okta instance you want to onboard:
1. Log in to Okta and go to the admin portal.
1. Select **Applications**.
1. Search for the name of the AWS instance you want to onboard and select it.
1. Once you have selected the application, copy and save the application ID embedded in the URL.
1. Repeat this process for the instances you want to include. You'll enter these in the Application ID field when you [connect Okta and SailPoint CIEM](https://documentation.sailpoint.com/saas/help/ciem/okta/connect_okta.html).
# Connecting Okta and CIEM
Once you have [configured](https://documentation.sailpoint.com/saas/help/ciem/okta/config_okta.html) your Okta account, you can connect it to CIEM using a SaaS connector or VA-based connector:
Choose your next step based on your configuration
- [SaaS-based connector](#using-the-okta-saas-connector) (recommended)
- [VA-based connector](#using-the-okta-va-based-connector) and the [CIEM Okta connector](#connecting-sailpoint-ciem-okta)
When you have completed the steps for your connection type, you can [aggregate](https://documentation.sailpoint.com/saas/help/accounts/loading_data.html) and [mark the entitlement types](https://documentation.sailpoint.com/saas/help/ciem/okta/okta_entitlements.html#marking-okta-cloud-enabled-entitlement-types) that grant cloud access. You can then view the [effective access](https://documentation.sailpoint.com/saas/help/ciem/viewing_cloud_access.html) those entitlements grant on aggregated Okta cloud resources and include cloud entitlements in certification campaigns.
## Using the Okta SaaS Connector
If you are using Okta SaaS, follow the connector guide to [enable SailPoint CIEM](https://documentation.sailpoint.com/connectors/saas/okta/help/saas_connectivity/okta/ciem_settings.html).
After a successful test connection, you will [aggregate accounts](https://documentation.sailpoint.com/saas/help/accounts/loading_data.html) and [mark the entitlement types](https://documentation.sailpoint.com/saas/help/ciem/okta/okta_entitlements.html#marking-okta-cloud-enabled-entitlement-types) that grant cloud access.
Note
If you previously configured both the Okta SaaS and CIEM Okta connectors, you do not need to take additional action to continue receiving your data.
## Using the Okta VA-Based Connector
If you are onboarding SailPoint CIEM using a VA-based connector instead of SaaS, you must configure both the [Okta VA-based identity governance](#connecting-the-okta-va-based-source) and [CIEM Okta cloud governance](#connecting-sailpoint-ciem-okta) connectors.
| | |
| -------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **Okta VA-based connector** | Allows you to manage your Okta users and groups in Identity Security Cloud on a virtual appliance (VA). If your organization has licensed SailPoint CIEM, it will also gather data about the AWS access granted to users through their Okta management groups. |
| **SailPoint CIEM Okta cloud governance connector** | Works with your Okta identity governance connector to collect cloud resource data and display the effective access an identity has on aggregated cloud resources from Okta. |
You may connect your [Okta identity governance](#connecting-the-okta-va-based-source) and [SailPoint CIEM Okta cloud governance](#connecting-sailpoint-ciem-okta) sources in any order.
After you've connected and [aggregated](https://documentation.sailpoint.com/saas/help/accounts/loading_data.html) your accounts and entitlements, you will [mark the entitlements](https://documentation.sailpoint.com/saas/help/ciem/okta/okta_entitlements.html#marking-okta-cloud-enabled-entitlement-types) related to cloud access. This will allow you to [view the cloud access](https://documentation.sailpoint.com/saas/help/ciem/viewing_cloud_access.html) granted through entitlements and include those entitlements in certification campaigns.
### Connecting the Okta VA-Based Source
Follow the SailPoint [Okta connector](https://documentation.sailpoint.com/connectors/okta/help/integrating_okta/introduction.html) guide. You must then also use the [CIEM Okta connector](#connecting-sailpoint-ciem-okta) to display all access users have to your cloud resources.
### Connecting SailPoint CIEM Okta
In addition to your Okta VA-based connection, you will also use the CIEM Okta source to pull daily data about the cloud resources your Okta IaaS users can access.
To create your CIEM Okta source:
1. Go to **Admin > Connections > Sources > Create New**.
1. Find the **CIEM Okta** source type and select **Configure**.
1. Enter a source name.
1. Enter a description for your source.
1. In the **Source Owner** field, begin typing the name of an owner. Matches appear after you type two letters.
1. (Optional) Select a [governance group](https://documentation.sailpoint.com/saas/help/common/users/governance_groups.html) for source management.
1. Select **Continue**.
1. Select **Connection Settings**.
1. Enter the URL where your organization's Okta instance is hosted in the Okta URL field. This must match the Okta URL in your identity governance Okta connector.
1. Enter your Okta API token in the **Application Token** field. If you are using an API token to authenticate your Okta identity governance source, they must match.
1. Enter the [Application ID](https://documentation.sailpoint.com/saas/help/ciem/okta/config_okta.html#oktaApp) of your configured Okta instance. You can enter multiple application IDs separated by commas.
1. Select **Save**.
1. Select **Review and Test**.
1. Review the configuration details and select **Test Connection**. A successful test is required for SailPoint CIEM to gather data for this source.
Note
If the test connection fails, you can use the [Search](https://documentation.sailpoint.com/saas/help/search/index.html) query `name:“Test_connection Source Failed”` for more information.
After a successful test connection, you will [mark the entitlement types](https://documentation.sailpoint.com/saas/help/ciem/okta/okta_entitlements.html#marking-okta-cloud-enabled-entitlement-types) that grant cloud access.
# Managing Okta Entitlements
To display your Okta entitlement data, you must mark [supported entitlements](#supported-entitlement-types) as [cloud enabled](#marking-okta-cloud-enabled-entitlement-types).
## Supported Entitlement Types
You can use the following Okta entitlement type:
- `group`
## Marking Okta Cloud-Enabled Entitlement Types
When entitlements are pulled from your Okta cloud environment, you must mark the `group` entitlement type as **Cloud Enabled** in the Okta source configuration. This will allow certification campaign reviewers to view the access users have to your Okta cloud infrastructure.
1. Go to **Admin > Connections > Sources**.
1. Select or edit the Okta SaaS or VA-based connector you enabled to [manage cloud resources](https://documentation.sailpoint.com/saas/help/ciem/okta/connect_okta.html).
1. In the **Entitlement Management** section, select **Entitlement Types and Schemas**.
1. [Edit the entitlement type](https://documentation.sailpoint.com/saas/help/loading_entitlements/entitlement_types.html#editing-an-entitlement-type) and select the **Cloud Enabled** checkbox for the following entitlement:
- `Groups`
1. Select **Update**.
You can now view an identity's cloud access granted through entitlements. You can include cloud-based entitlement types to certification campaigns to allow certifiers to view the [effective access](https://documentation.sailpoint.com/saas/help/ciem/viewing_cloud_access.html#viewing-effective-access) to your Okta resources.
## Viewing Effective Access to Okta Resources
After [marking your entitlement types](#marking-okta-cloud-enabled-entitlement-types), you can include cloud-enabled entitlements in certification campaigns to allow your certifiers to view [cloud access details](https://documentation.sailpoint.com/saas/help/ciem/viewing_cloud_access.html) like the last level of access and type of action taken on the resource.
# AI-Driven Identity Security
# SailPoint AI-Driven Identity Security Overview
SailPoint AI-Driven Identity Security includes powerful solutions that provide immediate value to your identity governance program.
AI-Driven Identity Security is available for both Identity Security Cloud and IdentityIQ users. Refer to [AI-Driven Identity Security for IdentityIQ](https://documentation.sailpoint.com/saas/help/ai/iiq/index.html) to view the options available to organizations using IdentityIQ.
Note
**Identity Security Cloud** is SailPoint’s next-generation identity security solution. It encompasses and builds on features and functions from IdentityNow. The product documentation covers both Identity Security Cloud and IdentityNow features.
## AI-Driven Identity Security
These solutions analyze identity and access data from Identity Security Cloud:
- **Harbor Pilot** - Use SailPoint's [AI agent](https://documentation.sailpoint.com/saas/help/ai/harbor_pilot/index.html) to find documentation, explore and manage identity data, build workflows, and more in Identity Security Cloud.
- **SailPoint application onboarding** - Automatically [discover](https://documentation.sailpoint.com/saas/help/ai/app_onboarding/app_discovery.html) your enterprise applications and [receive recommendations](https://documentation.sailpoint.com/saas/help/ai/app_onboarding/source_recommendations.html) on source configurations to speed up onboarding.
- **Access Insights** - Better understand access across your organization with [Identity Outliers](https://documentation.sailpoint.com/saas/help/ai/access_insights/outliers.html) and [Access Intelligence Center](https://documentation.sailpoint.com/saas/help/ai/access_insights/access_intelligence.html).
- **Access Modeling** - Dynamically determine, at scale, who should have access to what with [Role Insights](https://documentation.sailpoint.com/saas/help/ai/access_modeling/role_insights.html) and [Role Discovery](https://documentation.sailpoint.com/saas/help/ai/access_modeling/discover_roles.html).
- **Access Recommendations** - Empower users and certifiers in your organization to make more informed access decisions with [Access Request Recommendations](https://documentation.sailpoint.com/saas/help/ai/access_recs/recommendations.html) and [Certification Recommendations](https://documentation.sailpoint.com/saas/help/ai/access_recs/recommendations.html#using-recommendations-to-make-access-decisions).
## Connecting to Identity Security Cloud
If your organization has already [set up Identity Security Cloud](https://documentation.sailpoint.com/saas/help/getting_started/index.html), work with [Professional Services](https://community.sailpoint.com/t5/Working-With-Services/ct-p/Working_with_PS) to set up your tenant to use AI for identity governance.
Access History is enabled by default. If your organization uses SailPoint application onboarding, no additional setup is required. Other features require further setup by Professional Services.
## Configuring AI Core Attributes
Once your tenant is completely set-up and configured for AI services, you will be prompted to select your tenant's AI core identity attributes from a list of attributes rated by relevance. The list is formed after SailPoint analyzes your organization's identity profiles and attributes from Identity Security Cloud or IdentityIQ. You will select four attributes that you determine as the most impactful. The selected attributes should group identities in a way that aligns with your organization's structure and access needs. You can update or change your selections at any time.
Note
After selecting your AI core attributes, it can take up to 48 hours for the selections to reflect in SailPoint AI features.
AI core attributes unify how identity attributes are managed across the following SailPoint AI features:
- Role Insights
- Role Discovery
- Access Request Recommendations
- Certification Recommendations
- Identity Outliers
**To configure AI core attributes:**
1. Go to **MySailPoint** or **Admin > Identity Management > Identity Profiles**.
1. Locate the banner message to select your 4 most impactful attributes.
1. Select **Start Here**.
The list of attributes on the Configure AI Core Attributes page have been evaluated and given a relevance rating by SailPoint AI.
1. (Optional) Explore relevance ratings for a listed attribute by selecting **Why?**.
1. Select your four most impactful attributes.
1. Select **Save**.
**To update AI core attributes:**
1. Go to **Admin > Identity Management > Identity Profiles**.
1. Select **Edit AI Core Attributes**.
1. Select your updated four most impactful attributes.
1. Select **Save**.
After the next aggregation, the most recent AI core attribute selections will be used across the AI features listed above.
# Model Context Protocol Server
The SailPoint Model Context Protocol (MCP) Server functions as a bridge between 3rd-party AI agents and Identity Security Cloud, providing MCP-compliant tools that enable seamless and scalable interactions with SailPoint services. The MCP server translates AI agents' requests into API calls and orchestrates workloads based on live traffic.
## Getting Started
For directions and guidance on registering an agentic application, setting up the MCP server, sample prompts, and using MCP Inspector to validate your configurations, refer to the [Model Context Protocol documentation in the Developer Community](https://developer.sailpoint.com/docs/extensibility/mcp).
When you have completed your setup, you can use the MCP server to perform [supported actions](#using-the-mcp-server).
## Using the MCP Server
The SailPoint MCP server acts as a translation layer between AI agents through the [Model Context Protocol](https://modelcontextprotocol.io/) and [SailPoint APIs](https://developer.sailpoint.com/docs/api/v2024/) to provide standardized interfaces for performing supported actions.
**The MCP server can support the following access request actions:**
| Action | Description |
| --------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| List Requestable Items | AI agents can query the list of items that are requestable by the user. |
| Initiate Access Request | When the AI agent is asked or detects that the interacting user is lacking access to an item, the AI agent can initiate access requests for items the user cannot currently access. The AI agent can also request access for another user if an administrator has [enabled requests on behalf of others](https://documentation.sailpoint.com/saas/help/requests/requests_for_others.html). |
| Query Access Request Status | AI agents can use the access request ID to report on the status of the access requests. |
| Cancel Access Request | AI agents can cancel pending access requests. |
**The MCP server can support the following SecOps Identity Intelligence actions:**
| Action | Description |
| ------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| Get Identity Intelligence | AI agents can look up a human identity by ID or email and retrieve a curated intelligence overview, including the identity profile, access, risk, and access history. |
| Get Identity Resource | AI agents can retrieve a specific, paginated set of identity intelligence for a human identity, such as accounts, rare access, access items, or certifications. AI agents can also request the next page of results using the continuation URL from a previous response. |
### Viewing Audit Events from the MCP Server
When you create or cancel access requests through the MCP server, audit events are generated and displayed in Identity Security Cloud. You can find these events using [Search](https://documentation.sailpoint.com/saas/help/common/audit-reports.html#audit-reports-in-search).
Access requests that are created using the MCP server will have a comment that says `Requested by AI on behalf of `, and canceled requests will say `Canceled by AI on behalf of the user `.
# Access Insights
SailPoint Access Insights helps organizations better understand their access.
- **[Identity Outliers](https://documentation.sailpoint.com/saas/help/ai/access_insights/outliers.html)** - Enables administrators to quickly discover and remediate risky access in an organization.
- **[Access Intelligence Center](https://documentation.sailpoint.com/saas/help/ai/access_insights/access_intelligence.html)** - Visualize and track your governance environment data over time.
# Access Intelligence
The Access Intelligence Center allows you to discover key insights into your identity and administration program. You can view and create dashboards to customize the data you view.
- The Access Intelligence Center dashboard is an identity program overview focusing on identity relationships. Data displayed in the Access Intelligence Center includes human identities, human accounts, requests, certifications, separation of duties, and access relationships. Depending on your tenant's configuration, you may also view data for machine accounts, application identities, and AI agents.
- The AIC Audit dashboard focuses on more tangible audit events, such as access requests, certifications, lifecycle state, addition and removal of entitlements, and creation or deletion of accounts. It contains data from the last 3 months or 5 million events.
- The Non-Employee Risk Management dashboard focuses on non-employee and assignment data. To display your non-employee data, the account attributes of the person and assignment profile types you wish to display must be [synchronized](https://documentation.sailpoint.com/ne-admin/help/connector/index.html#synchronizing-data-to-the-access-intelligence-center) to the Access Intelligence Center.
- The Data Access Security dashboard displays key insights into on-boarded applications in Data Access Security. Detailed reporting is available for account information, application resources, and permissions and data classification information associated to those resources.
- The SailPoint Cloud Infrastructure Entitlement Management (CIEM) dashboard includes fine-grained cloud infrastructure entitlement details on cloud resources and services, actions, and usage data. This identity data can be used with entitlement data to inform least privilege strategy and correctly size the access model and cloud entitlements.
With [Access Intelligence Center - Reader](https://documentation.sailpoint.com/saas/help/common/users/user_levels.html#access-intelligence-center-reader-user-level) permissions, users can view public sheets and further filter the data. With [Access Intelligence Center - Author](https://documentation.sailpoint.com/saas/help/common/users/user_levels.html#access-intelligence-center-author-user-level) permissions, users can view public sheets, create public or private sheets, and bookmark certain filters for future use.
Notes
- If you are using standard [user levels](https://documentation.sailpoint.com/saas/help/common/users/user_levels.html) and want to read, create, or modify data in Access Intelligence Center, you must be assigned as either an Admin or Report Admin. If your organization has [Custom User Levels](https://documentation.sailpoint.com/saas/help/common/users/custom_user_levels.html), you can assign AIC Reader or AIC Author permissions individually without requiring Admin or Report Admin permissions.
- Applications that are not licensed in your organization are displayed in a disabled state. Contact your Customer Success Manager for more information.
- Third party cookies must be enabled on your browser. Safari is not a supported browser.
- Customers that enforce strict firewall allowlists should add traffic to [cdn.qlikcloud.com](http://cdn.qlikcloud.com/) on port 443 to their list.
- Data changes in Identity Security Cloud might take up to 24 hours to reflect in the dashboard.
- Customers hosted in Canada should select the Qlik Sense documentation links.
**To view the Access Intelligence Center:**
Go to **Home > Access Intelligence Center** and select the **Access Intelligence Center**, **AIC Audit**, **Data Access Security**, **SailPoint CIEM**, or **Non Employee Risk Management** card.
## Sheets
Use sheets to display customized visualizations to analyze and explore your data. You can view any public sheets and filter the data within the sheet to get more information. With [Author](https://documentation.sailpoint.com/saas/help/common/users/user_levels.html#access-intelligence-center-author-user-level) permissions, you can create public or private sheets.
Sheets are comprised of visualizations, including charts, extensions, or other objects that display your data in a meaningful way. Visualizations use [measures and dimensions](https://help.qlik.com/en-US/cloud-services/Subsystems/Hub/Content/Sense_Hub/Visualizations/visualizations-in-app.htm#anchor-1) to group and calculate the data. These are the visual representations of your data in a sheet. Refer to [Qlik documentation](https://help.qlik.com/en-US/cloud-services/Subsystems/Hub/Content/Sense_Hub/Visualizations/visualizations-in-app.htm) for more information on using visualizations. Customers hosted in Canada refer to [Qlik Sense documentation](https://help.qlik.com/en-US/sense/February2024/Subsystems/Hub/Content/Sense_Hub/Visualizations/creating-visualization.htm).
### Creating a Sheet
The Sheets page allows you to view any public sheets as well as any private sheets you have created. You can also create a new sheet from here.
Select **Sheets** under the **Analyze** tab in the navigation bar to open the Sheets page.
**To create a sheet:**
1. From the Sheets page, go to the **Sheets** tab in the toolbar.
1. Select **Create new sheet** and enter a **Title** and **Description** for the new sheet.
1. Select **Enter** to create the sheet.
1. Select your new sheet to start building.
Note
There is a 5 GB total size limit in the application that includes, but is not limited to, raw data, sheets, bookmarks, and users.
### Building a Sheet by Exploring the Data
Explore your data directly and choose what to add to your new sheet. You can have an Insight Advisor assist with generating insights.
1. From your new sheet, select **Explore the data**.
1. Select a **Dimension** or **Measure**.
Any visualizations that work with the dimension or measure you selected will display.
1. Select **Add to sheet** on the visualization you want to add.
1. Select the name of your new sheet to add the visualization.
Repeat steps 2-4 as many times as needed to build your sheet.
1. After you have built your sheet, select the **Insight Advisor** tab to turn off Insight Advisor and view your sheet.
You can add more visualizations in this way at any time by selecting the Insight Advisor tab.
### Building a Sheet by Asking a Question
Ask the Insight Advisor to help you find new insights. These insights can be saved to your new sheet.
1. From your new sheet, select **Have a question?**
The **Ask a question** field at the top of the page expands.
1. Enter a question you would like the Insight Advisor to help you answer.
As you type, options will start to display in a dropdown.
1. Select **Enter** to submit the question or select from the dropdown.
The Insight Advisor displays visualization options showing the data you asked about.
1. Select **Add to sheet** on the visualization you want to add.
1. Select the name of your new sheet to add the visualization.
Repeat steps 2-5 as many times as needed to build your sheet.
1. After you have built your sheet, select the **Insight Advisor** tab to turn off Insight Advisor and view your sheet.
You can add more visualizations in this way at any time by entering a question into the Ask a question field at the top of the page.
### Building a Sheet by Creating New Analytics
Start building your sheet by adding your own customized visualizations.
1. From your new sheet, select **Create new analytics**.
1. Select a visualization type.
1. Add a **Dimension** to the visualization:
a. Drag and drop your selection or select **Add dimension** and then choose from the dropdown.
1. Add a **Measure** to the visualization:
a. Drag and drop your selection or select **Add measure** and then choose from the dropdown.
1. Select **+ Add** to add a filter.
1. Make selections under **Presentation** to customize the appearance of the visualization.
1. Select **+** to the right or below a visualization to add a new visualization in that position.
Visualizations can be dragged into new positions within the sheet.
1. After you have configured your dashboard, select the **Edit sheet** button to exit edit mode and view your new sheet.
You can add more visualizations in this way at any time by selecting the **Edit sheet** button. Refer to [Qlik documentation](https://help.qlik.com/en-US/cloud-services/Subsystems/Hub/Content/Sense_Hub/Visualizations/create-visualizations.htm) for more information on creating visualizations. Customers hosted in Canada refer to [Qlik Sense documentation](https://help.qlik.com/en-US/sense/February2024/Subsystems/Hub/Content/Sense_Hub/Visualizations/create-visualizations.htm).
### Using Automatically Generated Sheets
The Access Intelligence Center comes with some automatically generated sheets if your instance has specific attributes mapped to identity attributes.
The automatically generated sheets filter for attributes that look like Job Title, Department, State, Location. If there are multiple attributes that fit these criteria, the attribute with the highest count is selected and displayed in the chart. If the count is identical, the first alphabetically is selected. Numbers are excluded from this sort.
If the filter does not select your desired attributes, you can rename your identity attributes or author your sheets as desired.
If your mapping does not meet the below requirements, an error message notifies you that you have an incomplete visualization. To update your sheet to meet the requirements, [duplicate](#duplicating-a-sheet) the provided sheet and update the attributes.
## Managing a Sheet
Any sheets you create are private and stored under My sheets. From the Sheets tab in the toolbar, you can make changes to the details of your sheets. Open a sheet to make changes to the data in the sheet.
### Editing a Sheet
Open a private sheet to make changes. You can add more visualizations by entering a question into the **Ask a question** field at the top of the page, selecting the **Insight Advisor** tab, or selecting the **Edit sheet** tab.
If you want to make modifications to a sheet but it is public, you can duplicate the sheet and then make any edits. Refer to [Duplicating a Sheet](#duplicating-a-sheet) for more information.
### Publishing a Sheet
You can publish a private sheet to make it public and visible to everyone.
**To publish a sheet:**
1. Go to **Sheets > My sheets**.
1. Right-click the sheet you want to publish.
1. Select **Publish**.
1. Select **Publish** to confirm.
You can now find this sheet in **Sheets > Published by me**.
**To unpublish a sheet:**
1. Go to **Sheets > My sheets**.
1. Right-click the sheet you want to publish.
1. Select **Unpublish**.
1. Select **Unpublish** to confirm.
### Renaming a Sheet
Private sheets can be renamed from the Sheets tab in the toolbar.
1. Go to **Sheets > My sheets**.
1. Select the **Info** icon on the sheet you want to delete.
1. Select the **Edit sheet** icon .
1. Enter a new name for the sheet.
1. Select the **Stop editing** icon .
### Duplicating a Sheet
You can duplicate any sheet visible to you by opening the sheet and selecting **Duplicate** in the toolbar. This allows you to immediately duplicate the current sheet and enter edit mode. Select **Edit sheet** to turn off edit mode and save the sheet. This duplicate sheet is private and is stored in My sheets.
You can also right-click on a sheet under the Sheets tab and select **Duplicate**. Name the duplicate sheet and select **Enter** to save the new sheet.
### Deleting a Sheet
Private sheets can be deleted from the Sheets tab in the toolbar.
1. Go to **Sheets > My sheets**.
1. Select the **Info** icon on the sheet you want to delete.
1. Select the **Edit sheet** icon .
1. Select the **Delete** icon .
1. Select **Delete** to confirm the deletion of the sheet and all its contents.
## Viewing Your Data
When you open a sheet, you can view your data in the visualizations of that sheet. You can also [add filters to the visualizations](https://help.qlik.com/en-US/cloud-services/Subsystems/Hub/Content/Sense_Hub/Sheets/visualization-filters.htm) to narrow down the data and gain additional insights.
### Making Selections
Select the **Selections tool** button to go to the Selections page. Here, you can see all possible filters and which filters are currently applied. You can add or remove selections within this page. Select the **Selections tool** button again to exit and return to your sheet.
At the top of the sheet, you can apply suggested filters to all visualizations as selections are made. You can also select the data within a visualization to apply filters to all visualizations.
You can click or draw to [make selections](https://help.qlik.com/en-US/cloud-services/Subsystems/Hub/Content/Sense_Hub/Bookmarks/create-bookmark.htm) within most visualizations. This updates the other visualizations and allows you to focus on specific values.
### Bookmarking Selections
You can save filter selections and a sheet location to a bookmark. This allows you to reopen a sheet and restore the selections you had applied. You can also apply these selections to other sheets with the same data.
Refer to [Qlik documentation](https://help.qlik.com/en-US/cloud-services/Subsystems/Hub/Content/Sense_Hub/Bookmarks/create-bookmark.htm) for more information on creating bookmarks. Customers hosted in Canada refer to [Qlik Sense documentation](https://help.qlik.com/en-US/sense/February2024/Subsystems/Hub/Content/Sense_Hub/Bookmarks/create-bookmark.htm).
### Viewing Visualizations
You can get more information, modify, or download visualizations in a sheet. Right-click on a visualization or select the **ellipses** icon to see your options.
- Full screen: Expands the visualization to full screen. Select the **X** to exit full screen.
- Show details: Displays any dimension or measure used in the visualization.
- View data: Use this to switch to a list view of the data. To return, select the **ellipses** icon and choose **View Chart**.
- Notes: Create a note or find notes related to this chart.
- Storytelling Snapshots: Take a snapshot of the chart to add to a story.
- Download: Download the visualization as an xlsx file, a png image, or a PDF.
## Using Storytelling
You can tell stories to share your data insights with an audience. This allows you take snapshots and share specific visualizations with others in a presentation format.
Refer to [Qlik documentation](https://help.qlik.com/en-US/cloud-services/Subsystems/Hub/Content/Sense_Hub/StoryTelling/storytelling-view.htm) for more information on storytelling. Customers hosted in Canada refer to [Qlik Sense documentation](https://help.qlik.com/en-US/sense/February2024/Subsystems/Hub/Content/Sense_Hub/StoryTelling/storytelling-view.htm).
Select **Storytelling** under the **Narrate** tab in the navigation bar to create or open a story.
## Using Notes
You can create, share, and collaborate on notes in your space under the Notes tab.
Refer to [Qlik documentation](https://help.qlik.com/en-US/cloud-services/Subsystems/Hub/Content/Sense_Hub/Notes/notes-using.htm) for more information on using notes.
## Monitoring Charts in MySailPoint
If your organization has licensed [Atlas Enterprise](https://documentation.sailpoint.com/main_landing_page/customer_agreements.html), you can view charts for [public sheets](#sheets) on your [Home Page](https://documentation.sailpoint.com/saas/help/getting_started/dashboard.html) using custom MySailPoint widgets.
Notes
- A chart can be set to be monitored multiple times. We recommend renaming the chart each time it is monitored to enable you to identify each instance.
- Access Intelligence Center uses a Client Credential to support the MySailPoint widget integration. The callback triggers a refresh and does not pass any customer data. The client credential is scoped to only allow calling of that single refresh endpoint on a SailPoint microservice. Terms included in this credential are `OAuth client QLIK-BIR`, `CLIENT_CREDENTIALS`, and `sp:monitored-charts:refresh`.
**To make a chart available in MySailPoint widgets:**
1. (Recommended) Duplicate the sheet of the chart you want to make available.
1. Right click on the chart you want to make available.
1. Select the chart type or the **ellipses** icon .
1. Select **Monitor in activity center**.
1. (Recommended) Rename the chart.
1. In the **Location** drop-down, select **AIC**.
1. Select **Monitor**.
You can now add the chart to your Home Page.
**To add a chart to your MySailPoint widget:**
1. From your **Home Page**, select **Dashboards**.
1. Select **My Dashboards** or **Shared Dashboards** from the left panel.
1. Select **Edit** on the dashboard you want to add the chart to.
1. Select the **Available Widgets** tab.
1. Select **Access Intelligence Center** from the left hand panel.
1. Select **+ Add** on the chart you want to add.
1. Select **View**.
# Identity Outliers
*Identity Outliers*, part of SailPoint Access Insights, enables administrators to quickly discover and remediate risky access in an organization. SailPoint discovers identities with access that is significantly different than their peers. By gathering and presenting these identity outliers in one place, admins can quickly examine and address risky access privileges in their organization.
Note
Due to limitations in AWS regional support, Identity Outliers are only available for customers in AWS regions where the AWS SageMaker LLM that SailPoint employs is supported.
The following regions are unavailable:
- Middle East (UAE): me-central-1
**Prerequisites**
- Your organization must have [Access Insights](https://documentation.sailpoint.com/saas/help/ai/access_insights/index.html) to access Identity Outliers.
- Your organization must have [Certifications](https://documentation.sailpoint.com/saas/help/certs/index.html) to launch certification campaigns from Identity Outliers.
- Your organization must have configured a source and loaded account data.
- Your organization’s account data must be onboarded into AI-Driven Identity Security.
**Process Overview**
1. [Launch](#discovering-outliers) the Identity Outlier Dashboard to discover outliers.
1. [Review](#reviewing-outliers) the discovered outliers.
1. [Remediate](#remediating-outliers) some or all outliers.
Each process overview step is described in detail in the sections that follow.
## Discovering Outliers
Navigate to **Admin > Identity Management > Outliers** to display the Identity Outlier Dashboard. The dashboard presents high-level, summary information about outliers in your organization and recommended actions for remediation. SailPoint looks for new outliers regularly.
The dashboard can be accessed by Admins or users with the [report admin user level](https://documentation.sailpoint.com/saas/help/common/users/user_levels.html#report-admin-user-level).
The Total Outliers card displays the following information:
- The total number of identities that have low-similarity access compared to others in the organization.
- Trends over the last 30 days, such as how many more or fewer outliers have been discovered, or whether the number of outliers has stayed the same.
If your organization has [Certifications](https://documentation.sailpoint.com/saas/help/certs/index.html), the Recommended Actions section of the dashboard provides a quick remediation action to certify all outliers.
## Reviewing Outliers
Before you decide what to do about the identity outliers in your organization, you might want to review who they are, their attributes, and why they are an outlier.
To review a list of all discovered identity outliers, select the **Total Outliers** card.
You can review outlier information for all outliers in the [Identity Outliers list](#working-with-the-identity-outliers-list) or explore [contextual insights](#viewing-outlier-score-contextual-insights) for each individual outlier identity.
### Working with the Identity Outliers List
The Identity Outliers list displays the following information for each outlier:
- An outlier score ranging from 0-100 that indicates the potential riskiness of an identity based on their individual security factors.
- The date they were discovered to be an outlier.
- The [AI core identity attributes](https://documentation.sailpoint.com/saas/help/ai/index.html#configuring-ai-core-attributes) that you configured after AI services setup. Any updates you make to your AI core attributes will also update the attributes displayed for each outlier.
You can work with the list of outliers as follows:
- On the Identity Outliers page, review the list of outliers by scrolling or searching for an identity name.
- Select the **Sort and Filter** icon to sort the outliers list and filter by certification status, outlier date range, or identity attributes.
The Outlier Certification Status checkboxes pertain only to active certifications. Staged/scheduled certifications are not considered to be active.
- To see the access history for an outlier, select the **More Options** icon , then **View Access History**. You will be redirected to the [Access History](https://documentation.sailpoint.com/saas/help/identities/access_history.html) page for the identity.
- To ignore an identity outlier, select **Options > Ignore**. The identity will not be discovered as an outlier again unless there is a significant change in their entitlements.
If the ignored identity's entitlements change significantly, the identity will be redetected as an outlier and will reappear in the Identity Outliers list.
- To unignore a previously ignored outlier, select the **More Options** icon , then **Unignore**.
- To export outlier data to a .csv file, select **Export**.
### Viewing Outlier Score Contextual Insights
On the Identity Outliers page, select an outlier from the list to see the contextual insights for the outlier score.
Several outlier score factors contribute to an identity’s outlier score.
The factors displayed depend on the data available for the outlier identity. So the factors displayed might be different from one identity to another. Any of the following factors may be displayed:
- **Peer Access Similarity** - A percentage showing how similar the outlier's access is to the access of their closest peer.
- **Standalone Entitlements** - The number of the outlier's entitlements that are not bundled in an access profiles or role. Higher counts are potentially riskier.
- **Rare Access** - The percentage of the outlier’s entitlements that are held by less than 1% of all identities in the organization. Higher percentages represent greater risk.
- **Roles with a Single Entitlement** - The number of the outlier's roles that contain only 1 entitlement. Higher numbers suggest closer attention to the role definitions may be warranted.
- **Entitlement Count** - The outlier’s total number of entitlements. This warrants attention when the number is much higher or much lower than the average count across your identities.
- **Access Profile and Role Uniqueness** - The uniqueness of the identity's roles compared to other roles in the organization.
You can select outlier score factor cards to view [details](#viewing-outlier-score-factor-details) about the factor.
### Viewing Outlier Score Factor Details
On the Outlier Score Contextual Insights page, select an outlier score factor card to launch a factor details page that includes information about why this factor matters in your access model.
Depending on the factor, a percentage or peer average comparison visualization based on peer group analysis quickly demonstrates why this factor contributed to the score.
These factors provide a comparison of the identity outlier's access items to the peer average:
- Entitlement Count
- Standalone Entitlements
- Roles with a Single Entitlement
These factors provide a percentage comparison of the identity outlier to their peers or the overall organization:
- Peer Access Similarity
- Rare Access
- Access Profile and Role Uniqueness
The Peer Access Similarity page also includes the identity of the outlier's closest peer.
Each outlier factor details page also provides a searchable list of access items contributing to the outlier score. Select any access item in the list to learn more about its access.
Some entitlements in the access item list may have an Extremely Rare label. Extremely rare entitlements are the 10 rarest entitlements in your organization. The label may appear in lists for each outlier score factor if those entitlements are assigned to an identity outlier. You may see more than 10 entitlements labeled Extremely Rare. This occurs when the tenth item’s counts are the same for multiple entitlements, so everything with that count is tagged Extremely Rare.
## Remediating Outliers
You can remediate your organization’s identity outliers by [starting a certification campaign](https://documentation.sailpoint.com/saas/help/certs/starting_campaign.html) to have their access reviewed and approved. [Certifications](https://documentation.sailpoint.com/saas/help/certs/index.html) help organizations reduce the risk of inappropriate access, satisfy audit requirements, and meet regulatory standards.
Note
Certification is limited to 1,000 identity outliers per campaign.
You can create outlier certification campaigns from the Identity Outlier Dashboard or from the Identity Outliers page:
- On the Identity Outlier Dashboard, select **Create Certification** to start a certification campaign for all discovered outliers.
- On the Identity Outliers page:
- Select **Create Certification** for a single outlier.
- Select checkboxes for multiple outliers, and then select any **Create Certification** button to certify several outliers in one campaign.
Identity Outliers will automatically pre-fill a new certification campaign with the identities and entitlements. You can review them and input an appropriate certification name and campaign details to confirm the campaign.
Best Practice
We recommend you include the text "Identity Outliers" in the certification name or description to capture the source of the campaign.
# Access Modeling
SailPoint Access Modeling features enable organizations to dynamically determine who should have access to what. Access Modeling works at scale to increase the efficiency and accuracy of your organization's access model.
- **[Role Insights](https://documentation.sailpoint.com/saas/help/ai/access_modeling/role_insights.html)** - Provides a greater understanding of your organization's role program, and suggests changes to your existing roles to make them more secure.
- **[Role Discovery](https://documentation.sailpoint.com/saas/help/ai/access_modeling/discover_roles.html)** - Identifies user access patterns and determines potential roles, or bundles of access, that accurately align with what users actually do in an organization.
- **[Discover Common Access](https://documentation.sailpoint.com/saas/help/ai/access_modeling/discover_common_access.html)** - Discovers access that is common across an organization and not tied to a specific job function.
# Discovering Common Access
Access Modeling helps administrators discover and manage access that is common across an organization and not tied to a specific job function. Bundling common, or birthright, access into roles that can be assigned to large groups of employees improves your access model by enabling:
- Faster and more efficient onboarding
- Fewer access requests and certifications of non-risky items
- More relevant insights and suggestions from Role Discovery and Access Request Recommendations
Important
Entitlements assigned directly to common access roles (not through an access profile) are excluded from future [Role Discovery](https://documentation.sailpoint.com/saas/help/ai/access_modeling/discover_roles.html) and [Access Request Recommendations](https://documentation.sailpoint.com/saas/help/ai/access_recs/recommendations.html) processes.
New common access roles can be discovered in the following ways:
- [Confirm discovered common access roles after signing in](#confirm-discovered-common-access-roles-after-signing-in).
- [Discover common access roles during role discovery](#discover-common-access-roles-during-role-discovery).
- [Manually designate existing roles as common access](#manually-designate-an-existing-role-as-common-access).
## Confirm Discovered Common Access Roles After Signing In
1. Sign in to Identity Security Cloud. When SailPoint has discovered common access roles, admins receive a notification.
1. In the notification, select **Confirm common access** to see the discovered common access roles.
1. Deselect the **Common Access** checkbox for any roles you *do not* want to designate as common access.
1. Select **Confirm**. SailPoint will check to see if there are any more common access roles and display them.
## Discover Common Access Roles During Role Discovery
You can select the **Discover Common Access Roles** option when you [discover roles](https://documentation.sailpoint.com/saas/help/ai/access_modeling/discover_roles.html) starting from either Role Insights or Search.
## Manually Designate an Existing Role as Common Access
You can designate an existing role as common access on the role page (**Admin > Access Model > Roles > \<*role name*>**) by selecting the **Common Access** checkbox.
You can also designate an existing role as common access using the [IAI Common Access API](https://developer.sailpoint.com/docs/api/beta/iai-common-access/).
# Discovering Roles
Role Discovery, part of Access Modeling, identifies user access patterns and determines potential roles, or bundles of access, that accurately align with what users actually do in an organization.
To discover potential roles, SailPoint uses a [patented](https://www.sailpoint.com/patents) network graph analysis. Entitlement-based similarities are found among the identities in an organization, and identities are organized into cluster communities, or peer groups, with similar access. This network graph enables SailPoint to detect and discover roles with least-privileged access for groups of very similar identities.
You can access Role Discovery as soon as Access Modeling is enabled for your org.
After potential roles have been discovered, you can:
- [Save the role discovery session](#saving-role-discovery-sessions) to explore and work with later.
- [Save potential roles as drafts](#saving-draft-roles) to work with later.
- [Automatically create a new role](#creating-new-roles-from-potential-roles) and continue onto role assignment configuration.
- [Export potential role data](#exporting-and-using-potential-role-data) and use it to evaluate the accuracy or effectiveness of their current roles and then manually create new roles that better align with the access users need.
#### Role Discovery Process Overview
Each process overview step is described in detail in the sections that follow.
1. [Define a group of identities and launch Role Discovery](#discovering-potential-roles).
1. [Work with the potential role results](#working-with-potential-roles-results) and [save the role discovery session](#saving-role-discovery-sessions) to work on later.
1. [Explore potential roles](#exploring-potential-roles).
1. [Refine the entitlements for a potential role](#refining-entitlements-for-a-potential-role) and [save the role as a draft](#saving-draft-roles) to work on later.
1. [Export the potential role data](#exporting-and-using-potential-role-data) to a ZIP file for evaluating offline and manually creating new roles.
1. [Automatically create a new role from a potential role](#creating-new-roles-from-potential-roles).
Important
SailPoint also [automatically discovers potential roles](https://documentation.sailpoint.com/saas/help/ai/access_modeling/role_insights.html#exploring-automatically-discovered-potential-roles) and makes them accessible through the **Auto-Discovered Roles** tile on the Role Insights page.
## Discovering Potential Roles
You can launch Role Discovery from either [Role Insights](#discover-roles-from-role-insights) or [Search](#discover-roles-from-search) to display potential roles based on the optimal role granularity derived from our AI algorithms.
New identities and entitlements added to your organization are available for Role Discovery on the following day.
### Discover Roles from Role Insights
1. Go to **Admin > Access Model > Role Insights** and select **Discover Roles** to launch the Define a Group of Identities page.
On this page you can use the filters to define a group of identities that you expect to have shared entitlements through roles.
1. Select an attribute type and value(s) from the dropdown lists. The attribute type and value dropdown lists can each hold up to 1,000 items.
1. Select the **Add filter** icon to apply the filter. Multiple filters can be applied and will be combined with AND operators to narrow the number of identities.
Caution
Searching for dates in the Attribute Value search field will result in an error. Instead, scroll through the list and select specific date attribute values.
1. After adding filters to define a group of identities, select **Discover Roles**.
1. Select either **Discover Common Access Roles** or **Discover Specialized Roles**.
Common access roles contain broad access that is common across an organization and not tied to a specific job function. Specialized roles contain access that is specific to a functional area within the organization.
After the role discovery process completes, the Potential Role Results page lists all the potential roles that were discovered. You can [work with the potential role results](#working-with-potential-roles-results) in various ways.
### Discover Roles from Search
1. Go to **Admin > Search** and enter a search query.
Note
SailPoint recommends using targeted, specific search queries to narrow down the identities to groups that you want to have shared entitlements through roles.
When searching on \*(all), there is a limit of 25,000 identities returned. SailPoint does not recommend searching on \*(all). For more information on Search syntax, refer to [Building a Search Query](https://documentation.sailpoint.com/saas/help/search/building-query.html).
1. Select **Role Discovery**.
1. Select either **Discover Common Access Roles** or **Discover Specialized Roles**.
Common access roles contain broad access that is common across an organization and not tied to a specific job function. Specialized roles contain access that is specific to a functional area within the organization.
After the role discovery process completes, the Potential Role Results page lists all the potential roles that were discovered. You can [work with the potential role results](#working-with-potential-roles-results) in various ways.
## Working with Potential Roles Results
The Potential Role Results page lists the potential role results from the role discovery session.
Some of the discovered roles may have a High Impact label . High-impact roles are unique with similar access among identities and will improve your organization’s access model the most. The Potential Role Results list can be sorted by role impact, identity access similarity, number of identities, or number of entitlements.
From the Potential Role Results page, you can work with the potential roles list in the following ways:
- Select **Session Criteria** to [view the session criteria and identity filters](#viewing-session-criteria) applied to the session.
- Use the search bar to query across all identity attributes and narrow down the potential role list.
- Select the **Settings** icon to [edit session settings](#editing-session-settings).
- Select the **Sort** icon to sort the list by role impact, identity access similarity, number of identities, or number of entitlements.
- [Save the role discovery session](#saving-role-discovery-sessions).
### Viewing Session Criteria
Select **Session Criteria** at the top of the Potential Role Results page to view the session settings and identity filters applied to the session.
To change the identity filters, select **Start a New Session** to return to the Define a Group of Identities page and begin a new session.
To edit the session settings, close the Session Criteria window and then select **Settings** on the Potential Role Results page.
### Editing Session Settings
Select the **Settings** icon to modify the potential roles displayed in the list:
1. Use the **Role Granularity** slider to adjust the size and specialization of the potential roles. The orange pin on the slider represents the smart default value that our AI algorithms used to discover the initial set of potential roles displayed.
A lower role granularity percentage displays potential roles with broader access. The potential roles discovered will each include higher numbers of identities with less entitlement similarity. In general, the included identities are less similar to each other. The roles are easier to manage, but it is possible that some identities might gain access that isn’t completely essential to their job function.
A higher role granularity percentage displays potential roles with more specialized access. The potential roles discovered will each include fewer identities with more entitlement similarity. It can take longer to evaluate and maintain a large number of potential roles with higher specialization. However, the potential roles will have a higher level of relative security due to more entitlement similarity.
1. Adjust the **Minimum Number of Identities** to display only the potential roles that include at least that number of identities.
1. Select **Apply** to update the list of potential roles based on your changes.
## Exploring Potential Roles
Potential roles can be explored from newly discovered [potential role results](#working-with-potential-roles-results), a [saved role discovery session](#saving-role-discovery-sessions), or [saved draft roles](#saving-draft-roles). You can explore the properties and attributes of a potential role as follows:
1. Select **Attributes** for any potential role to quickly view the role’s top 4 [AI core attributes](https://documentation.sailpoint.com/saas/help/ai/index.html#configuring-ai-core-attributes) (by percentage) shared among the included identities.
Note the following conditions for how attributes are displayed:
- The attributes available depend on the AI core attributes that were selected after AI services setup.
- If the attributes show Not Applicable, it means those attributes were not mapped for any identities included in the potential role. For example, this could be the case for a potential role that includes contract workers not assigned any AI core identity attributes.
1. To see detailed information for a potential role, select the potential role name or **Work On This Role** in the Attributes view. The Composition screen for the potential role displays an entitlement popularity visualization.
The table below the visualization lists the role’s entitlements along with their % Popularity.
If your organization has Activity Insights and has set up the relevant connectors, Source Usage data will also display in this table. This data shows the percentage of identities who have used the related source in the past 90 days. Selecting the percentage displays further information about the identities and their usage.
1. Select the **Excluded Entitlements** tab to see the entitlements that are excluded from the potential role. The Reason Excluded column indicates why the entitlement is excluded: Common Access, User Excluded, or Duplicate.
1. Select the **Identity Overview** tab to display a list of all identities in the potential role and their job title, department, and location attributes. You can also select **Show Chart** to see distribution graphs for these identity attributes. The **Identity Overview** tab reflects only the identities in the original potential role discovered and does not update based on entitlement changes made in the **Composition** tab.
Reviewing the **Identity Overview** tab is a way to double-check that the initial identities in the potential role composition should have the included entitlements.
You can customize an individual potential role by [refining the entitlements](#refining-entitlements-for-a-potential-role) and [save the role as a draft](#saving-draft-roles).
## Refining Entitlements for a Potential Role
You can refine the entitlements for a potential role. Refining entitlements changes the contents of the potential role data you will export and the roles you can automatically create.
You should refine entitlements first in bulk and then individually.
### Bulk Entitlement Exclusion
The first part of refining entitlements is to exclude all entitlements below a certain popularity threshold or all entitlements considered common access.
To exclude entitlements from a potential role in bulk:
1. Select a potential role. The potential role opens on the Composition tab.
1. Exclude entitlements below popularity threshold.
This visualization allows you to see the popularity distribution of the entitlements in the potential role. Hover over different steps in the visualization to see how many entitlements fall above, at, and below different percentages of popularity.
Note
The steps in the visualization will change if you [individually exclude](#individual-entitlement-exclusion) all the entitlements in a step.
Use the Popularity Threshold slider to select a popularity threshold, below which entitlements will be excluded from the potential role.
Best Practice
To avoid entitlement proliferation, SailPoint recommends removing low-popularity entitlements (< 70%) from your role definitions.
1. Select **Apply** when you are finished. The **Apply** button becomes selectable only if you made changes.
1. To hide the visualization section of the Composition tab, select the **X** icon. To display the visualization again, select **Refine Entitlements**.
Caution
If you select **Back to Potential Roles** to return to the initial Potential Roles screen *before* exporting or creating a new role, all applied changes for bulk entitlement exclusion will be lost and you’ll have to repeat the steps you took to refine the entitlements in bulk for a potential role.
Individual entitlement exclusions are remembered if you select **Back to Potential Roles**.
If you have made bulk entitlement exclusions, [save the role as a draft](#saving-draft-roles) to avoid losing your changes.
### Individual Entitlement Exclusion
The next part of refining entitlements is to select specific entitlements to exclude from the potential role.
To exclude specific, individual entitlements from a potential role:
1. On the Composition tab, select the checkboxes next to the entitlements you want to exclude, or select the checkbox in the table header to exclude all entitlements in the table.
1. Select **Exclude**. The selected entitlements are removed from the Composition tab and are now listed on the Excluded Entitlements tab.
To add excluded entitlements to a potential role:
1. On the Excluded Entitlements tab, select the checkboxes next to the entitlements you want to include, or select the checkbox in the table header to include all entitlements in the table.
1. Select **Include**. The selected entitlements are removed from the Excluded Entitlements tab and are now listed on the Composition tab.
When you have finished adjusting the entitlements in the potential role, you are ready to [export the potential role data](#exporting-and-using-potential-role-data) or [create a new role from the potential role](#creating-new-roles-from-potential-roles).
## Saving Role Discovery Sessions and Draft Roles
To allow time for thorough access model development and review, Role Discovery lets you save role discovery session results and draft roles to work on later. Saved sessions and draft roles are accessible in the left pane when you go to **Admin > Access Model > Role Insights**.
### Saving Role Discovery Sessions
Saving a role discovery session allows you to return to the saved session at your convenience for further evaluation and modification.
To save a role discovery session:
1. On the Potential Role Results page, select **Save Session**.
1. Enter a session name and select **Save**.
To access your saved role discovery sessions, go to **Admin > Access Model > Role Insights > Role Discovery Sessions**. Each saved session is listed with the identity filters (search criteria) used for the session, the number of potential roles discovered, the total number of identities returned by the identity filters, who created the session, and the date created.
You can work with your saved sessions in the following ways:
- View the saved session [potential role results](#working-with-potential-roles-results)
- Rename saved sessions
- Edit saved [session settings](#editing-session-settings)
- Delete saved sessions
### Saving Draft Roles
Saving a potential role as a draft allows you to return to the draft role at your convenience for further refinement and evaluation before implementing it in your organization.
To save a draft role:
1. On the Potential Role page, select **Save Draft**.
1. Enter a Role Name and Description.
1. If the draft role's session has not already been saved, **Save Session** is enabled an you will also need to enter a Session Name.
1. Select **Save**.
To access your saved draft roles, go to **Admin > Access Model > Role Insights > Draft Roles**. You can work with your saved draft roles in the following ways:
- View entitlements and identity attributes
- Use the Popularity Threshold slider to exclude entitlements below the selected popularity threshold
- Include and exclude individual entitlements
- Edit role details such as role name and description
- Create a new role from the saved draft role
- Delete saved draft roles
Once a draft role has been saved, the draft stays in the saved session until deleted, even if the session settings are changed in such a way that the potential role would no longer be included in the session’s results.
## Exporting and Using Potential Role Data
On the Potential Role page, select the **Export Data** button to save the entitlements, identities, and identity distribution data for the potential role in a ZIP file.
Use the exported potential role data to add identities or membership criteria to auto-created roles, share with stakeholders, evaluate your current roles, or manually create new roles.
## Creating New Roles from Potential Roles
After you have explored a potential role and customized/refined it, you can automatically create a new role.
Complete the following steps:
1. On the Potential Role page, select **Create Role**. The Create a New Role dialog box appears.
1. Fill in the information for the new role. The role name entered must be unique from other role names in your organization. If you enter an preexisting role name, you will not be able to create the role and will be prompted to choose another name.
1. Select **Include Identities** to include the identities in the new role. Identities can also be added later from exported potential role data.
1. By default, entitlements will be directly assigned to the new role. To bundle the entitlements in access profiles, deselect the **Assign entitlements directly to the role** checkbox.
1. Select **Create Role**. The new role is created and you'll be navigated to **Admin > Access Model > Roles > Edit Role > Define Assignment** to continue [configuring the role assignment](https://documentation.sailpoint.com/saas/help/provisioning/role_assignment.html#configuring-role-assignment).
Note
The created role is in a disabled state. When you enable the role, Access Requests are sent to the appropriate owner for each identity.
### Working with Created Roles
The newly created role is saved with your other roles (**Admin > Access Model > Roles**) in a disabled state. If you selected **Include Identities**, identities are included in the new role. You can also add identities later from exported potential role data.
When the role is enabled, access requests are sent to the appropriate owner for each of the identities, and the role is saved with your other roles in an enabled, requestable state. Users that request the new role must be approved by the role owner.
The role creation process creates one or more access profiles that are included only in the new role. It also generates an AI_CREATED tag for each new role and access profile.
Optionally, you can generate a role composition certification campaign so others in your organization can review the role before enablement.
1. Add identities to the new role if not already included.
1. Go to **Admin > Search** and enter `"AI_CREATED"` in the query field.
1. [Start a certification campaign](https://documentation.sailpoint.com/saas/help/certs/starting_search_campaign.html).
Important
If you delete a role, be sure to also delete the access profiles that were created.
To delete access profiles, go to **Admin > Access Model > Roles** or **Admin > Access Model > Access Profiles**.
Deleting access profiles and roles that were already assigned to identities does not automatically remove the entitlements from those identities. For information about deprovisioning entitlements related to access profiles or roles, refer to [Managing Access Profiles](https://documentation.sailpoint.com/saas/help/access/access-profiles.html) and [Managing Roles](https://documentation.sailpoint.com/saas/help/access/roles.html).
# Improving Roles with Role Insights
*Role Insights*, part of Access Modeling, provides you with a greater understanding of your organization's role program, informs you of automatically discovered roles, suggests changes to your existing roles, and provides access to saved role discovery sessions and draft roles.
Role Insights regularly looks for updates, offers new role insights, and automatically discovers roles as access in your organization changes.
Role Insights can be accessed by Admins and users with the [role admin user level](https://documentation.sailpoint.com/saas/help/common/users/user_levels.html#role-admin-user-level).
You can explore the following role insights and use them to improve the security of your role program:
- Automatically discovered potential roles
- Your progress toward role program benchmarks for best security practices, such as the principle of least privilege
- Suggested entitlement additions for your current roles
- The percentage of identities with a role that also hold a suggested entitlement
- Lists of specific identities that would be impacted by the suggested role change
#### Role Insights Prerequisites
For Role Insights to be able to provide insights and suggestions for existing roles, your organization must have a basic role model configured in Identity Security Cloud. There must be roles configured that include entitlements and are assigned to identities.
#### Role Insights Process Overview
The process is described in detail in the sections that follow.
1. Launch Role Insights.
1. Explore any automatically discovered roles and consider creating a new role.
1. Explore role insights and export the suggested updates to implement manually in your existing roles.
## Understanding Role Insights
SailPoint automatically discovers potential roles with entitlement-based access similarities among identities.
Entitlement updates for roles are determined by SailPoint algorithms based on the following criteria:
1. The organization must have entitlements that do not belong to any role. These kinds of entitlements are usually assigned directly to individual identities.
1. A candidate list of entitlements is made that are at least 80% popular among identities in a role, but are not defined in the role.
1. The candidate list is reduced to include only entitlements with sources in the role.
The remaining entitlements are presented as role insights for your consideration.
## Exploring Role Insights
In the SailPoint interface, select the **Role Insights** dashboard panel or navigate to **Admin > Access Model > Role Insights**.
The Role Insights page provides a pathway to automatically discovered roles and an overview of your role program and suggested updates. It also includes a **Discover Roles** button that launches Role Discovery where you can define a group of identities and discover new potential roles. For more information, refer to [Discovering Roles](https://documentation.sailpoint.com/saas/help/ai/access_modeling/discover_roles.html).
The top of the Role Insights page displays the status of essential benchmarks that measure the progress of your role program:
- **Auto-Discovered Roles** - Potential roles automatically discovered by SailPoint with entitlement-based similarities among identities.
- **Access Included in Roles** - The percentage of all access in your organization that is included in roles.
- **Identities with Access from Roles** - The percentage of identities in your organization that have access from roles.
The goal percentages listed for each benchmark let you know how you are progressing in your development of a more secure role program. The goal percentages are set by SailPoint based on best practices and are there for general guidance.
In the list of Roles with Entitlement Updates, you can browse the roles with entitlements updates, or search role names or owners that start with a specific string. Numerical columns on the Role Insights page can be sorted by selecting or toggling through the sort icons: **Unsorted** , **Descending** , and **Ascending** .
The Impacted Identities column shows how many identities would be affected if you decide to add the entitlement to the role. If it shows 0 impacted identities, all of the identities in the role already have the suggested entitlement through other means, so the suggested entitlement should be added to the role.
## Exploring Automatically Discovered Potential Roles
SailPoint automatically discovers new potential roles based on entitlement-based similarities among identities. This simplifies creating and maintaining your access model as follows:
- Organizations new to SailPoint can quickly and easily build new roles and develop their initial access model starting with automatically discovered roles.
- As access in your organization changes, SailPoint automatically discovers potential roles that can improve your access model.
On the Role Insights page, the Auto-Discovered Roles tile displays the number of potential roles SailPoint has discovered for your organization as of the date and time stamp. If there are no potential roles discovered, it means your role program currently has sufficient high-impact roles in use.
Select **View Potential Roles** to view the list of automatically discovered potential roles.
Use the search bar to query across all identity attributes and narrow down the potential role list. For example, searching on "Miami" will return potential roles with any attribute that contains "Miami", such as location, jobtype, or an identity with that name.
Select a potential role to explore its composition, entitlements, and identities. You can work with automatically discovered potential roles the same as [potential roles discovered through role discovery](https://documentation.sailpoint.com/saas/help/ai/access_modeling/discover_roles.html#exploring-potential-roles), such as:
- [Refining entitlements](https://documentation.sailpoint.com/saas/help/ai/access_modeling/discover_roles.html#refining-entitlements-for-a-potential-role)
- [Saving draft roles](https://documentation.sailpoint.com/saas/help/ai/access_modeling/discover_roles.html#saving-draft-roles)
- [Creating new roles](https://documentation.sailpoint.com/saas/help/ai/access_modeling/discover_roles.html#creating-new-roles-from-potential-roles)
## Exploring Entitlement Updates
Complete the following steps to explore recommended entitlement updates for your existing roles:
1. On the Role Insights page, select **View** for the role you want to explore.
The Updates for *Role_Name* page lists entitlements on two tabs:
- **Entitlements to Add** - This tab lists suggested entitlements that are not currently in the role. A suggested entitlement is already held by 80% of identities that hold the role, but it is not part of the role.
- **Current Entitlements** - This tab lists all of the entitlements currently included in the role.
You can browse the entitlements, or search entitlement names and descriptions that start with a specific string. You can also select the **Column Chooser** to customize what columns are visible, and select **Export** to download the suggested entitlement additions to a CSV file.
1. On the **Entitlements to Add** tab, select a suggested entitlement to launch the Identity Overview page and see how it affects identities with the role.
The Identity Overview page lists identities on two tabs:
- **Impacted Identities** - This tab lists the identities with the role that currently do not have the suggested entitlement. These are the identities that will be impacted if you decide to add the suggested entitlement to the role.
- **Identities with Entitlement** - This tab lists the identities with the role that currently also have the suggested entitlement.
You can browse the identities or search display names for a specific string. You can also select the **Column Chooser** to customize what columns are visible.
## Exporting Role Insights
After examining insights into your organization's roles and the suggested entitlement updates, you may decide to make some entitlement changes to your roles.
1. On the Updates for *Role_Name* page, select **Export** to download suggested entitlement additions for the role to a CSV file.
Repeat this step to export suggested entitlement additions for each role that you would like to update.
1. Use the exported entitlement additions to manually update your roles.
You can check Role Insights regularly for new insights into how to improve your roles as access in your organization changes.
# Access Recommendations
SailPoint Access Recommendations empowers users and certifiers in your organization to make more informed access decisions. It uses peer group analysis and identity attributes to recommend access to your users and help certifiers decide whether access requests should be approved or denied.
Identity Security Cloud customers with Access Recommendations receive recommendations related to [access requests](#access-request-recommendations) and [certifications](#using-recommendations-to-make-access-decisions) when they are available.
## Understanding Peer Group Analysis
Peer group analysis is a machine learning model that analyzes user data and calculates similarity based on identities and their access. A network graph representation of identity-to-identity, entitlement-based similarity is used to identify densely connected communities of identities.
SailPoint AI-Driven Identity Security uses peer group analysis to organize your identities into peer groups based on common entitlements, and simplify the creation and maintenance of a dynamic identity governance program.
Peer groups are constantly evolving with your data and are updated regularly.
## Access Request Recommendations
Access request recommendations guide end users to request appropriate access items in the Request Center, based on an analysis of access held by other similar users. Each user is presented with their top 15 access request recommendations, enabling them to confidently request access.
Note
Due to limitations in AWS regional support, entitlement recommendations are only available for customers in AWS regions where the AWS SageMaker LLM that SailPoint employs is supported.
The following regions are unavailable:
- Middle East (UAE): me-central-1
Access request recommendations are generated based on combinations of the following:
- [Peer group](#understanding-peer-group-analysis) analysis
- Dense clustering based on the “Manager” identity attribute
- Users who share the same [AI core identity attributes](https://documentation.sailpoint.com/saas/help/ai/index.html#configuring-ai-core-attributes)
- Recommendation threshold calculation
- Configurable [access request recommendation attributes](#using-attributes-with-access-request-recommendations)
Note
The system may evaluate the elements above and not find any recommendations for a user.
Access request recommendations filter out access that is too common, rare across the whole organization, or not requestable.
- [Common access](https://documentation.sailpoint.com/saas/help/ai/access_modeling/discover_common_access.html) is access that is widespread across the organization. If users do not have this common access, it will not be recommended to them unless they are designated as a [Joiner](#using-attributes-with-access-request-recommendations) new to the organization.
- Access that is rare across the whole organization is filtered out. For example, if there are a small number of users with manager-only roles within the organization, that access will not be recommended even if those roles are common with their team.
- Access that is marked as non-requestable is excluded from recommendations.
Note
There may be a delay in recalculating recommendations based on a change in the requestable status of an access item. If it is changed from requestable to not requestable, the item may still show up as recommended until overnight processing takes place. If a user tries to request the item during this time, the request will be blocked and an error message will display.
### Viewing Access Request Recommendations
Users can view their access request recommendations in the following ways:
- By selecting **View Access Recommendations** on the banner that's displayed after logging in
- On the Request Center's Recommended tab
**At Log In**
When access request recommendations are available for a user, a banner is displayed to notify them when they log in. Select **View Access Recommendations** to open the Recommended tab in the Request Center.
**Recommended tab**
The Recommended tab lists the user's top 15 recommended entitlements, access profiles, and roles. Depending on the type of access item, recommendations may include information about why this access is recommended to you.
Note
The Recommended tab does not appear when you have no recommendations. This may happen when a set of recommendations has been requested, approved, and assigned, and no further recommendations are available. It could also happen if the attributes needed for making recommendations are not mapped for the tenant or set for the identity.
Select **Details** on an access item to display additional information about the access.
Users can select **Request** to request the access or select **Ignore** to dismiss the recommendation. Dismissed recommendations will not be shown again.
### Using Attributes with Access Request Recommendations
You can use the following attributes to fine-tune your organization's access request recommendations. Contact [Professional Services](https://community.sailpoint.com/t5/Working-With-Services/ct-p/Working_with_PS) to enable, disable, or change your access request recommendation attributes as needed.
**Restriction Attribute**
If you are not using [AI core attributes](https://documentation.sailpoint.com/saas/help/ai/index.html#configuring-ai-core-attributes), the access request recommendations that users see for roles and profiles are restricted based on the `location` identity attribute. For example, imagine an organization has identities with location attributes of "Austin" and "Remote." If the team members look very similar according to peer group analysis, but the recommendations are restricted by location, "Austin Facilities Access" would be recommended only to identities with the location identity attribute set to "Austin."
The recommendation restriction attribute can be disabled, changed, or set to a different identity attribute that makes sense for your organization, regardless of whether you are or are not using AI core attributes.
If you are using AI core attributes, the recommendation restriction attribute is disabled by default.
**Joiner and Start Date Attributes**
Role and access profile recommendations are broader for someone who is a new joiner than for existing members of a team. A joiner may be identified by either the created date, joiner attribute, or start date attribute.
By default, recommendations are based on the created date - an identity is considered a joiner for 45 days after the date they were added to the system. You can override that default by using a joiner attribute or a start date attribute.
If your organization already has an identity attribute that is used to designate identities as new, such as “joiner,” “newHire,” or “isNew,” a recommendation joiner attribute can be set to this existing identity attribute instead of created date. SailPoint will not try to infer if an identity is new and will trust the organization's designation. If a joiner attribute has been created but the value is null, then the start date attribute is assessed.
If identities in an organization do not have new/joiner identity attributes, a different identity attribute can be designated as a start date attribute. This enables SailPoint to infer whether the identity has recently joined. The identity will be considered a joiner for 45 days after the start date.
If the identity does not have a joiner or start date attribute, the date the identity was created will be used.
**Job Title, Location, Department, and Manager Attributes**
If you are not using [AI core attributes](https://documentation.sailpoint.com/saas/help/ai/index.html#configuring-ai-core-attributes), entitlement recommendations are made based on the access held by users who share a job title, location, department, or manager attribute. It's important that identities have those attributes mapped.
Role and access profile recommendations also rely on the manager attribute.
If you are using AI core attributes, the attributes you select as your four core attributes will be used to calculate entitlement recommendations.
## Using Recommendations to Make Access Decisions
Certification recommendations make the access reviewers in an organization more efficient and confident when approving, revoking, or denying access.
Certification recommendations are generated based on the following:
- [Peer group](#understanding-peer-group-analysis) analysis
- The organization’s identity attributes
- Users who share the same [AI core identity attributes](https://documentation.sailpoint.com/saas/help/ai/index.html#configuring-ai-core-attributes)
- Recommendation threshold calculation
Access reviewers receive certification recommendations for entitlements, roles, and access profiles. Recommendations are not available for role composition or uncorrelated accounts certifications. Certification recommendations are enabled by default.
Admins and Certification Admins can control whether or not access reviewers see certification recommendations as follows:
- For campaigns from Search, disable or enable the **Include Recommendations in your campaign** toggle when creating a campaign.
- For manager or source owner campaigns, go to **Admin > Global > System Settings > Feature Settings**, select **Other Features** and clear or select the **Enable Certification Recommendations** checkbox.
When reviewers and approvers are evaluating access decisions, they will see recommendation icons to help guide their decision-making process. These recommendations leverage statistical methods to automatically determine the best combination of identity attributes and machine learning outputs to inform a decision threshold for making intelligent access recommendations.
Recommendation icons appear as follows:
Recommendation icons are used to communicate the following information:
- - More than 70% of the identities in the peer group have the access.
- - The access is unique within the identity's peer group, or 70% or less of the identities in the peer group have the access.
Selecting an icon displays more information about the recommendation.
If no icon is displayed, it means the identity is unique, and does not have a group of peers with similar access.
Important
Recommendations are provided only as guidance. Reviewers and approvers are still ultimately responsible for making access decisions.
# Activity Insights
Activity Insights enables you to gather account information and activity data from the source. Identity Security Cloud pulls activity data such as user logins, password changes, and content updates from the source in the form of events.
Important
This feature is intended to support analysis of access usage patterns. It is not intended to be used as a proxy for employee performance.
Viewing activity data on when and how access is used can enable you to determine usage trends. For example, you can use activity data to:
- Recommend reviewers to remove access.
- Determine whether a user has used an application.
- Determine how often a user uses an application.
- Recommend reviewers to remove access.
- Determine which entitlements should be included in [potential roles](https://documentation.sailpoint.com/saas/help/ai/access_modeling/discover_roles.html#exploring-potential-roles).
- Inform access reviews in [certifications](https://documentation.sailpoint.com/saas/user-help/certs/reviewing/index.html).
- Inform decisions for [access requests](https://documentation.sailpoint.com/saas/user-help/approvals/reviewing_access.html).
To get started, you'll set up a [supported connector](https://documentation.sailpoint.com/saas/help/ai/activity_insights/connectors/index.html). After Identity Security Cloud has gathered account and activity data, you can then view activity data in the following features:
- [Access History](https://documentation.sailpoint.com/saas/help/identities/access_history.html) - Users can view the number of times that identities logged in to an application and compare these numbers to the company’s average.
- [Access Modeling](https://documentation.sailpoint.com/saas/help/ai/access_modeling/discover_roles.html#exploring-potential-roles) - Users can view the percentage of identities that engaged with an entitlement’s source during the past 90 days.
- [Access Requests](https://documentation.sailpoint.com/saas/user-help/approvals/reviewing_access.html) - Users can view the popularity of requested entitlements and access profiles, as well as the activity data for their related sources, to determine whether the requester should receive access.
- [Certifications](https://documentation.sailpoint.com/saas/user-help/certs/reviewing/index.html#viewing-source-activity) - Users can view the number of days an identity was active during a 90-day period. This information can be used to determine if an identity should retain access to an entitlement.
Note
Contact your SailPoint Customer Success Manager (CSM) to learn more about the Activity Insights feature.
# Activity Insights - Connectors Overview
Activity Insights provides information about usage patterns and activity trends for SaaS applications and sources. To view activity data throughout [Identity Security Cloud features](https://documentation.sailpoint.com/saas/help/ai/activity_insights/index.html), you can configure a supported application's [SaaS connector](#supported-saas-connectors) *or* [Activity Insights](#supported-activity-insights-connectors) and virtual appliance-based connectors.
Tip
SailPoint recommends configuring an application's [SaaS connector](#supported-saas-connectors) so you only need to maintain one connector for Identity Security Cloud and Activity Insights. However, if your organization uses a VA-based connector, it is recommended you configure the [Activity Insights connector](#supported-activity-insights-connectors) instead of the SaaS connector.
## Supported SaaS Connectors
If you are using the SaaS connector for an application, follow the connector guide to enable Activity Insights.
| | | |
| ------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| [Aha](https://documentation.sailpoint.com/connectors/saas/aha/help/saas_connectivity/aha/activity_insights_settings.html) | [Atlassian Suite](https://documentation.sailpoint.com/connectors/saas/atl_cloud/help/saas_connectivity/atlassian_cloud/activity_insights_settings.html) | [AWS](https://documentation.sailpoint.com/connectors/saas/aws/help/saas_connectivity/aws/activity_insights.html) |
| [Box](https://documentation.sailpoint.com/connectors/saas/box/help/saas_connectivity/box/activity_insights_settings.html) | [Cloudflare](https://documentation.sailpoint.com/connectors/saas/cloudflare/help/saas_connectivity/cloudflare/activity_insights_settings.html) | [DocuSign eSignature](https://documentation.sailpoint.com/connectors/saas/docusign/help/saas_connectivity/docusign/activity_insights_settings.html) |
| [Dropbox](https://documentation.sailpoint.com/connectors/saas/dropbox/help/saas_connectivity/dropbox/activity_insights_settings.html) | [Duo](https://documentation.sailpoint.com/connectors/saas/duo/help/saas_connectivity/duo/activity_insights_settings.html) | [Freshservice](https://documentation.sailpoint.com/connectors/saas/freshservice/help/saas_connectivity/freshservice/activity_insights_settings.html) |
| [GitHub](https://documentation.sailpoint.com/connectors/saas/github/help/saas_connectivity/github/activity_insights_settings.html) | [Google Workspace](https://documentation.sailpoint.com/connectors/saas/googleworkspace/help/saas_connectivity/google_workspace/activity_insights_settings.html) | [LastPass](https://documentation.sailpoint.com/connectors/saas/lastpass/help/common/identitynow_topics/activity_insights_settings.html) |
| [Microsoft Entra ID](https://documentation.sailpoint.com/connectors/saas/msentraid/help/saas_connectivity/microsoft_entra_id/activity_insights_settings.html) | [Microsoft SharePoint Online](https://documentation.sailpoint.com/connectors/saas/ms_sharepoint_online/help/saas_connectivity/ms_sharepoint_online/activity_insights_settings.html) | [MongoDB Cloud Atlas](https://documentation.sailpoint.com/connectors/saas/mongodb/cloud_atlas/help/saas_connectivity/mongodb_cloud_atlas/activity_insights_settings.html) |
| [Okta](https://documentation.sailpoint.com/connectors/saas/okta/help/saas_connectivity/okta/activity_insights_settings.html) | [Oracle HCM Cloud Accounts](https://documentation.sailpoint.com/connectors/saas/oracle_hcm_accounts/help/saas_connectivity/oracle_hcm_accounts/activity_insights_settings.html) | [PagerDuty](https://documentation.sailpoint.com/connectors/saas/pagerduty/help/saas_connectivity/pagerduty/activity_insights_settings.html) |
| [Salesforce](https://documentation.sailpoint.com/connectors/saas/salesforce/help/saas_connectivity/salesforce/activity_insights_settings.html) | [ServiceNow](https://documentation.sailpoint.com/connectors/saas/servicenow/identity_governance/help/saas_connectivity/servicenow_identity_governance_saas/activity_insights_settings.html) | [Slack](https://documentation.sailpoint.com/connectors/saas/slack/help/common/identitynow_topics/activity_insights_settings.html) |
| [Snowflake](https://documentation.sailpoint.com/connectors/saas/snowflake/help/saas_connectivity/snowflake/activity_insights_settings.html) | [Webex](https://documentation.sailpoint.com/connectors/saas/webex_control_hub/help/common/identitynow_topics/activity_insights_settings.html) | [Zendesk](https://documentation.sailpoint.com/connectors/saas/zendesk/help/saas_connectivity/zendesk/supported_features.html) |
| [Zoom](https://documentation.sailpoint.com/connectors/saas/zoom/help/saas_connectivity/zoom/activity_insights_settings.html) | | |
## Supported Activity Insights Connectors
Use the following guides to gather activity data through the Activity Insights and VA-based connectors.
| | | |
| ------------------------------------------------------------------------------------------------------------------------------ | ----------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------- |
| [Atlassian Suite](https://documentation.sailpoint.com/saas/help/ai/activity_insights/connectors/atlassian_suite.html) | [Box](https://documentation.sailpoint.com/saas/help/ai/activity_insights/connectors/box.html) | [Delinea Secret Server Cloud](https://documentation.sailpoint.com/saas/help/ai/activity_insights/connectors/delinea.html) |
| [Dropbox](https://documentation.sailpoint.com/saas/help/ai/activity_insights/connectors/dropbox.html) | [Duo](https://documentation.sailpoint.com/saas/help/ai/activity_insights/connectors/duo.html) | [Microsoft Entra ID](https://documentation.sailpoint.com/saas/help/ai/activity_insights/connectors/entra.html) |
| [Microsoft SharePoint Online](https://documentation.sailpoint.com/saas/help/ai/activity_insights/connectors/sharepoint.html) | [MongoDB Cloud Atlas](https://documentation.sailpoint.com/saas/help/ai/activity_insights/connectors/mongodb.html) | [Okta](https://documentation.sailpoint.com/saas/help/ai/activity_insights/connectors/okta.html) |
| [Oracle Fusion HCM Accounts](https://documentation.sailpoint.com/saas/help/ai/activity_insights/connectors/oracle_fusion.html) | [Salesforce](https://documentation.sailpoint.com/saas/help/ai/activity_insights/connectors/salesforce.html) | [ServiceNow](https://documentation.sailpoint.com/saas/help/ai/activity_insights/connectors/servicenow.html) |
| [Slack](https://documentation.sailpoint.com/saas/help/ai/activity_insights/connectors/slack.html) | [Snowflake](https://documentation.sailpoint.com/saas/help/ai/activity_insights/connectors/snowflake.html) | [Zendesk](https://documentation.sailpoint.com/saas/help/ai/activity_insights/connectors/zendesk.html) |
| [Zoom](https://documentation.sailpoint.com/saas/help/ai/activity_insights/connectors/zoom.html) | | |
After the connectors have gathered account data, you can then view activity data in Identity Security Cloud.
# Activity Insights - Atlassian Suite
To display activity data from Atlassian Suite, you can set up a single [SaaS](#configuring-activity-insights-using-the-atlassian-suite-saas-connector) connector or configure both a [virtual appliance (VA)](#configuring-activity-insights-using-a-va-based-source) and [Activity Insights - Atlassian Suite](#configuring-the-activity-insights-atlassian-suite-source) connector.
## Configuring Activity Insights Using the Atlassian Suite SaaS Connector
If you are using the Atlassian Suite SaaS connector, follow the connector guide to [enable Activity Insights](https://documentation.sailpoint.com/connectors/saas/atl_cloud/help/saas_connectivity/atlassian_cloud/activity_insights_settings.html).
After a successful test connection, you must [correlate accounts](https://documentation.sailpoint.com/saas/help/accounts/correlation.html#configuring-account-correlation) and [run an aggregation](https://documentation.sailpoint.com/saas/help/accounts/loading_data.html) for the Atlassian Suite SaaS source. Your activity data will begin syncing immediately but may take up to 24 hours to display. Data will then update daily.
Note
If you previously configured both the [Atlassian Suite - Cloud identity governance](#configuring-the-atlassian-suite-cloud-identity-governance-source) and [Activity Insights - Atlassian Suite](#configuring-the-activity-insights-atlassian-suite-source) connectors, you do not have to take additional action to continue receiving your data.
## Configuring Activity Insights Using a VA-Based Source
If you are setting up Activity Insights using a VA-based connector, you must first [create an API key](#creating-an-api-key-for-your-atlassian-account) for your Atlassian account. You'll then configure both the [Atlassian Suite - Cloud identity governance](#configuring-the-atlassian-suite-cloud-identity-governance-source) and [Activity Insights - Atlassian Suite](#configuring-the-activity-insights-atlassian-suite-source) connectors so that Identity Security Cloud can gather your account information and display activity data.
### Creating an API Key for Your Atlassian Account
Follow the directions in the [Atlassian documentation](https://support.atlassian.com/organization-administration/docs/manage-an-organization-with-the-admin-apis/) to create an API key for your Atlassian account. You must use an Atlassian account with Admin access.
Copy your API key and Organization ID to a safe location. You’ll need both values to [connect Atlassian Suite to Identity Security Cloud](#configuring-the-activity-insights-atlassian-suite-source).
### Configuring the Atlassian Suite - Cloud Identity Governance Source
Follow the [directions](https://documentation.sailpoint.com/connectors/atlassian/cloud/help/integrating_atlassian_cloud/introduction.html) to configure your Atlassian Suite - Cloud identity governance source in Identity Security Cloud. You can also edit an existing source.
### Configuring the Activity Insights - Atlassian Suite Source
To display activity data from Atlassian Suite, you must configure the Activity Insights - Atlassian Suite source in Identity Security Cloud.
1. Go to **Admin > Connections > Sources**.
1. Select **Create New** to create a new source.
1. Search for and select the **Activity Insights - Atlassian Suite** connector.
1. Enter a name and description for the source.
1. In the **Source Owner** field, begin typing the name of an owner. Matches appear after you type two letters.
1. (Optional) Select a [governance group](https://documentation.sailpoint.com/saas/help/common/users/governance_groups.html) for source management.
1. Select the checkbox if the source is an [authoritative source](https://documentation.sailpoint.com/saas/help/setup/identity_profiles.html).
1. Select **Continue** to create the source.
1. From the left panel, select **Configuration** in the **Source Setup** section.
1. On the **Authentication** page, complete the following:
- In the **Org Admin API Token** field, enter the API key value you received from [creating an API key](#creating-an-api-key-for-your-atlassian-account).
- In the **Organization ID** field, enter the Organization ID value you received from [creating an API key](#creating-an-api-key-for-your-atlassian-account).
- In the **Identity Governance Source Name** field, enter the name of the source you created for the [identity governance connector](#configuring-the-atlassian-suite-cloud-identity-governance-source). If no matching source is found, the test connection will fail.
1. Select **Save** to save these settings.
1. From the left panel, select **Review and Test** in the **Source Setup** section.
1. On the **Configuration Summary** page, select **Test Connection** to test the connection between the applications. You must have a successful connection for Identity Security Cloud to gather activity data. If the test is unsuccessful, retry your credentials or contact [SailPoint Support](https://community.sailpoint.com/t5/Working-With-Support/ct-p/WorkWithSupport).
To gather account data, you must [correlate accounts](https://documentation.sailpoint.com/saas/help/accounts/correlation.html#configuring-account-correlation) and [run an aggregation](https://documentation.sailpoint.com/saas/help/accounts/loading_data.html) for the Atlassian Suite - Cloud identity governance source. Your activity data will begin syncing immediately but may take up to 24 hours to display. Data will then update daily.
#### Required Permissions
You must use an Atlassian account with Admin access. Users subscribed to an Enterprise plan will be able to fetch product-level audit logs.
# Activity Insights - Box
To display activity data from Box, you can set up a single [SaaS](#configuring-activity-insights-using-the-box-saas-connector) connector or configure both a [virtual appliance (VA)](#configuring-activity-insights-using-a-va-based-source) and [Activity Insights - Box](#configuring-the-activity-insights-box-source) connector.
## Configuring Activity Insights Using the Box SaaS Connector
If you are using the Box SaaS connector, follow the connector guide to [enable Activity Insights](https://documentation.sailpoint.com/connectors/saas/box/help/saas_connectivity/box/activity_insights_settings.html).
After a successful test connection, you must [correlate accounts](https://documentation.sailpoint.com/saas/help/accounts/correlation.html#configuring-account-correlation) and [run an aggregation](https://documentation.sailpoint.com/saas/help/accounts/loading_data.html) for the Box SaaS source. Your activity data will begin syncing immediately but may take up to 24 hours to display. Data will then update daily.
Note
If you previously configured both the [Box identity governance](#configuring-the-box-identity-governance-source) and [Activity Insights - Box](#configuring-the-activity-insights-box-source) connectors, you do not have to take additional action to continue receiving your data.
## Configuring Activity Insights Using a VA-Based Source
If you are setting up Activity Insights using a VA-based connector, you may either use basic authentication or create a [connected app in Box](#configuring-a-connected-app-in-box) using an OAuth 2.0 authentication method to connect Box to Identity Security Cloud. You'll then configure both the [Box identity governance](#configuring-the-box-identity-governance-source) and [Activity Insights - Box](#configuring-the-activity-insights-box-source) connectors so that Identity Security Cloud can gather your account information and display activity data.
### Configuring a Connected App in Box
Before activity insights can display in Identity Security Cloud, you must create an OAuth application in Box. You'll create a connected app using one of the following OAuth 2.0 grant types:
- [Client Credentials](#configuring-a-connected-app-using-client-credentials-grant-type)
- [JSON Web Token (JWT)](#configuring-a-connected-app-using-a-json-web-token)
#### Configuring a Connected App using Client Credentials Grant Type
1. From the Box Developer Console, select **My Apps**.
1. Select **Create New App > Custom App**.
1. Enter a name and description for the app.
1. Select **Integration** for the purpose of the app.
1. Select **Security & Compliance** as the category.
1. Enter `Activity Insights` as the external system.
1. Choose **Server Authentication (Client Credentials Grant)** and select **Create App**.
1. In the App Access Level section, select **App + Enterprise Access**.
1. In the Application Scopes section, select **Manage enterprise properties**.
1. Select **Save Changes** to save these settings.
You must [authorize your application](#authorizing-your-oauth-application) before you can connect Box to Identity Security.
#### Configuring a Connected App using a JSON Web Token
1. Within the Box Developers Console, select **My Apps**.
1. Select **Create New App > Custom App**.
1. Enter a name and description for the app.
1. Select **Integration** for the purpose of the app.
1. Select **Security & Compliance** as the category.
1. Enter `Activity Insights` as the external system.
1. Under Authentication Method select **OAuth 2.0 with JWT (Server Authentication)**.
1. In the App Access Level section, select **App + Enterprise Access**.
1. In the Application Scopes section, select **Manage enterprise properties**.
1. Use Open SSL to generate the private and public keys, using the following commands:
**Public Key**
- Use the following command to generate a public key with 256-bit encryption.
`openssl rsa -pubout -in private_key.pem -out public_key.pem`
**Open SSL**
- Use the following command to generate a private key for Open SSL version 3.1 and later.
`openssl genrsa -aes256 -out private_key.pem -traditional`
- Use the following command to generate a private key for legacy Open SSL versions, such as 0.9.8, 1.0.2, 1.1.0, or 1.1.1.
`openssl genrsa -aes256 -out private_key.pem 2048`
1. Under Add and Manage Public Keys section, select **Add a Public Key**.
1. Upload the generated public key (Public Key ID).
1. Select **Save Changes** to save these settings.
You must [authorize your application](#authorizing-your-oauth-application) before you can connect Box to Identity Security.
### Authorizing Your OAuth Application
1. Within your application in the Developer Console, select the **Authorization** tab.
1. Select **Review and Submit** to request authorization for access to the Enterprise.
1. Enter a description for your application and select **Submit**.
1. Go to the Box Admin Console and select **Apps**.
1. Select the **Custom Apps Manager** tab.
1. Find the application name within the list under **Server Authentication Apps**.
1. Select the **More** icon **> Authorize App**.
1. Select **Authorize**.
Your application is now authorized. You can now use your client ID and secret to [configure the Box identity governance source](#configuring-the-box-identity-governance-source) in Identity Security Cloud.
### Configuring the Box Identity Governance Source
Follow the [directions](https://documentation.sailpoint.com/connectors/box/help/integrating_box/introduction.html) to configure your Box source in Identity Security Cloud. You can also edit an existing source.
### Configuring the Activity Insights - Box Source
To display activity data from Box, you must configure the Activity Insights - Box source in Identity Security Cloud.
1. Go to **Admin > Connections > Sources**.
1. Select **Create New** to create a new source.
1. Search for and select the **Activity Insights - Box** connector.
1. Enter a name and description for your source.
1. In the **Source Owner** field, begin typing the name of an owner. Matches appear after you type two letters.
1. (Optional) Select a [governance group](https://documentation.sailpoint.com/saas/help/common/users/governance_groups.html) for source management.
1. Select the checkbox if the source is an [authoritative source](https://documentation.sailpoint.com/saas/help/setup/identity_profiles.html).
1. Select **Continue** to create the source.
1. From the left panel, select **Configuration** in the **Source Setup** section.
1. On the **Authentication** page, select the type of authentication used when [creating the connected app](#configuring-a-connected-app-in-box) in Box.
For **Client Credentials** authentication, complete the following:
- **Enterprise ID** - Copy and paste your enterprise ID from the App Info section of the General Settings tab.
- **Client ID** - Copy and paste the client ID from the OAuth 2.0 Credentials section of the Configuration tab.
- **Client Secret** - Select **Fetch Client Secret** in the OAuth 2.0 Credentials section of the Configuration tab. You may have to complete authentication to fetch your client secret. Copy and paste the client secret.
- **Identity Governance Source Name** - Enter the name of the source you created for the [identity governance connector](#configuring-the-box-identity-governance-source). If no matching source is found, the test connection will fail.
For **Key Pair Authentication**, complete the following:
- **Enterprise ID** - Copy and paste your enterprise ID from the App Info section of the General Settings tab.
- **Client ID** - Copy and paste the client ID from the OAuth 2.0 Credentials section of the Configuration tab.
- **Client Secret** - Select **Fetch Client Secret** in the OAuth 2.0 Credentials section of the Configuration tab. You may have to complete authentication to fetch your client secret. Copy and paste the client secret.
- **Public Key ID** - Enter the Public Key ID generated by Box and provided upon submission of a Public Key.
- **Private Key** - Enter the key used for encrypting the JWT assertion.
- **Private Key Password** - Enter the password used to decrypt the private key.
- **Identity Governance Source Name** - Enter the name of the source you created for the [identity governance connector](#configuring-the-box-identity-governance-source). If no matching source is found, the test connection will fail.
1. Select **Save** to save these settings.
1. From the left panel, select **Review and Test** in the **Source Setup** section.
1. On the **Configuration Summary** page, select **Test Connection** to test the connection between the applications. You must have a successful connection for Identity Security Cloud to gather activity data. If the test is unsuccessful, retry your credentials or contact [SailPoint Support](https://community.sailpoint.com/t5/Working-With-Support/ct-p/WorkWithSupport).
To gather account data, you must [correlate accounts](https://documentation.sailpoint.com/saas/help/accounts/correlation.html#configuring-account-correlation) and [run an aggregation](https://documentation.sailpoint.com/saas/help/accounts/loading_data.html) for the Box identity governance source. Your activity data will begin syncing immediately but may take up to 24 hours to display. Data will then update daily.
#### Required Permissions
Users must have Admin access in Box to connect the application to Identity Security Cloud.
#### Requested Scopes
Identity Security Cloud requests the following scopes:
| Scopes | Description |
| ---------------------------- | --------------------------------------------------------------------- |
| Manage enterprise properties | Gives the application permission to view the enterprise event stream. |
# Activity Insights - Delinea Secret Server Cloud
To display activity data from Delinea Secret Server Cloud, you must configure the following required sources so that Identity Security Cloud can gather your Delinea Secret Server Cloud information and activity data.
## Required Connectors
| | |
| --------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------ |
| **Delinea Secret Server Cloud** | The VA-based connector allows you to govern your Delinea Secret Server Cloud accounts and groups. |
| **Activity Insights – Delinea Secret Server Cloud** | The Activity Insights connector works with your Delinea Secret Server Cloud connector to provide activity data for identities. |
## Connecting Delinea Secret Server Cloud to Identity Security Cloud for Activity Insights
To connect Delinea Secret Server Cloud to Identity Security Cloud, you’ll need to configure the [Delinea Secret Server Cloud VA-based connector](#configuring-the-delinea-secret-server-cloud-va-based-connector) and [Activity Insights - Delinea Secret Server Cloud](#configuring-the-activity-insights-delinea-secret-server-cloud-connector) connector. This will allow Identity Security Cloud to gather account information and activity data from the application.
### Configuring the Delinea Secret Server Cloud VA-based Connector
Follow the [directions](https://documentation.sailpoint.com/connectors/delinea_cloud/help/integrating_delinea_cloud/introduction.html) to configure your Delinea Secret Server Cloud source in Identity Security Cloud. You can also edit an existing source.
### Configuring the Activity Insights - Delinea Secret Server Cloud Connector
To display activity data from Activity Insights, you must configure the Activity Insights - Delinea Secret Server Cloud source in Identity Security Cloud.
1. Go to **Admin > Connections > Sources**.
1. Select **Create New** to create a new source.
1. Search for and select the **Activity Insights - Delinea Secret Server Cloud** connector.
1. Enter a name and description for the source.
1. In the **Source Owner** field, begin typing the name of an owner. Matches appear after you type two letters.
1. (Optional) Select a [governance group](https://documentation.sailpoint.com/saas/help/common/users/governance_groups.html) for source management.
1. Select the checkbox if the source is an [authoritative source](https://documentation.sailpoint.com/saas/help/setup/identity_profiles.html).
1. Select **Continue** to create the source.
1. From the left panel, select **Configuration** in the **Source Setup** section.
1. On the **Authentication** page, complete the following:
- In the **Username** field, enter the Delinea Secret Server Cloud account’s username.
- In the **Password** field, enter the Delinea Secret Server Cloud account’s password.
- In the **Host URL** field, enter the Host URL associated with your Delinea Secret Server Cloud tenant in the format `https://.secretservercloud.com`.
- In the **Identity Governance Source Name** field, enter the name of the source you created for the [identity governance connector](#configuring-the-delinea-secret-server-cloud-va-based-connector). If no matching source is found, the test connection will fail.
1. Select **Save** to save these settings.
1. From the left panel, select **Review and Test** in the **Source Setup** section.
1. On the **Configuration Summary** page, select **Test Connection** to test the connection between the applications. You must have a successful connection for Identity Security Cloud to gather activity data. If the test is unsuccessful, retry your credentials or contact [SailPoint Support](https://community.sailpoint.com/t5/Working-With-Support/ct-p/WorkWithSupport).
To gather account data, you must [correlate accounts](https://documentation.sailpoint.com/saas/help/accounts/correlation.html#configuring-account-correlation) and [run an aggregation](https://documentation.sailpoint.com/saas/help/accounts/loading_data.html) for the Delinea Secret Server Cloud source. Your activity data will begin syncing immediately but may take up to 24 hours to display. Data will then update daily.
# Activity Insights - Dropbox
To display activity data from Dropbox, you can set up a single [SaaS](#configuring-activity-insights-using-the-dropbox-saas-connector) connector or configure both a [virtual appliance (VA)](#configuring-the-dropbox-identity-governance-source) and [Activity Insights - Dropbox](#configuring-the-activity-insights-dropbox-source) connector.
## Configuring Activity Insights Using the Dropbox SaaS Connector
If you are using the Dropbox SaaS connector, follow the connector guide to [enable Activity Insights](https://documentation.sailpoint.com/connectors/saas/dropbox/help/saas_connectivity/dropbox/activity_insights_settings.html).
After a successful test connection, you must [correlate accounts](https://documentation.sailpoint.com/saas/help/accounts/correlation.html#configuring-account-correlation) and [run an aggregation](https://documentation.sailpoint.com/saas/help/accounts/loading_data.html) for the Dropbox SaaS source. Your activity data will begin syncing immediately but may take up to 24 hours to display. Data will then update daily.
Note
If you previously configured both the [Dropbox identity governance](#configuring-the-dropbox-identity-governance-source) and [Activity Insights - Dropbox](#configuring-the-activity-insights-dropbox-source) connectors, you do not have to take additional action to continue receiving your data.
## Configuring Activity Insights Using a VA-Based Source
If you are setting up Activity Insights using a VA-based connector, you must first [create an OAuth application](#creating-an-oauth-application-in-dropbox) in Dropbox and [generate a refresh token](#generating-a-refresh-token-for-dropbox). You'll then configure both the [Dropbox identity governance](#configuring-the-dropbox-identity-governance-source) and [Activity Insights - Dropbox](#configuring-the-activity-insights-dropbox-source) connectors so that Identity Security Cloud can gather your account information and display activity data.
### Creating an OAuth Application in Dropbox
Before Activity Insights can display in Identity Security Cloud, you must create an OAuth app in Dropbox.
1. Select the **Menu** icon **> App Center**.
1. Select **Build an App** under Manage in the navigation menu.
1. Select **Create apps**.
1. Select **Scoped Access**.
1. Select **Full Dropbox**.
1. Enter a name for your application like Activity Insights - Dropbox.
1. Select the **I agree to Dropbox API Terms and Conditions** checkbox.
1. Select **Create app**.
1. From the Settings page, copy your app key and secret. Store these values in a safe location as you will need them to connect Dropbox to Identity Security Cloud.
1. Go to the **Permissions** tab and select the following scopes:
| | |
| ------------------ | --------------------------------------------------- |
| `team_data.member` | View structure of your team's and members' folders. |
| `events.read` | View your team's activity log. |
1. Go to the **Branding** tab and select **Save Changes**.
### Generating a Refresh Token for Dropbox
1. Construct an authorization URL for the app using the following example:
`https://www.dropbox.com/oauth2/authorize?client_id=&response_type=code&token_access_type=offline`
Where `` is your app key from Dropbox.
Copy and save the Access Code generated by the above URL. It will be used in the next API call.
1. Use the following token API to get the refresh token:
`curl https://api.dropbox.com/oauth2/token \ -d code= \ -d grant_type=authorization_code \ -u client_id= \ -u client_secret=`
Where:
`` - The access code from the previous step.
`` - Your app key from Dropbox.
`` - Your app secret from Dropbox.
### Configuring the Dropbox Identity Governance Source
Follow the [directions](https://documentation.sailpoint.com/connectors/dropbox/help/integrating_dropbox/introduction.html) to configure your Dropbox source in Identity Security Cloud. You can also edit an existing source.
### Configuring the Activity Insights - Dropbox Source
To display activity data from Dropbox, you must configure the Activity Insights - Dropbox source in Identity Security Cloud.
1. Go to **Admin > Connections > Sources**.
1. Select **Create New** to create a new source.
1. Search for and select the **Activity Insights - Dropbox** connector.
1. Enter a name and description for your source.
1. In the **Source Owner** field, begin typing the name of an owner. Matches appear after you type two letters.
1. (Optional) Select a [governance group](https://documentation.sailpoint.com/saas/help/common/users/governance_groups.html) for source management.
1. Select the checkbox if the source is an [authoritative source](https://documentation.sailpoint.com/saas/help/setup/identity_profiles.html).
1. Select **Continue** to create the source.
1. From the left panel, select **Configuration** in the **Source Setup** section.
1. On the **Authentication** page, enter the following information:
- **App Key** - The app key from Dropbox.
- **App Secret** - The app secret from Dropbox.
- **Refresh Token** - The [refresh token](#generating-a-refresh-token-for-dropbox) you generated.
- **Identity Governance Source Name** - The name of the source you created for the [identity governance connector](#configuring-the-dropbox-identity-governance-source). If no matching source is found, the test connection will fail.
1. Select **Save** to save these settings.
1. From the left panel, select **Review and Test** in the **Source Setup** section.
1. On the **Configuration Summary** page, select **Test Connection** to test the connection between the applications. You must have a successful connection for Identity Security Cloud to gather activity data. If the test is unsuccessful, retry your credentials or contact [SailPoint Support](https://community.sailpoint.com/t5/Working-With-Support/ct-p/WorkWithSupport).
To gather account data, you must [correlate accounts](https://documentation.sailpoint.com/saas/help/accounts/correlation.html#configuring-account-correlation) and [run an aggregation](https://documentation.sailpoint.com/saas/help/accounts/loading_data.html) for the Dropbox identity governance source. Your activity data will begin syncing immediately but may take up to 24 hours to display. Data will then update daily.
# Activity Insights - Duo
To display activity data from Duo, you can set up a single [SaaS](#configuring-activity-insights-using-the-duo-saas-connector) connector or configure both a [virtual appliance (VA)](#configuring-activity-insights-using-a-va-based-source) and [Activity Insights - Duo](#configuring-the-activity-insights-duo-source) connector.
## Configuring Activity Insights Using the Duo SaaS Connector
If you are using the Duo SaaS connector, follow the connector guide to [enable Activity Insights](https://documentation.sailpoint.com/connectors/saas/duo/help/saas_connectivity/duo/activity_insights_settings.html).
After a successful test connection, you must [correlate accounts](https://documentation.sailpoint.com/saas/help/accounts/correlation.html#configuring-account-correlation) and [run an aggregation](https://documentation.sailpoint.com/saas/help/accounts/loading_data.html) for the Duo source. Your activity data will begin syncing immediately but may take up to 24 hours to display. Data will then update daily.
Note
If you previously configured both the [Duo identity governance](#configuring-the-duo-identity-governance-source) and [Activity Insights - Duo](#configuring-the-activity-insights-duo-source) connectors, you do not have to take additional action to continue receiving your data.
## Configuring Activity Insights Using a VA-Based Source
If you are setting up Activity Insights using a VA-based connector, you must first [register an API client](#registering-an-api-client) in Duo. You'll then configure both the [Duo identity governance](#configuring-the-duo-identity-governance-source) and [Activity Insights - Duo](#configuring-the-activity-insights-duo-source) connectors so that Identity Security Cloud can gather your account information and display activity data.
### Registering an API Client
You must have the [Owner](https://duo.com/docs/admin-roles) role to create or modify an API application within the Duo Admin panel.
1. Go to the Duo Admin panel.
1. Select **Applications > Protect Applications** from the navigation menu.
1. Enter `admin_api` in the search bar and select **Protect** beside the Admin API option.
1. In the Details section, copy the information from the Integration key, Secret key, and API hostname fields. You’ll need this information when you connect Duo to Identity Security Cloud.
1. In the Settings section, enter a name for the Admin API application.
1. Grant the Admin API application the following permission:
| Permissions | Description |
| -------------- | ----------------------------------------------------------------------------------------------------------------------- |
| Grant read log | The Admin API application can read authentication, offline access, telephony, and administrator action log information. |
1. Select **Save Changes** to create the application.
You can now enter the credentials from the Admin API application into Identity Security Cloud.
### Configuring the Duo Identity Governance Source
Follow the [directions](https://documentation.sailpoint.com/connectors/duo/help/integrating_duo/connecting_sailpoint_and_duo.html) to configure your Duo source in Identity Security Cloud. You can also edit an existing source.
### Configuring the Activity Insights - Duo Source
To display activity data from Activity Insights, you must configure the Activity Insights - Duo source in Identity Security Cloud.
1. Go to **Admin > Connections > Sources**.
1. Select **Create New** to create a new source.
1. Search for and select the **Activity Insights - Duo** connector.
1. Enter a name and description for the source.
1. In the **Source Owner** field, begin typing the name of an owner. Matches appear after you type two letters.
1. (Optional) Select a [governance group](https://documentation.sailpoint.com/saas/help/common/users/governance_groups.html) for source management.
1. Select the checkbox if the source is an [authoritative source](https://documentation.sailpoint.com/saas/help/setup/identity_profiles.html).
1. Select **Continue** to create the source.
1. From the left panel, select **Configuration** in the **Source Setup** section.
1. On the **Authentication** page, enter the following information:
- **Integration Key** - The Integration key from Duo.
- **Secret Key** - The Secret key from Duo.
- **API Host** - The API hostname from Duo.
- **Identity Governance Source Name** - The name of the source you created for the [identity governance connector](#configuring-the-duo-identity-governance-source). If no matching source is found, the test connection will fail.
1. Select **Save** to save these settings.
1. From the left panel, select **Review and Test** in the **Source Setup** section.
1. On the **Configuration Summary** page, select **Test Connection** to test the connection between the applications. You must have a successful connection for Identity Security Cloud to gather activity data. If the test is unsuccessful, retry your credentials or contact [SailPoint Support](https://community.sailpoint.com/t5/Working-With-Support/ct-p/WorkWithSupport).
To gather account data, you must [correlate accounts](https://documentation.sailpoint.com/saas/help/accounts/correlation.html#configuring-account-correlation) and [run an aggregation](https://documentation.sailpoint.com/saas/help/accounts/loading_data.html) for the Duo identity governance source. Your activity data will begin syncing immediately but may take up to 24 hours to display. Data will then update daily.
### Required Permissions
Your account must have the [Owner](https://duo.com/docs/admin-roles) role to create or modify an API application within the Duo Admin panel.
### Requested Scopes
Identity Security Cloud requests the following scopes:
| Scope | Description |
| -------------- | ----------------------------------------------------------------------------------------------------------------------- |
| Grant read log | The Admin API application can read authentication, offline access, telephony, and administrator action log information. |
# Activity Insights - Microsoft Entra ID
Important
**Microsoft Entra ID** is the new name for **Azure Active Directory**. We refer to it as **Microsoft Entra ID** except where **Azure Active Directory** is still utilized, such as in some user interface configurations. When configuring a new connector, it will still be displayed as **Azure Active Directory** in the source type list.
To display activity data from Microsoft Entra ID, you can set up a single [SaaS](#configuring-activity-insights-using-the-microsoft-entra-id-saas-connector) connector or configure both a [virtual appliance (VA)](#configuring-the-microsoft-entra-id-va-based-source) and [Activity Insights - Microsoft Entra ID](#configuring-the-activity-insights-microsoft-entra-id-source) source.
## Configuring Activity Insights Using the Microsoft Entra ID SaaS Connector
If you are using the Microsoft Entra ID SaaS connector, follow the connector guide to [enable Activity Insights](https://documentation.sailpoint.com/connectors/saas/msentraid/help/saas_connectivity/microsoft_entra_id/activity_insights_settings.html).
After a successful test connection, you must [correlate accounts](https://documentation.sailpoint.com/saas/help/accounts/correlation.html#configuring-account-correlation) and [run an aggregation](https://documentation.sailpoint.com/saas/help/accounts/loading_data.html) for the Microsoft Entra SaaS source. Your activity data will begin syncing immediately but may take up to 24 hours to display. Data will then update daily.
Note
If you previously configured both the [Microsoft Entra ID identity governance](#configuring-the-microsoft-entra-id-va-based-source) and [Activity Insights - Microsoft Entra ID](#configuring-the-activity-insights-microsoft-entra-id-source) sources, you do not have to take additional action to continue receiving your data.
## Configuring Activity Insights Using a VA-Based Source
If you are setting up Activity Insights using a VA-based source, you must first [create an app registration](https://documentation.sailpoint.com/saas/help/ai/activity_insights/connectors/entra.html#creating-an-app-registration-in-microsoft-entra-id) and grant it the required Microsoft Graph API permissions. You'll then configure both the [Microsoft Entra ID VA-based](#configuring-the-microsoft-entra-id-va-based-source) source and [Activity Insights - Microsoft Entra ID](#configuring-the-activity-insights-microsoft-entra-id-source) source so that Identity Security Cloud can gather your account information and display activity data.
### Creating an App Registration in Microsoft Entra ID
To authenticate the Activity Insights - Microsoft Entra ID source, you must register an application in the Microsoft Entra ID tenant and create credentials (a client secret or a client certificate) if one doesn't already exist.
1. [Register the app](https://learn.microsoft.com/en-us/entra/identity-platform/quickstart-register-app#register-an-application).
- Leave **Redirect URI** empty. It's not required for these flows.
1. [Add a Client Secret](https://learn.microsoft.com/en-us/entra/identity-platform/how-to-add-credentials?tabs=client-secret#tabpanel_1_client-secret).
1. [Add a Client Certificate](https://learn.microsoft.com/en-us/entra/identity-platform/how-to-add-credentials?tabs=certificate#tabpanel_1_certificate).
- Upload the X.509 certificate.
- Keep the matching private key as PEM PKCS#1 format (`BEGIN RSA PRIVATE KEY`). PKCS#8-encrypted keys may fail with 'decryption uses OpenSSL'.
- Provide a `privateKeyPassword` only if the PEM is encrypted.
1. Specify the following API permissions:
Important
All grant types require a Microsoft Entra ID P1 or P2 license for sign-in logs; without it `/auditLogs/signIns` returns a 403 error even with AuditLog.Read.All.
- **Client Credentials** and **Certificate Credentials**:
| Permission | Type | Used for |
| --------------------------------------------------------------------------- | ----------- | -------------------------------------------- |
| User.Read.All | Application | `/users` |
| LicenseAssignment.Read.All, or Organization.Read.All, or Directory.Read.All | Application | `/subscribedSkus` (license data) |
| AuditLog.Read.All | Application | `/auditLogs/signIns`(requires P1/P2 license) |
| Application.Read.All | Application | `/servicePrincipals` and role assignments |
- **Refresh Token**:
| Permission | Type | Used for |
| --------------------------------------------------------------------------- | --------- | -------------------------------------------- |
| User.Read.All | Delegated | `/users` |
| LicenseAssignment.Read.All, or Organization.Read.All, or Directory.Read.All | Delegated | `/subscribedSkus` |
| AuditLog.Read.All | Delegated | `/auditLogs/signIns`(requires P1/P2 license) |
| Application.Read.All | Delegated | `/servicePrincipals` |
1. [Grant admin consent](https://learn.microsoft.com/en-us/entra/identity/enterprise-apps/grant-admin-consent?pivots=portal).
### Configuring the Microsoft Entra ID VA-based Source
Follow the [directions](https://documentation.sailpoint.com/connectors/microsoft/entra_id/help/integrating_entra_id/connecting_sailpoint_and_entra_id.html) to configure a Microsoft Entra ID source in Identity Security Cloud. You can also edit an existing source.
### Configuring the Activity Insights - Microsoft Entra ID Source
To display activity data from Activity Insights, you must configure the Activity Insights - Microsoft Entra ID source in Identity Security Cloud.
1. Go to **Admin > Connections > Sources**.
1. Select **Create New** to create a new source.
1. Search for and select **Activity Insights - Microsoft Entra ID**.
1. Enter a name and description for the source.
1. In the **Source Owner** field, begin typing the name of an owner. Matches appear after you type two letters.
1. (Optional) Select a [governance group](https://documentation.sailpoint.com/saas/help/common/users/governance_groups.html) for source management.
1. Select the checkbox if the source is an [authoritative source](https://documentation.sailpoint.com/saas/help/setup/identity_profiles.html).
1. Select **Continue** to create the source.
1. From the left panel, select **Configuration** in the **Source Setup** section.
1. Select the **Grant Type**, then complete the required fields below.
**Client Credentials**:
- In **Application (client) ID** and **Client Secret**, enter the Microsoft Entra ID API details from the app registration you [created](#creating-an-app-registration-in-microsoft-entra-id).
- In **Domain Name**, enter the Directory (tenant) ID of the Microsoft Entra ID domain to be managed. For example, contoso.onmicrosoft.com.
- In **Identity Governance Source Name**, enter the name of the source you created for the [VA-based source](#configuring-the-microsoft-entra-id-va-based-source). If no matching source is found, the test connection will fail.
**Refresh Token**:
- In **Application (client) ID** and **Client Secret**, enter the Microsoft Entra ID API details from the app registration you [created](#creating-an-app-registration-in-microsoft-entra-id).
- Enter the valid **Refresh Token**.
- In **Domain Name**, enter the Directory (tenant) ID of the Microsoft Entra ID domain to be managed. For example, contoso.onmicrosoft.com.
- In **Identity Governance Source Name**, enter the name of the source you created for the [VA-based source](#configuring-the-microsoft-entra-id-va-based-source). If no matching source is found, the test connection will fail.
**Certificate Credentials**:
- In **Application (client) ID** enter the Microsoft Entra ID API details from the Microsoft Entra ID app registration you [created](#creating-an-app-registration-in-microsoft-entra-id).
- In **Client Certificate**, provide the unique alpha-numeric value of the certificate.
- Enter the PEM-encoded **Private Key** and **Private Key Password**.
- In **Domain Name**, enter the Directory (tenant) ID of the Microsoft Entra ID domain to be managed. For example, contoso.onmicrosoft.com.
- In **Identity Governance Source Name**, enter the name of the source you created for the [VA-based source](#configuring-the-microsoft-entra-id-va-based-source). If no matching source is found, the test connection will fail.
1. Select **Save** to save these settings.
1. From the left panel, select **Review and Test** in the **Source Setup** section.
1. On the **Configuration Summary** page, select **Test Connection** to test the connection between the applications. You must have a successful connection for Identity Security Cloud to gather activity data.
To gather account data, you must [correlate accounts](https://documentation.sailpoint.com/saas/help/accounts/correlation.html#configuring-account-correlation) and [run an aggregation](https://documentation.sailpoint.com/saas/help/accounts/loading_data.html) for the Entra ID source. Your activity data will begin syncing immediately but may take up to 24 hours to display. Data will then update daily.
#### Verifying the Test Connection
The test connection probes Microsoft Graph to confirm permissions and licensing:
- **Users** - `GET /users?$top=1` checks **User.Read.All**.
- **Subscribed SKUs** - `GET /subscribedSkus` checks **LicenseAssignment.Read.All**.
- **Sign-in Logs** - `GET /auditLogs/signIns?$top=1` checks **AuditLog.Read.All** and the Microsoft Entra ID P1 or P2 license.
- **Service Principals** - `GET /servicePrincipals?$top=1` checks **Application.Read.All**.
If a check fails, the error message will indicate which permission is missing. For example:
- **requires User.Read.All** - Grant **User.Read.All** (application or delegated) to match your flow.
- **requires AuditLog.Read.All and Microsoft Entra ID P1/P2 license** - Grant `AuditLog.Read.All` and ensure the tenant has a Microsoft Entra ID P1 or P2 license.
If the test is unsuccessful, retry your credentials, permissions, and license, or contact [SailPoint Support](https://community.sailpoint.com/t5/Working-With-Support/ct-p/WorkWithSupport).
# Activity Insights - MongoDB Cloud Atlas
To display activity data from MongoDB Cloud Atlas, you can set up a single [SaaS](#configuring-activity-insights-using-the-mongodb-cloud-atlas-saas-connector) connector or configure both a [virtual appliance (VA)](#configuring-the-mongodb-cloud-atlas-va-based-source) and [Activity Insights - MongoDB Cloud Atlas](#configuring-the-activity-insights-mongodb-cloud-atlas-source) connector.
## Configuring Activity Insights Using the MongoDB Cloud Atlas SaaS Connector
If you are using the MongoDB Cloud Atlas SaaS connector, follow the connector guide to [enable Activity Insights](https://documentation.sailpoint.com/connectors/saas/mongodb/cloud_atlas/help/saas_connectivity/mongodb_cloud_atlas/activity_insights_settings.html).
After a successful test connection, you must [correlate accounts](https://documentation.sailpoint.com/saas/help/accounts/correlation.html#configuring-account-correlation) and [run an aggregation](https://documentation.sailpoint.com/saas/help/accounts/loading_data.html) for the MongoDB Cloud Atlas SaaS source. Your activity data will begin syncing immediately but may take up to 24 hours to display. Data will then update daily.
## Configuring Activity Insights Using a VA-Based Source
If you are setting up Activity Insights using a VA-based connector, you must create an API key in MongoDB Cloud Atlas. The Atlas API key acts as a service account and is used to manage database users in each Project under a single Organization. You'll then configure both the [MongoDB Cloud Atlas](#configuring-the-mongodb-cloud-atlas-va-based-source) and [Activity Insights - MongoDB Cloud Atlas](#configuring-the-activity-insights-mongodb-cloud-atlas-source) connectors so that Identity Security Cloud can gather your account information and display activity data.
Important
MongoDB Cloud Atlas only connects to trusted IP addresses, so you must create a list of trusted IP addresses in Atlas for every VA that can connect to your cluster.
### Creating API Keys in MongoDB Cloud Atlas
Follow the [MongoDB Cloud Atlas product documentation](https://www.mongodb.com/docs/atlas/configure-api-access/#create-an-api-key-in-an-organization) to create an API key. You'll use the API URL, public key, and private key to connect MongoDB Cloud Atlas to Identity Security Cloud.
Important
You must have `Organization Owner` access to Atlas to create an API key.
### Configuring the MongoDB Cloud Atlas VA-Based Source
Follow the [SailPoint connector guide](https://documentation.sailpoint.com/connectors/mongodb/cloud_atlas/help/integrating_mongodb_cloud_atlas/intro.html) to configure your MongoDB Cloud Atlas source in Identity Security Cloud. You can also edit an existing source.
### Configuring the Activity Insights - MongoDB Cloud Atlas Source
To display activity data from MongoDB Cloud Atlas, you must configure the Activity Insights - MongoDB Cloud Atlas source in Identity Security Cloud.
1. From the navigation menu, select **Admin > Connections > Sources**.
1. Select **Create New** to create a new source.
1. Search for and select the **Activity Insights - MongoDB Cloud Atlas** connector.
1. Enter a name and description for the source.
1. In the **Source Owner** field, begin typing the name of the owner. Matches appear after you type two letters.
1. (Optional) Select a [governance group](https://documentation.sailpoint.com/saas/help/common/users/governance_groups.html) for source management.
1. Select the checkbox if the source is an authoritative source.
1. Select **Continue** to create the source.
1. From the left panel, select **Configuration** in the **Source Setup** section.
1. On the **Authentication** page, enter the following information:
- **API URL** - The API URL used for the Atlas API.
- **Public Key** - The public key from MongoDB Cloud Atlas.
- **Private Key** - The private key from MongoDB Cloud Atlas.
- **Identity Governance Source Name** - The name of the source you created for the [identity governance connector](#configuring-the-mongodb-cloud-atlas-va-based-source). If no matching source is found, the test connection will fail.
1. Select **Save** to save your settings.
1. From the left panel, select **Review and Test** in the **Source Setup** section.
1. On the **Configuration Summary** page, select **Test Connection** to test the connection between MongoDB Cloud Atlas and Identity Security Cloud. The test must be successful for your tenant to gather activity data. If the test is unsuccessful, retry your credentials or contact [SailPoint Support](https://community.sailpoint.com/t5/Working-With-Support/ct-p/WorkWithSupport).
To gather account data, you must [correlate accounts](https://documentation.sailpoint.com/saas/help/accounts/correlation.html#configuring-account-correlation) and [run an aggregation](https://documentation.sailpoint.com/saas/help/accounts/loading_data.html) for the MongoDB Cloud Atlas identity governance source. Your activity data will begin syncing immediately but may take up to 24 hours to display. Data will then be updated daily.
# Activity Insights - Okta
To display activity data from Okta, you can set up a single [SaaS](#configuring-activity-insights-using-the-okta-saas-connector) connector or configure both a [virtual appliance (VA)](#configuring-the-okta-va-based-connector) and [Activity Insights - Okta](#configuring-the-activity-insights-okta-connector) connector.
## Configuring Activity Insights Using the Okta SaaS Connector
If you are using the Okta SaaS connector, follow the connector guide to [enable Activity Insights](https://documentation.sailpoint.com/connectors/saas/okta/help/saas_connectivity/okta/activity_insights_settings.html).
After a successful test connection, you must [correlate accounts](https://documentation.sailpoint.com/saas/help/accounts/correlation.html#configuring-account-correlation) and [run an aggregation](https://documentation.sailpoint.com/saas/help/accounts/loading_data.html) for the Okta SaaS source. Your activity data will begin syncing immediately but may take up to 24 hours to display. Data will then update daily.
Note
If you previously configured both the [Okta identity governance](#configuring-the-okta-va-based-connector) and [Activity Insights - Okta](#configuring-the-activity-insights-okta-connector) connectors, you do not have to take additional action to continue receiving your data.
## Configuring Activity Insights Using a VA-Based Source
If you are setting up Activity Insights using a VA-based connector, you can [create an API token](#creating-an-api-token-in-okta) *or* [OAuth 2.0 service application](#creating-an-oauth-20-service-application-in-okta) to connect Okta to Identity Security Cloud. You'll then configure both the [Okta VA-based](#configuring-the-okta-va-based-connector) and [Activity Insights - Okta](#configuring-the-activity-insights-okta-connector) connectors so that Identity Security Cloud can gather your account information and display activity data.
### Creating an API Token in Okta
1. Log in to your Okta organization as a user with super administrator privileges.
Note
API tokens have the same permissions as the user who creates them. If a user's permissions change, the API token's permissions also change.
1. Follow [Okta's product documentation](https://help.okta.com/en-us/content/topics/security/api.htm#create-okta-api-token) to create an API token.
After you've created your API token, you'll configure the [Okta VA-based](#configuring-the-okta-va-based-connector) and [Activity Insights - Okta](#configuring-the-activity-insights-okta-connector) connectors to connect Okta to Identity Security Cloud.
### Creating an OAuth 2.0 Service Application in Okta
1. Log in to your Okta organization as a user with administrative privileges.
1. Follow [Okta's product documentation](https://developer.okta.com/docs/guides/implement-oauth-for-okta-serviceapp/main/) to create a service account with the following OAuth scopes:
| Scopes | Description |
| ---------------- | -------------------------------------------------------------------------------------------- |
| okta.apps.read | Allows the app to read information about Apps in your Okta organization. |
| okta.groups.read | Allows the app to read information about groups and their members in your Okta organization. |
| okta.logs.read | Allows the app to read information about System Log entries in your Okta organization. |
| okta.users.read | Allows the app to read the existing users' profiles. |
After you've created a service application in Okta, you'll configure the [Okta VA-based](#configuring-the-okta-va-based-connector) and [Activity Insights - Okta](#configuring-the-activity-insights-okta-connector) connectors.
### Connecting Okta to Identity Security Cloud for Activity Insights
To connect Okta to Identity Security Cloud, you’ll need to configure the [Okta VA-based](#configuring-the-okta-va-based-connector) and [Activity Insights - Okta](#configuring-the-activity-insights-okta-connector) connectors. This will allow Identity Security Cloud to gather account information and activity data from the application.
#### Configuring the Okta VA-based Connector
Follow the [directions](https://documentation.sailpoint.com/connectors/okta/help/integrating_okta/connecting_sailpoint_and_okta.html) to configure an Okta source in Identity Security Cloud. You can also edit an existing source.
#### Configuring the Activity Insights - Okta Connector
To display activity data from Activity Insights, you must configure the Activity Insights - Okta source in Identity Security Cloud.
1. Go to **Admin > Connections > Sources**.
1. Select **Create New** to create a new source.
1. Search for and select the **Activity Insights - Okta** connector.
1. Enter a name and description for the source.
1. In the **Source Owner** field, begin typing the name of an owner. Matches appear after you type two letters.
1. (Optional) Select a [governance group](https://documentation.sailpoint.com/saas/help/common/users/governance_groups.html) for source management.
1. Select the checkbox if the source is an [authoritative source](https://documentation.sailpoint.com/saas/help/setup/identity_profiles.html).
1. Select **Continue** to create the source.
1. From the left panel, select **Configuration** in the **Source Setup** section.
1. On the **Authentication** page, complete the following:
- Enter your organization's Okta URL (`https://{yourOktaDomain}.com`) in the **Okta URL** field.
- Select the authentication type used and enter the required information:
- For **API Token**, enter the [API token created](#creating-an-api-token-in-okta) for this integration.
- For **OAuth 2.0**, complete the following:
- In the **Grant Type** field, select **Client Credentials**.
- In the **OAuth 2.0 Token URL** field, enter your OAuth 2.0 Token URL (`https://{yourOktaDomain}/oauth2/v1/token`).
- In the **Scopes** field, enter the following scopes as a space-separated value:
```text
okta.apps.read okta.groups.read okta.logs.read okta.users.read
```
- In the **JWT Header** field, enter the JWT Header that includes the algorithm used to sign the JWT assertion.
- In the **Audience** field, enter the JWT Audience for authorization.
- In the **Issuer** field, enter the JWT Issuer for authorization. This value must be same as the `client_id`.
- In the **Subject** field, enter the JWT Subject for authorization. This value must be same as the `client_id`.
- In the **Private Key** field, enter the Private Key text in PEM format to encrypt the JWT assertion. If your private key was originally provided in the JWK format, you must convert it to PEM format.
- In the **Private Key Password**, enter the Private Key Password to decrypt the private key used for assertion. This value may be referenced as "KID" or "KEY ID" in Okta.
- In the **Identity Governance Source Name** field, enter the name of the source you created for the [VA-based connector](#configuring-the-okta-va-based-connector). If no matching source is found, the test connection will fail.
1. Select **Save** to save these settings.
1. From the left panel, select **Review and Test** in the **Source Setup** section.
1. On the **Configuration Summary** page, select **Test Connection** to test the connection between the applications. You must have a successful connection for Identity Security Cloud to gather activity data. If the test is unsuccessful, retry your credentials or contact [SailPoint Support](https://community.sailpoint.com/t5/Working-With-Support/ct-p/WorkWithSupport).
To gather account data, you must [correlate accounts](https://documentation.sailpoint.com/saas/help/accounts/correlation.html#configuring-account-correlation) and [run an aggregation](https://documentation.sailpoint.com/saas/help/accounts/loading_data.html) for the Okta source. Your activity data will begin syncing immediately but may take up to 24 hours to display. Data will then update daily.
# Activity Insights - Oracle Fusion HCM Accounts
To display activity data from Oracle Fusion HCM Accounts, you can set up a single [SaaS](#configuring-activity-insights-using-the-oracle-fusion-hcm-accounts-saas-connector) connector or configure both a [virtual appliance (VA)](#configuring-activity-insights-using-a-va-based-source) and [Activity Insights - Oracle Fusion HCM Accounts](#configuring-the-activity-insights-oracle-fusion-hcm-accounts-source) connector.
## Configuring Activity Insights Using the Oracle Fusion HCM Accounts SaaS Connector
If you are using the Oracle Fusion HCM Accounts SaaS connector, follow the connector guide to [enable Activity Insights](https://documentation.sailpoint.com/connectors/saas/oracle_hcm_accounts/help/saas_connectivity/oracle_hcm_accounts/activity_insights_settings.html).
After a successful test connection, you must [correlate accounts](https://documentation.sailpoint.com/saas/help/accounts/correlation.html#configuring-account-correlation) and [run an aggregation](https://documentation.sailpoint.com/saas/help/accounts/loading_data.html) for the Oracle Fusion HCM Accounts SaaS source. Your activity data will begin syncing immediately but may take up to 24 hours to display. Data will then update daily.
Note
If you previously configured both the [Oracle Fusion HCM Accounts identity governance](#configuring-the-oracle-fusion-hcm-accounts-identity-governance-source) and [Activity Insights - Oracle Fusion HCM Accounts](#configuring-the-activity-insights-oracle-fusion-hcm-accounts-source) connectors, you do not have to take additional action to continue receiving your data.
## Configuring Activity Insights Using a VA-Based Source
If you are setting up Activity Insights using a VA-based connector, you must first [create a service account](#creating-a-service-account-in-oracle-hcm) in Oracle HCM. You'll then configure both the [Oracle Fusion HCM Accounts identity governance](#configuring-the-oracle-fusion-hcm-accounts-identity-governance-source) and [Activity Insights - Oracle Fusion HCM Accounts](#configuring-the-activity-insights-oracle-fusion-hcm-accounts-source) connectors so that Identity Security Cloud can gather your account information and display activity data.
### Creating a Service Account in Oracle HCM
Follow the [directions](https://documentation.sailpoint.com/connectors/oracle/hcm_cloud/help/integrating_oracle_hcm_cloud/create_service_account.html) to create a service account in Oracle HCM.
### Configuring the Oracle Fusion HCM Accounts Identity Governance Source
Follow the [directions](https://documentation.sailpoint.com/connectors/oracle/fusion_hcm_accounts/help/integrating_oracle_hcm_accounts/intro.html) to configure your Oracle Fusion HCM Accounts source in Identity Security Cloud. You can also edit an existing source.
### Configuring the Activity Insights - Oracle Fusion HCM Accounts Source
To display activity data from Activity Insights, you must configure the Activity Insights - Oracle Fusion HCM Accounts source in Identity Security Cloud.
1. Go to **Admin > Connections > Sources.**
1. Select **Create New** to create a new source.
1. Search for and select the **Activity Insights - Oracle Fusion HCM Accounts** connector.
1. Enter a name and description for the source.
1. In the **Source Owner** field, enter the name of the owner. Matches appear after you type two letters.
1. (Optional) Select a [governance group](https://documentation.sailpoint.com/saas/help/common/users/governance_groups.html) for source management.
1. Select the checkbox if the source is an [authoritative source](https://documentation.sailpoint.com/saas/help/setup/identity_profiles.html).
1. Select **Continue** to create the source.
1. From the left panel, select **Configuration** in the **Source Setup** section.
1. On the **Authentication** page, complete the following:
- In the **Host URL** field, enter the Base URL in the following format: `https://.com`.
- For **Authentication Type**, select **Basic**.
- In the **Username** field, enter the username for the service account.
- In the **Password** field, enter the password for the service account.
- In the **Identity Governance Source Name** field, enter the name of the source you created for the [identity governance connector](#configuring-the-oracle-fusion-hcm-accounts-identity-governance-source). If no matching source is found, the test connection will fail.
1. Select **Save** to save these settings.
1. From the left panel, select **Review and Test** in the **Source Setup** section.
1. On the **Configuration Summary** page, select **Test Connection** to test the connection between the applications. You must have a successful connection for Identity Security Cloud to gather activity data. If the test is unsuccessful, retry your credentials or contact [SailPoint Support](https://community.sailpoint.com/t5/Working-With-Support/ct-p/WorkWithSupport).
To gather account data, you must [correlate accounts](https://documentation.sailpoint.com/saas/help/accounts/correlation.html#configuring-account-correlation) and [run an aggregation](https://documentation.sailpoint.com/saas/help/accounts/loading_data.html) for the Oracle Fusion HCM Accounts identity governance source. Your activity data will begin syncing immediately but may take up to 24 hours to display. Data will then update daily.
# Activity Insights - Salesforce
To display activity data from Salesforce, you can set up a single [SaaS](#configuring-activity-insights-using-the-salesforce-saas-connector) connector or configure both a [virtual appliance (VA)](#configuring-activity-insights-using-a-va-based-source) and [Activity Insights - Salesforce](#configuring-the-activity-insights-salesforce-source) connector.
## Configuring Activity Insights Using the Salesforce SaaS Connector
If you are using the Salesforce SaaS connector, follow the connector guide to [enable Activity Insights](https://documentation.sailpoint.com/connectors/saas/salesforce/help/saas_connectivity/salesforce/activity_insights_settings.html).
After a successful test connection, you must [correlate accounts](https://documentation.sailpoint.com/saas/help/accounts/correlation.html#configuring-account-correlation) and [run an aggregation](https://documentation.sailpoint.com/saas/help/accounts/loading_data.html) for the Salesforce SaaS source. Your activity data will begin syncing immediately but may take up to 24 hours to display. Data will then update daily.
Note
If you previously configured both the [Salesforce identity governance](#configuring-salesforce-identity-governance-source) and [Activity Insights - Salesforce](#configuring-the-activity-insights-salesforce-source) connectors, you do not have to take additional action to continue receiving your data.
## Configuring Activity Insights Using a VA-Based Source
If you are setting up Activity Insights using a VA-based connector, you may either use basic authentication or create a [connected app in Salesforce](#configuring-a-connected-app-in-salesforce) using an OAuth 2.0 authentication method to connect Salesforce to Identity Security Cloud. You'll then configure both the [Salesforce identity governance](#configuring-salesforce-identity-governance-source) and [Activity Insights - Salesforce](#configuring-the-activity-insights-salesforce-source) connectors so that your tenant can gather your account information and display activity data.
### Configuring a Connected App in Salesforce
To create a connected app in Salesforce, you may use an account with the [System Administrator profile](https://help.salesforce.com/s/articleView?language=en_US&id=sf.standard_profiles.htm&type=5) or create and assign a [custom profile with least privilege](#setting-permissions-for-a-custom-profile-with-least-privilege). Both profiles require the user have a Salesforce license type. The user should not be part of the Customer Portal or Partner Portal. For more information, refer to [Salesforce's product documentation](https://help.salesforce.com/s/).
You'll create a connected app using one of the following OAuth 2.0 grant types:
- [Client Credentials](#configuring-a-connected-app-using-client-credentials-grant-type)
- [Password](#configuring-a-connected-app-using-password-grant-type)
- [Refresh Token](#configuring-a-connected-app-using-a-refresh-token)
- [JSON Web Token (JWT)](#configuring-a-connected-app-using-a-json-web-token)
#### Configuring a Connected App using Client Credentials Grant Type
1. Create a service account in Salesforce.
1. Select the **Setup** icon **> Setup**.
1. Under Platform Tools in the navigation menu, select **Apps > App Manager**.
1. Select **New Connected App**.
1. In the Basic Information section, enter a name and email address to associate with the connected app.
1. In the API (Enable OAuth Settings) section, complete the following:
- Select the **Enable OAuth Settings** checkbox.
- Select the **Enable for Device Flow** checkbox. The callback URL is automatically populated.
- Add **Manage user data via APIs (api)** as an OAuth scope.
- Select the **Require Secret for Web Server Flow** checkbox.
- Select the **Require Secret for Refresh Token Flow** checkbox.
- Select the **Enable Client Credentials Flow** checkbox and select **OK**.
1. Select **Save** to create the connected app.
1. Select **Continue** to go to the connected app's page.
1. In the API (Enable OAuth Settings) section, select **Manage Consumer Details** to view your consumer key and secret. Copy these values as you'll need this information to connect Salesforce to Identity Security Cloud.
1. Select **Manage** in the top section of the page and then select **Edit Policies**.
1. In the Client Credentials Flow section, search for your service account in the **Run As** text box. Select **Save** to save these settings.
You can now [configure the Salesforce identity governance source](#configuring-salesforce-identity-governance-source) in Identity Security Cloud.
#### Configuring a Connected App using Password Grant Type
1. Create a service account in Salesforce. You’ll use these credentials to connect Salesforce to Identity Security Cloud.
1. [Create a connected app](https://help.salesforce.com/s/articleView?id=sf.connected_app_create.htm&type=5) in Salesforce.
1. On the connected app's page, select **Manage Consumer Details** to view your consumer key and secret. Copy these values as you'll need this information to connect Salesforce to Identity Security Cloud.
1. Set the application's [IP relaxation](https://help.salesforce.com/s/articleView?id=sf.connected_app_continuous_ip.htm&type=5) in Salesforce.
- On the connected app's page, select **Manage** and then select **Edit Policies**.
- Set the IP relaxation to **Relax IP restrictions** and then select **Save**.
1. Allow OAuth Username-Password Flows in Salesforce.
- Select the **Setup** icon > **Setup**.
- Under Settings in the navigation menu, select **Identity > OAuth and OpenID Connect Settings**. Enable the **Allow OAuth Username-Password Flows** toggle.
You can now [configure the Salesforce identity governance source](#configuring-salesforce-identity-governance-source) in Identity Security Cloud.
#### Configuring a Connected App using a Refresh Token
1. Create a service account in Salesforce.
1. Select the **Setup** icon **> Setup**.
1. Under Platform Tools in the navigation menu, select **Apps > App Manager**.
1. Select **New Connected App**.
1. In the Basic Information section, enter a name and email address to associate with the connected app.
1. In the API (Enable OAuth Settings) section, complete the following:
- Select the **Enable OAuth setting** checkbox.
- Enter `https://login.salesforce.com` as the callback URL.
- Add the following OAuth scopes:
- **Manage user data via APIs (api)**
- **Manage user data via Web browsers (web)**
- **Perform requests at any time (refresh_token, offline_access)**
1. Select **Save** to create the connected app. Select **Continue** to go to the connected app's page.
1. In the API (Enable OAuth Settings) section, select **Manage Consumer Details** to view your consumer key and secret. Copy these values as you'll need this information to connect Salesforce to Identity Security Cloud.
1. Generate an authorization code. This will be used to generate a refresh token.
- Copy the below URL and substitute your values for the `Consumer Key` and the `Callback URL`:
`https://login.salesforce.com/services/oauth2/authorize?response_type=code&client_id=&redirect_uri=`
Where:
`` is the [consumer key](#refresh-key) for the connected app.
`` is the callback URL `https://login.salesforce.com`.
- Paste the modified URL into your browser and authenticate as needed.
- Select **Allow** to authorize access.
After authorizing, the browser redirects you to the callback URL you configured for the connected app. Note the `authorization code` appended to it: `https://login.salesforce.com/?code=`.
Important
You may need to URL-decode the authorization code before using it to generate a refresh token.
1. In Postman, use the authorization code to generate a refresh token.
- Set the method to **POST**.
- Enter `https://login.salesforce.com/services/oauth2/token` as the URL.
- Select the **Body** tab and then select **raw**.
- Enter the following:
```py
grant_type=authorization_code
client_id=
client_secret=
code=
redirect_uri=
```
Where:
`` is the [consumer key](#refresh-key) for the connected app you created.
`` is the [consumer secret](#refresh-key) for the connected app you created.
`` is the [authorization code](#auth-code) you generated.
`` is the callback URL `https://login.salesforce.com`.
After selecting **Send**, you'll receive the refresh token in the response that the request returns. You can now [configure the Salesforce identity governance source](#configuring-salesforce-identity-governance-source) in Identity Security Cloud.
#### Configuring a Connected App using a JSON Web Token
To configure a connected app using a JSON web token, you'll first need to create a connected app and then generate a JWT assertion.
##### Creating a Connected App
1. Create a service account in Salesforce.
1. Select the **Setup** icon **> Setup**.
1. Under Platform Tools in the navigation menu, select **Apps > App Manager**.
1. Select **New Connected App**.
1. In the Basic Information section, enter a name and email address to associate with the connected app.
1. In the API (Enable OAuth Settings) section, complete the following:
- Select the **Enable OAuth Settings** checkbox.
- Select the **Use digital signatures** checkbox.
- Select **Choose File** and upload your digital certificate file, such as `server.crt`.
Note
If you do not have your own private key and digital certificate, you can create a [private key and a self-signed certificate](https://developer.salesforce.com/docs/atlas.en-us.sfdx_dev.meta/sfdx_dev/sfdx_dev_auth_key_and_cert.htm) using OpenSSL. This process creates `server.key` and `server.crt` files.
- Enter `https://login.salesforce.com` as the callback URL.
- Add the following OAuth scopes:
- **Manage user data via APIs (api)**
- **Manage user data via Web browsers (web)**
- **Perform requests at any time (refresh_token, offline_access)**
- Select the **Require Secret for Web Server Flow** checkbox.
- Select the **Require Secret for Refresh Token Flow** checkbox.
- Select the **Enable Client Credentials Flow** checkbox and then select **OK**.
1. Select **Save** to create the connected app. You'll now set an expiration and timeout for the refresh token.
1. Select **Continue** to go to the connected app's page.
1. Select **Manage** and then select **Edit Policies**.
1. In the OAuth Policies section, complete the following:
- Set **Permitted Users** to **Admin approved users are pre-authorized** and select **OK**.
- Set the **Refresh Token Policy** to **Expire refresh token after:** and enter 90 days or less.
Best Practice
SailPoint recommends setting a maximum of 90 days for the refresh token expiration. If the refresh tokens have expired, reauthorize it with your Salesforce login or org login JWT command.
1. In the Session Policies section, set the **Timeout Value** to **15 minutes**.
Best Practice
SailPoint recommends setting a timeout for access tokens. Salesforce CLI automatically handles an expired access token by referring to the refresh token.
1. Select **Save** to save these settings.
You'll then assign the connected app to specific profiles so that admin-approved users are automatically granted access.
1. Under Administration, select **Users > Profiles**.
1. Select the user profiles that you want to assign to the connected app.
1. In the Apps section, select **Assigned Connected Apps**.
1. Select **Edit**.
1. Select the checkboxes for the connected apps you want to assign to this profile and then select **Save**. You can also create a permission set if needed.
After the you've set up the connected app, you'll need to generate a JWT assertion.
##### Generating a JWT Assertion
1. Construct a JWT header with the following format:
`{"alg":"RS256"}`
Encode the header with Base64url.
1. Construct a JSON Claims Set for JWT with the following parameters and encode with Base64url:
- **iss**: The issuer must contain the OAuth consumer key for the connected app for which you registered the certificate.
- **aud**: The audience identifies the authorization server as an intended audience. The authorization server must verify that it is an intended audience for the token. Use the authorization server's URL if you are using one of the following values:
`https://login.salesforce.com`
`https://test.salesforce.com`
Alternatively, if you are implementing for a community, use the following URL: `https://community.force.com/customers`
- **sub**: The subject must contain the username of the Salesforce user or community user. For backward compatibility, you can use principal (prn) instead of subject (sub). If both are specified, prn is used.
- **exp**: The validity must be the expiration time of the assertion within 3 minutes, expressed as the number of seconds from 1970-01-01T0:0:0Z measured in UTC.
The JSON Claim Set should look like the following:
```py
{"iss": "3MVG99Ox8878y48hf98[omitted for brevity]_rSK781.BoSVPGZHQ
ukXnVjzRgSuQqGn75NL7yfkQcyy7",
"sub": "my@email.com",
"aud": "https://login.salesforce.com",
"exp": "1333685628"}
```
1. Create a string for the encoded JWT Header and the encoded JWT Claims Set in the format `encoded_JWT_Header + "." + encoded_JWT_Claims_Set`.
1. Download the X509 Certificate from JKS.
1. Sign the resulting string using RSA SHA256.
1. Use the [string you created](#string) to make an assertion string in the following form:
`existing_string + "." + base64_encoded_signature`
1. Use the following API request to generate an access token from the JWT assertion:
```py
POST /services/oauth2/token HTTP/1.1
Host: login.example.com
Content-Type: application/x-www-form-urlencoded
grant_type= urn:ietf:params:oauth:grant-type:jwt-bearer&
assertion=eyJpc3MiOiAiM01WRz...[omitted for brevity]...ZT
```
After you've generated the access token, you can now [configure the Salesforce identity governance source](#configuring-salesforce-identity-governance-source) in Identity Security Cloud.
### Configuring Salesforce Identity Governance Source
Follow the [directions](https://documentation.sailpoint.com/connectors/salesforce/help/integrating_salesforce/connecting.html) to create your Salesforce source in Identity Security Cloud. You can also edit an existing source.
### Configuring the Activity Insights - Salesforce Source
To display activity data from Activity Insights, you must configure the Activity Insights - Salesforce source in Identity Security Cloud.
1. Go to **Admin > Connections > Sources.**
1. Select **Create New** to create a new source.
1. Search for and select the **Activity Insights - Salesforce** connector.
1. Enter a name and description for the source.
1. In the **Source Owner** field, begin typing the name of an owner. Matches appear after you type two letters.
1. (Optional) Select a [governance group](https://documentation.sailpoint.com/saas/help/common/users/governance_groups.html) for source management.
1. Select the checkbox if the source is an [authoritative source](https://documentation.sailpoint.com/saas/help/setup/identity_profiles.html).
1. Select **Continue** to create the source.
1. From the left panel, select **Configuration** in the **Source Setup** section.
1. On the **Authentication** page, select the authentication type used to [create a connected app](#creating-a-connected-app) in Salesforce:
- For **Basic** authentication, complete the following:
- **Salesforce URL** - Enter your organization's Salesforce's URL in the format `http:///services/Soap/u/`.
To find your site's URL, select **Integrations > API** under Platform Tools in the navigation menu. On the API WSDL page, find **Partner WSDL** and select **Generate Partner WSDL**. In the generated file, search for "service name". The URL is displayed in this section in the format of `"https:///services/Soap/u/61.0"/>`.
Important
If you have enabled **Prevent SOAP API Login** from `https://login.salesforce.com`, you must modify the default URL to provide a domain-specific URL. Under **Settings** in the navigation menu, select **Company Settings > My Domain**. Your organization's domain-specific URL is listed as the **Current My Domain URL** in the My Domain Details section.
The default URL should be changed to `https:///services/Soap/u/`. For example if your Current My Domain URL is `example.my.salesforce.com`, then your default URL should be changed to `https://example.my.salesforce.com/services/Soap/u/`.
- **Service Account** - Enter the name of the [service account you created](#configuring-a-connected-app-using-a-json-web-token).
- **Password** - Enter the password for the [service account you created](#configuring-a-connected-app-using-a-json-web-token).
Note
This is the API user's Salesforce password. If the client's IP address has not been added to your organization's allowed list, you must add a security token to your password for OAuth2 authentication.
- **Identity Governance Source Name** - Enter the name of the source you created for the [identity governance connector](#configuring-salesforce-identity-governance-source). If no matching source is found, the test connection will fail.
- For **OAuth 2.0** authentication, complete the following:
- **Salesforce OAuth 2.0 Token URL** - Enter your OAuth 2.0 Token URL from Salesforce in the form of `/services/oauth2/token`. To find your domain name, search for "domain" in Salesforce. Under Company Settings, select **My Domain**. Add your domain from **Current My Domain URL**.
- **Grant Type** - Select the OAuth 2.0 grant type used:
- For **Client Credentials**, enter your [consumer key and secret](#client) in the **Client ID** and **Client Secret** fields.
- For **Password**, enter the name and password for the [service account you created](#configuring-a-connected-app-using-password-grant-type) in the **Service Account** and **Password** fields. Enter your [consumer key and secret](#password-key) in the **Client ID** and **Client Secret** fields.
- For **Refresh Token**, enter your [consumer key and secret](#refresh-key) in the **Client ID** and **Client Secret** fields. Enter your [refresh token](#refresh-token) in the **Refresh Token** field.
- For **JWT**, enter the values for the [subject](#subject), [issuer](#issuer), [audience](#audience), [private key](#key), and private key password in the corresponding fields.
Notes
- The private key should be in standard PKCS #1 format. PKCS #8 format is not supported.
- The private key password is only required if the private key is encrypted with a passphrase.
- **Identity Governance Source Name** - Enter the name of the source you created for the [identity governance connector](#configuring-salesforce-identity-governance-source). If no matching source is found, the test connection will fail.
1. Select **Save** to save these settings.
1. From the left panel, select **Review and Test** in the **Source Setup** section.
1. On the **Configuration Summary** page, select **Test Connection** to test the connection between the applications. You must have a successful connection for Identity Security Cloud to gather activity data. If the test is unsuccessful, retry your credentials or contact [SailPoint Support](https://community.sailpoint.com/t5/Working-With-Support/ct-p/WorkWithSupport).
To gather account data, you must [correlate accounts](https://documentation.sailpoint.com/saas/help/accounts/correlation.html#configuring-account-correlation) and [run an aggregation](https://documentation.sailpoint.com/saas/help/accounts/loading_data.html) for the Salesforce identity governance source. Your activity data will begin syncing immediately but may take up to 24 hours to display. Data will then update daily.
#### Setting Permissions for a Custom Profile with Least Privilege
You can create and assign a profile with the least privilege by [creating a custom profile](https://help.salesforce.com/s/articleView?id=sf.users_profiles_cloning.htm&type=5) with the following settings:
##### System Permissions
| | |
| ---------------------------------------------------- | ----------------------------- |
| Create and Customize List View | Create and Set Up Experiences |
| Create Libraries | Create Topics |
| Customize Application | Edit Events |
| Update Consent Preferences Using REST API | Lightning Console User |
| Lightning Experience User | Lightning Login User |
| Manage All Private Reports and Dashboards | Manage Certificates |
| Manage Connected Apps | Manage Custom Permissions |
| Manage Lightning Sync | Manage Mobile Configurations |
| Manage Multi-Factor Authentication in User Interface | View All Data |
| View Event Log Files | View Help Link |
| View Real-Time Event Monitoring Data | View Roles and Role Hierarchy |
| View Setup and Configuration | View User Records with PII |
##### User Permissions
| | |
| ------------------------ | ------------------------------------- |
| Assign Permission Sets | Manage Internal Users |
| Manage IP Addresses | Manage Login Access Policies |
| Manage Password Policies | Manage Profiles and Permissions Sets |
| Manage Roles | Manage Sharing |
| Manage Users | Reset User Passwords and Unlock Users |
| View All Profiles | View All Users |
##### Object Settings
For a complete list of object permissions, refer to [Salesforce Integration - Object Settings](https://documentation.sailpoint.com/saas/help/ai/activity_insights/connectors/salesforce_objectsettings.html).
##### App Permissions
| Category | Permission Name |
| -------------------- | ------------------------------------ |
| Call Center | Manage Macros Users Can't Undo |
| Knowledge Management | Allow View Knowledge |
| Knowledge Management | Knowledge One |
| Sales | Edit Opportunity Product Sales Price |
| Sales | Send Stay-in-Touch Requests |
# Salesforce Integration - Object Settings
To create a custom profile to integrate with Salesforce, you must set the following minimum required object settings:
Important
Every object in the following tables must be set to *No Access* for the profile to use the least privilege.
## A
| | | |
| --------------------------------- | ----------------------------- | ------------------------------------ |
| Account Brands | Accounts | Action Plans |
| Action Plan Templates | Addresses | AI Insight Reasons |
| AI Record Insights | Alternative Payment Methods | API Anomaly Event Stores |
| App Analytics Query Requests | Application Usage Assignments | Assessment Indicator Definitions |
| Assessment Task Content Documents | Assessment Task Definitions | Assessment Task Indicator Definition |
| Assessment Task Orders | Assessment Tasks | Asset Actions |
| Asset Action Sources | Assets | Asset State Periods |
| Async Operation Logs | Authorization Form Consents | Authorization Form Data Uses |
| Authorization Forms | Authorization Forms Texts | |
## B
| |
| --------------------- |
| Background Operations |
| Business Brands |
## C
| | | |
| ---------------------------------------- | ----------------------------------- | -------------------------------- |
| Campaigns | Card Payment Methods | Cases |
| Chat Sessions | Chat Transcripts | Chat Visitors |
| Communication Subscription Channel Types | Communication Subscription Consents | Communication Subscriptions |
| Communication Subscription Timings | Consumption Schedules | Contact Point Addresses |
| Contact Point Consents | Contact Point Emails | Contact Point Phones |
| Contact Point Type Consents | Contact Requests | Contacts |
| Contracts | Credential Stuffing Event Stores | Credit Memo Invoice Applications |
| Credit Memos | Customers | Custom Object 01 |
## D
| |
| --------------------- |
| D&B Companies |
| Data Use Legal Bases |
| Data Use Purposes |
| Delivery Tasks |
| Digital Wallets |
| Documents |
| Duplicate Record Sets |
## E
| |
| ------------------------ |
| Employees |
| Engagement Channel Types |
## F
| |
| ------------------------- |
| Finance Balance Snapshots |
| Finance Transactions |
## G
| |
| ------------------------------------- |
| Gateway Provider Payment Method Types |
## I
| |
| ----------------------------- |
| ICA Recommendations |
| Ideas |
| Images |
| Individuals |
| Internal Organizational Units |
| Invoices |
## L
| |
| -------------------------- |
| Leads |
| Legal Entities |
| Location Group Assignments |
| Location Groups |
| Locations |
## M
| |
| ------ |
| Macros |
## N
| |
| ------------------ |
| Nomalys layouts |
| Nomalys validation |
## O
| |
| --------------------- |
| Opportunities |
| Orders |
| Other Component Tasks |
## P
| | | |
| --------------------- | --------------------------------- | ----------------------------- |
| Party Consents | Payment Authorization Adjustments | Payment Authorizations |
| Payment Gateway Logs | Payment Gateways | Payment Groups |
| Payment Line Invoices | Payments | Price Books |
| Privacy Consents | Product Availability Projections | Product Fulfillment Locations |
| Product Items | Products | Product Transfers |
| Push Topics | | |
## Q
| |
| ---------- |
| Quick Text |
## R
| |
| --------------------------- |
| Refund Line Payments |
| Refunds |
| Report Anomaly Event Stores |
| Responses |
## S
| | | |
| ------------------------------ | ------------------------------------- | ------------------------- |
| Scorecard Associations | Scorecard Metrics | Scorecards |
| Sellers | Service Catalog Request Related Items | Service Catalog Requests |
| Session Hijacking Event Stores | Shipments | Signature Task Line Items |
| Signature Tasks | SMP sessions | Solutions |
| SOS Sessions | Streaming Channels | |
## T
| |
| -------- |
| TestObjs |
## V
| |
| ------------------------ |
| Vehicle User Assignments |
| Visited Parties |
| Visitors |
| Visits |
## W
| |
| ------------------- |
| Workflow Categories |
| Workflow Executions |
| Workflows |
You'll now continue setting the permissions for the custom profile by setting the [app permissions](https://documentation.sailpoint.com/saas/help/ai/activity_insights/connectors/salesforce.html#app-permissions) in Salesforce.
# Activity Insights - ServiceNow
To display activity data from ServiceNow, you can set up a single [SaaS](#configuring-activity-insights-using-the-servicenow-saas-connector) connector or configure both a [virtual appliance (VA)](#configuring-activity-insights-using-a-va-based-source) and [Activity Insights - ServiceNow](#configuring-the-activity-insights-servicenow-source) connector.
## Configuring Activity Insights Using the ServiceNow SaaS Connector
If you are using the ServiceNow SaaS connector, follow the connector guide to [enable Activity Insights](https://documentation.sailpoint.com/connectors/saas/servicenow/identity_governance/help/saas_connectivity/servicenow_identity_governance_saas/activity_insights_settings.html).
After a successful test connection, you must [correlate accounts](https://documentation.sailpoint.com/saas/help/accounts/correlation.html#configuring-account-correlation) and [run an aggregation](https://documentation.sailpoint.com/saas/help/accounts/loading_data.html) for the ServiceNow SaaS source. Your activity data will begin syncing immediately but may take up to 24 hours to display. Data will then update daily.
Note
If you previously configured both the [ServiceNow identity governance](#configuring-the-servicenow-identity-governance-source) and [Activity Insights - ServiceNow](#configuring-the-activity-insights-servicenow-source) connectors, you do not have to take additional action to continue receiving your data.
## Configuring Activity Insights Using a VA-Based Source
If you are setting up Activity Insights using a VA-based connector, you may either use [basic authentication](#basic_auth) or [create an OAuth client](#creating-an-oauth-client-in-servicenow) to connect ServiceNow to Identity Security Cloud. You'll then configure both the [ServiceNow identity governance](#configuring-the-servicenow-identity-governance-source) and [Activity Insights - ServiceNow](#configuring-the-activity-insights-servicenow-source) connectors so that Identity Security Cloud can gather your account information and display activity data.
### Creating an OAuth Client in ServiceNow
You can use one of the following methods to create an OAuth client in ServiceNow:
- Using the [refresh token grant type](#creating-an-oauth-client-using-refresh-token-grant-type)
- Using a supported [client credentials grant type](#creating-an-oauth-client-using-client-credentials-grant-type)
#### Creating an OAuth Client Using Refresh Token Grant Type
To create an OAuth client using a refresh token, log in to the ServiceNow Service Management console as an administrator.
1. From the **Admin Home** page, enter "System OAuth" in the search bar on the left panel.
1. Under **System OAuth**, select **Application Registry**.
1. Select **New** to create a new OAuth2 client.
1. Select **Create an OAuth API endpoint for external clients**.
1. Enter the following OAuth2 client application details in the appropriate fields:
- **Name** - A unique name for the client.
- **Application** - The application scope for the OAuth2 client, such as Global.
- **Client ID** - The client ID is automatically generated by ServiceNow.
- **Client Secret** - The client secret for the OAuth2 client. If you leave this field blank, ServiceNow automatically generates a client secret.
- **Redirect URL** - (Optional) The URL that the authorization server redirects to.
- **Refresh Token Lifespan** - The number of seconds that the refresh token is valid. This value should be a large number. The default validity is 8,640,000.
- **Access Token Lifespan** - The number of seconds that the access token is valid. The default access token validity is 1,800 seconds.
1. Select **Submit** to create the OAuth2 client. If the client secret field was left empty, a client secret is generated at this point.
1. On the **Application Registries** page, select the OAuth2 client you created.
1. Copy the **Client ID** and select the **Padlock** icon to display and copy the **Client Secret**. You’ll use this information to create a refresh token.
1. Use the following curl command to create the refresh token:
```text
curl --location 'https://instancename.service-now.com/oauth_token.do' \
--header 'Content-Type: application/x-www-form-urlencoded' \
--data-urlencode 'grant_type=password' \
--data-urlencode 'client_id=' \
--data-urlencode 'client_secret=' \
--data-urlencode 'username=' \
--data-urlencode 'password=' \
--header 'Content-Type: application/json'
```
Where:
- `` - The client ID generated by ServiceNow.
- `` - The client secret from ServiceNow.
- `` - The username for the ServiceNow account.
- `` - The password for the ServiceNow account.
1. Copy and store the refresh token in a safe place. You'll use your client ID, client secret, and refresh token to connect ServiceNow to Identity Security Cloud.
#### Creating an OAuth Client Using Client Credentials Grant Type
You can use one of the following methods to create an OAuth client using the client credentials grant type:
- [Okta OpenID Connect (OIDC) using the client credentials grant type](https://www.servicenow.com/docs/bundle/xanadu-platform-security/page/administer/security/task/add-OIDC-entity.html).
- [Inbound client credentials grant type](https://support.servicenow.com/kb?id=kb_article_view&sysparm_article=KB1645212).
### Configuring the ServiceNow Identity Governance Source
Use the [ServiceNow connector guide](https://documentation.sailpoint.com/connectors/servicenow/help/integrating_snow_identity_governance_connector/intro.html) to configure your ServiceNow source in Identity Security Cloud. You can also edit an existing source.
### Configuring the Activity Insights - ServiceNow Source
To display activity data from Activity Insights, you must configure the Activity Insights - ServiceNow source in Identity Security Cloud.
1. Go to **Admin > Connections > Sources**.
1. Select **Create New** to create a new source.
1. Search for and select the **Activity Insights - ServiceNow** connector.
1. Enter a name and description for the source.
1. In the **Source Owner** field, begin typing the name of an owner. Matches appear after you type two letters.
1. (Optional) Select a [governance group](https://documentation.sailpoint.com/saas/help/common/users/governance_groups.html) for source management.
1. Select the checkbox if the source is an [authoritative source](https://documentation.sailpoint.com/saas/help/setup/identity_profiles.html).
1. Select **Continue** to create the source.
1. From the left panel, select **Connection Settings** in the **Source Setup** section.
1. On the **Authentication** page, complete the following:
- In the **Host URL** field, enter the Host URL for your ServiceNow instance in the form of `https://instance-name.service-now.com`.
- Select the authentication type used.
- For **Basic** authentication, enter the username and password for the ServiceNow account.
- For **OAuth 2.0**, select the grant type used.
- For **Refresh Token**, complete the following:
- In the **Client ID** field, enter the client ID from ServiceNow.
- In the **Client Secret** field, enter the client secret from ServiceNow.
- In the **Refresh Token** field, enter the refresh token you created.
- For **Client Credentials**, complete the following based on the method used:
- **Okta External OIDC Provider**
- In the **OAuth 2.0 Token URL** field, enter the token URL in the format `{yourOktaDomain.com}/oauth2/{authorizationServerId}/v1/token`.
- In the **Client ID** field, enter the client ID for the Okta instance configured as the external OIDC in ServiceNow.
- In the **Client Secret** field, enter the client secret for the Okta instance configured as the external OIDC in ServiceNow.
- **Inbound client credentials grant type**
- In the **OAuth 2.0 Token URL** field, enter the token URL in the format `https://instancename.service-now.com/oauth_token.do`.
- In the **Client ID** field, enter the client ID from ServiceNow.
- In the **Client Secret** field, enter the client secret from ServiceNow.
- In the **Identity Governance Source Name** field, enter the name of the source you created for the [identity governance connector](#configuring-the-servicenow-identity-governance-source). If no matching source is found, the test connection will fail.
1. Select **Save** to save these settings.
1. From the left panel, select **Review and Test** in the **Source Setup** section.
1. On the **Configuration Summary** page, select **Test Connection** to test the connection between the applications. You must have a successful connection for Identity Security Cloud to gather activity data. If the test is unsuccessful, retry your credentials or contact [SailPoint Support](https://community.sailpoint.com/t5/Working-With-Support/ct-p/WorkWithSupport).
To gather account data, you must [correlate accounts](https://documentation.sailpoint.com/saas/help/accounts/correlation.html#configuring-account-correlation) and [run an aggregation](https://documentation.sailpoint.com/saas/help/accounts/loading_data.html) for the ServiceNow identity governance source. Your activity data will begin syncing immediately but may take up to 24 hours to display. Data will then update daily.
# Activity Insights - Microsoft SharePoint Online
To display activity data from Microsoft SharePoint Online, you can set up a single [SaaS](#configuring-activity-insights-using-the-microsoft-sharepoint-online-saas-connector) connector or configure both a [virtual appliance (VA)](#configuring-activity-insights-using-a-va-based-source) and [Activity Insights - Microsoft SharePoint Online](#configuring-the-activity-insights-microsoft-sharepoint-online-source) connector.
## Configuring Activity Insights Using the Microsoft SharePoint Online SaaS Connector
If you are using the Microsoft SharePoint Online SaaS connector, follow the connector guide to [enable Activity Insights](https://documentation.sailpoint.com/connectors/saas/ms_sharepoint_online/help/saas_connectivity/ms_sharepoint_online/activity_insights_settings.html).
After a successful test connection, you must [correlate accounts](https://documentation.sailpoint.com/saas/help/accounts/correlation.html#configuring-account-correlation) and [run an aggregation](https://documentation.sailpoint.com/saas/help/accounts/loading_data.html) for the Microsoft SharePoint Online SaaS source. Your activity data will begin syncing immediately but may take up to 24 hours to display. Data will then update daily.
Note
If you previously configured both the [Microsoft SharePoint Online identity governance](#configuring-the-microsoft-sharepoint-online-identity-governance-source) and [Activity Insights - Microsoft SharePoint Online](#configuring-the-activity-insights-microsoft-sharepoint-online-source) connectors, you do not have to take additional action to continue receiving your data.
## Configuring Activity Insights Using a VA-Based Source
If you are setting up Activity Insights using a VA-based connector, you must first [register an OAuth application in Microsoft Entra ID](#registering-an-oauth-application-in-microsoft-entra-id). You'll then configure both the [Microsoft SharePoint Online identity governance](#configuring-the-microsoft-sharepoint-online-identity-governance-source) and [Activity Insights - Microsoft SharePoint Online](#configuring-the-activity-insights-microsoft-sharepoint-online-source) connectors so that Identity Security Cloud can gather your account information and display activity data.
### Registering an OAuth Application in Microsoft Entra ID
To gather activity data for your Microsoft SharePoint Online users, you must first register an OAuth application in Microsoft Entra ID.
1. [Register an OAuth application](https://learn.microsoft.com/en-us/office/office-365-management-api/get-started-with-office-365-management-apis#register-your-application-in-microsoft-entra-id).
1. [Specify the following API permission](https://learn.microsoft.com/en-us/graph/notifications-integration-app-registration#api-permissions):
| API / Permission Name | Application | Description |
| --------------------- | ----------- | ---------------------------------------- |
| `ActivityFeed.Read` | Application | Read activity data for your organization |
1. [Configure your application's properties](https://learn.microsoft.com/en-us/office/office-365-management-api/get-started-with-office-365-management-apis#configure-your-application-properties-in-microsoft-entra-id). You'll need your Client ID to connect Microsoft SharePoint Online to Identity Security Cloud.
1. [Generate a new client secret key for your application](https://learn.microsoft.com/en-us/office/office-365-management-api/get-started-with-office-365-management-apis#generate-a-new-key-for-your-application). You'll need the Client Secret to connect Microsoft SharePoint Online to Identity Security Cloud.
1. [Find your Directory (Tenant) ID](https://learn.microsoft.com/en-us/entra/fundamentals/how-to-find-tenant#find-tenant-id-through-the-microsoft-entra-admin-center). You'll need your Directory (Tenant) ID to connect Microsoft SharePoint Online to Identity Security Cloud.
You’ll then use the client ID, client secret, and tenant ID to connect Microsoft SharePoint Online to Identity Security Cloud.
### Configuring the Microsoft SharePoint Online Identity Governance Source
Follow the [directions](https://documentation.sailpoint.com/connectors/microsoft/sharepoint_online/help/integrating_ms_sharepoint_online/introduction.html) to configure your Microsoft SharePoint Online source in Identity Security Cloud. You can also edit an existing source.
### Configuring the Activity Insights - Microsoft SharePoint Online Source
To display activity data from Activity Insights, you must configure the Activity Insights - Microsoft SharePoint Online source in Identity Security Cloud.
1. Go to **Admin > Connections > Sources**.
1. Select **Create New** to create a new source.
1. Search for and select the **Activity Insights - Microsoft SharePoint Online** connector.
1. Enter a name and description for the source.
1. In the **Source Owner** field, enter the name of an owner. Matches appear after you type two letters.
1. (Optional) Select a [governance group](https://documentation.sailpoint.com/saas/help/common/users/governance_groups.html) for source management.
1. Select the checkbox if the source is an [authoritative source](https://documentation.sailpoint.com/saas/help/setup/identity_profiles.html).
1. Select **Continue** to create the source.
1. From the left panel, select **Configuration** in the **Source Setup** section.
1. On the **Authentication** page, enter the following information for your grant type: Client Credentials or JWT Certificate Credentials.
**Client Credentials**:
- **Client ID** - The API client key from Microsoft SharePoint Online.
- **Client Secret** - The API client secret from Microsoft SharePoint Online.
- **Directory (tenant) ID** - The ID of the directory (tenant) associated with the Microsoft SharePoint Online organization tenant.
- **Identity Governance Source Name** - The name of the source you created for the [identity governance connector](#configuring-the-microsoft-sharepoint-online-identity-governance-source). If no matching source is found, the test connection will fail.
**JWT Certificate Credentials**:
- **Client ID** - The API client key (Application ID) from the Microsoft Entra ID (Azure AD) app registration.
- **Certificate** - The content of the certificate file uploaded to the Azure AD application.
- **Private Key** - The private key text used to sign the JWT assertion.
- **Private Key Password** (optional) - The password for the private key. Required only if the private key is encrypted.
- **Domain Name** - The Microsoft SharePoint Online domain.
1. Select **Save** to save these settings.
1. From the left panel, select **Review and Test** in the **Source Setup** section.
1. On the **Configuration Summary** page, select **Test Connection** to test the connection between the applications. You must have a successful connection for Identity Security Cloud to gather activity data. If the test is unsuccessful, retry your credentials or contact [SailPoint Support](https://community.sailpoint.com/t5/Working-With-Support/ct-p/WorkWithSupport).
To gather account data, you must [correlate accounts](https://documentation.sailpoint.com/saas/help/accounts/correlation.html#configuring-account-correlation) and [run an aggregation](https://documentation.sailpoint.com/saas/help/accounts/loading_data.html) for the Microsoft SharePoint Online identity governance source. Your activity data will begin syncing immediately but may take up to 24 hours to display. Data will then update daily.
# Activity Insights - Slack
To display activity data from Slack, you can set up a single [SaaS](#configuring-activity-insights-using-the-slack-saas-connector) connector or configure both a [virtual appliance (VA)](#configuring-activity-insights-using-a-va-based-source) and [Activity Insights - Slack](#configuring-the-activity-insights-slack-source) connector.
## Configuring Activity Insights Using the Slack SaaS Connector
If you are using the Slack SaaS connector, follow the connector guide to [enable Activity Insights](https://documentation.sailpoint.com/connectors/saas/slack/help/common/identitynow_topics/activity_insights_settings_no_permissions.html).
After a successful test connection, you must [correlate accounts](https://documentation.sailpoint.com/saas/help/accounts/correlation.html#configuring-account-correlation) and [run an aggregation](https://documentation.sailpoint.com/saas/help/accounts/loading_data.html) for the Slack SaaS source. Your activity data will begin syncing immediately but may take up to 24 hours to display. Data will then update daily.
Note
If you previously configured both the [Slack identity governance](#configuring-the-slack-identity-governance-source) and [Activity Insights - Slack](#configuring-the-activity-insights-slack-source) connectors, you do not have to take additional action to continue receiving your data.
## Configuring Activity Insights Using a VA-Based Source
If you are setting up Activity Insights using a VA-based connector, you first must [create an OAuth application](#creating-an-oauth-application-in-slack) in Slack. You'll then configure both the [Slack identity governance](#configuring-the-slack-identity-governance-source) and [Activity Insights - Slack](#configuring-the-activity-insights-slack-source) connectors so that Identity Security Cloud can gather your account information and display activity data.
### Creating an OAuth Application in Slack
You must use a Slack account with Admin access to create an OAuth application.
1. [Create an app](https://api.slack.com/quickstart#creating).
1. In the Add features and functionality section, select the **Permissions** tile.
1. Scroll to the Scopes section. Under User Token Scopes, select **Add an OAuth Scope**.
1. Add the `Admin` scope.
1. [Install and authorize the app](https://api.slack.com/quickstart#installing).
1. Copy your OAuth token. You’ll need this value to connect Slack to Identity Security Cloud.
### Configuring the Slack Identity Governance Source
Follow the [directions](https://documentation.sailpoint.com/connectors/slack/help/integrating_slack/introduction.html) to create your Slack source in Identity Security Cloud. You can also edit an existing source.
### Configuring the Activity Insights - Slack Source
To display activity data from Activity Insights, you must configure the Activity Insights - Slack source in Identity Security Cloud.
1. Go to **Admin > Connections > Sources**.
1. Select **Create New** to create a new source.
1. Search for and select the **Activity Insights - Slack** connector.
1. Enter a source name and description.
1. In the **Source Owner** field, begin typing the name of an owner. Matches appear after you type two letters.
1. (Optional) Select a [governance group](https://documentation.sailpoint.com/saas/help/common/users/governance_groups.html) for source management.
1. Select the checkbox if the source is an [authoritative source](https://documentation.sailpoint.com/saas/help/setup/identity_profiles.html).
1. Select **Continue** to create the source.
1. From the left panel, select **Configuration** in the **Source Setup** section.
1. On the **Authentication** page, enter the following information:
- **Access Token** - Your OAuth token from Slack.
- **Identity Governance Source Name** - The name of the source you created for the [identity governance connector](#configuring-the-slack-identity-governance-source). If no matching source is found, the test connection will fail.
1. Select **Save** to save these settings.
1. From the left panel, select **Review and Test** in the **Source Setup** section.
1. On the **Configuration Summary** page, select **Test Connection** to test the connection between the applications. You must have a successful connection for Identity Security Cloud to gather activity data. If the test is unsuccessful, retry your credentials or contact [SailPoint Support](https://community.sailpoint.com/t5/Working-With-Support/ct-p/WorkWithSupport).
To gather account data, you must [correlate accounts](https://documentation.sailpoint.com/saas/help/accounts/correlation.html#configuring-account-correlation) and [run an aggregation](https://documentation.sailpoint.com/saas/help/accounts/loading_data.html) for the Slack identity governance source. Your activity data will begin syncing immediately but may take up to 24 hours to display. Data will then update daily.
# Activity Insights - Snowflake
To display activity data from Snowflake, you can set up a single [SaaS](#configuring-activity-insights-using-the-snowflake-saas-connector) connector or configure both a [virtual appliance (VA)](#configuring-activity-insights-using-a-va-based-source) and [Activity Insights - Snowflake](#configuring-the-activity-insights-snowflake-connector) connector.
## Configuring Activity Insights Using the Snowflake SaaS Connector
If you are using the Snowflake SaaS connector, follow the connector guide to [enable Activity Insights](https://documentation.sailpoint.com/connectors/saas/snowflake/help/saas_connectivity/snowflake/activity_insights_settings.html).
After a successful test connection, you must [correlate accounts](https://documentation.sailpoint.com/saas/help/accounts/correlation.html#configuring-account-correlation) and [run an aggregation](https://documentation.sailpoint.com/saas/help/accounts/loading_data.html) for the Snowflake SaaS source. Your activity data will begin syncing immediately but may take up to 24 hours to display. Data will then update daily.
## Configuring Activity Insights Using a VA-Based Source
If you are setting up Activity Insights using a VA-based connector, you must first [configure your Snowflake account](#configuring-your-snowflake-account). You'll then configure both the [Snowflake identity governance](#configuring-the-snowflake-identity-governance-source) and [Activity Insights - Snowflake](#configuring-the-activity-insights-snowflake-connector) connectors so that Identity Security Cloud can gather your account information and display activity data.
### Configuring Your Snowflake Account
To display Snowflake activity data in Identity Security Cloud, you'll first need to create a [Snowflake account](https://docs.snowflake.com/en/user-guide/organizations-manage-accounts-create) and generate an [encrypted private key](https://docs.snowflake.com/en/user-guide/key-pair-auth#generate-the-private-key). You'll then grant the Snowflake account the [required permissions](https://documentation.sailpoint.com/connectors/snowflake/help/integrating_snowflake/required_permissions.html) as well as the `ACCOUNTADMIN` role. This role combines the `SYSADMIN` and `SECURITYADMIN` system-defined roles and can be granted using the `GRANT ROLE ACCOUNTADMIN TO USER "UserName";` command.
### Configuring the Snowflake Identity Governance Source
Follow the [directions](https://documentation.sailpoint.com/connectors/snowflake/help/integrating_snowflake/intro.html) to configure your Snowflake source in Identity Security Cloud. You can also edit an existing source.
### Configuring the Activity Insights - Snowflake Connector
To display activity data from Activity Insights, you must configure the Activity Insights - Snowflake source in Identity Security Cloud.
1. Go to **Admin > Connections > Sources**.
1. Select **Create New** to create a new source.
1. Search for and select the **Activity Insights - Snowflake** connector.
1. Enter a name and description for the source.
1. In the **Source Owner** field, enter the name of an owner. Matches appear after you type two letters.
1. (Optional) Select a [governance group](https://documentation.sailpoint.com/saas/help/common/users/governance_groups.html) for source management.
1. Select the checkbox if the source is an [authoritative source](https://documentation.sailpoint.com/saas/help/setup/identity_profiles.html).
1. Select **Continue** to create the source.
1. From the left panel, select **Configuration** in the **Source Setup** section.
1. On the **Authentication** page, enter the following information:
- **Base URL** - The Base URL is in the format `.snowflakecomputing.com`, where the account identifier is a combination of `-`.
- **Authentication Type** - Select **Key Pair Authentication**.
- **Organization** - Your organization's name in Snowflake. You can find this information by using the [Show Organization Accounts](https://docs.snowflake.com/en/sql-reference/sql/show-organization-accounts) command and viewing the `organization_name` column.
- **Account** - The name of the Snowflake account. You can also find this information by using the Show Organization Accounts command and viewing the `account_name` column.
- **Username** - The username used to log in to the Snowflake account.
- **Private Key** - The Private Key used to authenticate the Snowflake account. The provided key must be an unencrypted private key.
- **Passphrase** - The passphrase used to validate the private key.
- **Identity Governance Source Name** - The name of the source you created for the [identity governance connector](#configuring-the-snowflake-identity-governance-source). If no matching source is found, the test connection will fail.
1. Select **Save** to save these settings.
1. From the left panel, select **Review and Test** in the **Source Setup** section.
1. On the **Configuration Summary** page, select **Test Connection** to test the connection between the applications. You must have a successful connection for Identity Security Cloud to gather activity data. If the test is unsuccessful, retry your credentials or contact [SailPoint Support](https://community.sailpoint.com/t5/Working-With-Support/ct-p/WorkWithSupport).
To gather account data, you must [correlate accounts](https://documentation.sailpoint.com/saas/help/accounts/correlation.html#configuring-account-correlation) and [run an aggregation](https://documentation.sailpoint.com/saas/help/accounts/loading_data.html) for the Snowflake identity governance source. Your activity data will begin syncing immediately but may take up to 24 hours to display. Data will then update daily.
# Activity Insights - Zendesk
To display activity data from Zendesk, you can set up a single [SaaS](#configuring-activity-insights-using-the-zendesk-saas-connector) connector or configure both a [virtual appliance (VA)](#configuring-the-zendesk-identity-governance-source) and [Activity Insights - Zendesk](#configuring-the-activity-insights-zendesk-source) connector.
## Configuring Activity Insights Using the Zendesk SaaS Connector
If you are using the Zendesk SaaS connector, follow the connector guide to [enable Activity Insights](https://documentation.sailpoint.com/connectors/saas/zendesk/help/saas_connectivity/zendesk/activity_insights_settings.html).
After a successful test connection, you must [correlate accounts](https://documentation.sailpoint.com/saas/help/accounts/correlation.html#configuring-account-correlation) and [run an aggregation](https://documentation.sailpoint.com/saas/help/accounts/loading_data.html) for the Zendesk SaaS source. Your activity data will begin syncing immediately but may take up to 24 hours to display. Data will then update daily.
Note
If you previously configured both the [Zendesk identity governance](#configuring-the-zendesk-identity-governance-source) and [Activity Insights - Zendesk](#configuring-the-activity-insights-zendesk-source) connectors, you do not have to take additional action to continue receiving your data.
## Configuring Activity Insights Using a VA-Based Source
If you are setting up Activity Insights using a VA-based connector, you'll configure both the [Zendesk identity governance](#configuring-the-zendesk-identity-governance-source) and [Activity Insights - Zendesk](#configuring-the-activity-insights-zendesk-source) connectors so that Identity Security Cloud can gather your account information and display activity data. You may use basic authentication or OAuth 2.0 authentication to set up the connectors. If you choose to use OAuth 2.0 authentication, you must first [register an application in Zendesk](#registering-an-application-in-zendesk).
### Registering an Application in Zendesk
If you choose to use OAuth 2.0 authentication to connect Zendesk to Identity Security Cloud, you must first [register an application in Zendesk](https://support.zendesk.com/hc/en-us/articles/4408845965210#topic_s21_lfs_qk).
You'll use the client name and secret you received to set up the Activity Insights - Zendesk connector.
### Configuring the Zendesk Identity Governance Source
Follow the [directions](https://documentation.sailpoint.com/connectors/zendesk_accounts/help/integrating_zendesk/connecting_sailpoint_and_zendesk.html) to configure your Zendesk source in Identity Security Cloud. You can also edit an existing source.
### Configuring the Activity Insights - Zendesk Source
To display activity data from Activity Insights, you must configure the Activity Insights - Zendesk source in Identity Security Cloud.
1. Go to **Admin > Connections > Sources**.
1. Select **Create New** to create a new source.
1. Search for and select the **Activity Insights - Zendesk** connector.
1. Enter a name and description for the source.
1. In the **Source Owner** field, begin typing the name of an owner. Matches appear after you type two letters.
1. (Optional) Select a [governance group](https://documentation.sailpoint.com/saas/help/common/users/governance_groups.html) for source management.
1. Select the checkbox if the source is an [authoritative source](https://documentation.sailpoint.com/saas/help/setup/identity_profiles.html).
1. Select **Continue** to create the source.
1. From the left panel, select **Configuration** in the **Source Setup** section.
1. On the **Authentication** page, complete the following:
- In the **Host URL** field, enter the Host URL for your Zendesk account. For example, your Host URL may appear as `company.zendesk.com`.
- For the **Authentication Type**, select **Basic** or **OAuth 2.0**.
- For **Basic** authentication, complete the following:
- In the **Email Address** field, enter the email address of the Zendesk account.
- In the **Password** field, enter the password of the Zendesk account.
- In the **Identity Governance Source Name** field, enter the name of the source you created for the [identity governance connector](#configuring-the-zendesk-identity-governance-source). If no matching source is found, the test connection will fail.
- For **OAuth 2.0** authentication, complete the following:
- In the **Email Address** field, enter the email address for the Zendesk account.
- In the **Password** field, enter the password for the Zendesk account.
- From the **Grant Type** dropdown list, select **Password**.
- In the **Token URL** field, enter the Host URL appended with `/oauth/tokens`.
- In the **Client ID** field, enter the [Client Name](#registering-an-application-in-zendesk) from Zendesk.
- In the **Client Secret** field, enter the [Client Secret](#registering-an-application-in-zendesk) from Zendesk.
- In the **Identity Governance Source Name** field, enter the name of the source you created for the [identity governance connector](#configuring-the-zendesk-identity-governance-source). If no matching source is found, the test connection will fail.
1. Select **Save** to save these settings.
1. From the left panel, select **Review and Test** in the **Source Setup** section.
1. On the **Configuration Summary** page, select **Test Connection** to test the connection between the applications. You must have a successful connection for Identity Security Cloud to gather activity data. If the test is unsuccessful, retry your credentials or contact [SailPoint Support](https://community.sailpoint.com/t5/Working-With-Support/ct-p/WorkWithSupport).
To gather account data, you must [correlate accounts](https://documentation.sailpoint.com/saas/help/accounts/correlation.html#configuring-account-correlation) and [run an aggregation](https://documentation.sailpoint.com/saas/help/accounts/loading_data.html) for the Zendesk identity governance source. Your activity data will begin syncing immediately but may take up to 24 hours to display. Data will then update daily.
#### Required Permissions
Identity Security Cloud requires `Admin` account access to pull usage data for Zendesk users.
#### Requested Scopes
Identity Security Cloud requests the following scopes:
| Scope | Description |
| ----- | ------------------- |
| Read | Read all user data. |
# Activity Insights - Zoom
To display activity data from Zoom, you can set up a single [SaaS](#configuring-activity-insights-using-the-zoom-saas-connector) connector or configure both a [virtual appliance (VA)](#configuring-activity-insights-using-a-va-based-source) and [Activity Insights - Zoom](#configuring-the-activity-insights-zoom-source) connector.
## Configuring Activity Insights Using the Zoom SaaS Connector
If you are using the Zoom SaaS connector, follow the connector guide to [enable Activity Insights](https://documentation.sailpoint.com/connectors/saas/zoom/help/saas_connectivity/zoom/activity_insights_settings.html).
After a successful test connection, you must [correlate accounts](https://documentation.sailpoint.com/saas/help/accounts/correlation.html#configuring-account-correlation) and [run an aggregation](https://documentation.sailpoint.com/saas/help/accounts/loading_data.html) for the Zoom SaaS source. Your activity data will begin syncing immediately but may take up to 24 hours to display. Data will then update daily.
Note
If you previously configured both the [Zoom identity governance](#configuring-the-zoom-identity-governance-source) and [Activity Insights - Zoom](#configuring-the-activity-insights-zoom-source) connectors, you do not have to take additional action to continue receiving your data.
## Configuring Activity Insights Using a VA-Based Source
If you are setting up Activity Insights using a VA-based connector, you must first [create an OAuth application](#creating-an-oauth-application-in-zoom) in Zoom. You'll then configure both the [Zoom identity governance](#configuring-the-zoom-identity-governance-source) and [Activity Insights - Zoom](#configuring-the-activity-insights-zoom-source) connectors so that Identity Security Cloud can gather your account information and display activity data.
### Creating an OAuth Application in Zoom
Before activity insights can display in Identity Security Cloud, you must create an OAuth application in Zoom using either the Account Credentials or Refresh Token grant types.
#### Creating an OAuth Application Using Account Credentials
1. Go to the Zoom App Marketplace. In the upper-right corner of the page, select **Develop > Build App** from the dropdown list.
1. Choose **Server to Server OAuth App** and then select **Create**.
1. Enter a name for the application.
1. Copy your Account ID, Client ID, and Client Secret and store these credentials in a safe location. Select **Continue**.
1. On the **Information** page, enter basic information about the application and then include your developer contact information. Select **Continue**.
1. Select **Scopes** from the left menu and add the [requested scopes](#requested-scopes). Select **Continue**.
1. On the Activation page, select **Activate your App**.
You can now use your account ID, client ID, and client secret to [configure the Zoom identity governance source](#configuring-the-zoom-identity-governance-source) and the Activity Insights - Zoom source.
#### Creating an OAuth Application Using a Refresh Token
1. Follow the [Zoom product documentation](https://developers.zoom.us/docs/build-flow/create-oauth-apps/#step-1-build-an-oauth-app) to create an OAuth app that is a **General App** and admin-managed.
1. On the Basic Information menu, copy the **Client ID** and **Client Secret** for your development or production environment. You'll need these credentials to connect Zoom to Identity Security Cloud.
1. [Create an access token](https://developers.zoom.us/docs/integrations/oauth/#getting-an-access-token). You'll need the token to connect Zoom to Identity Security Cloud.
Important
Zoom access tokens expire after one hour. Once the token has expired, you must refresh the access token. For more information, refer to the [Zoom product documentation](https://developers.zoom.us/docs/integrations/oauth/#refreshing-an-access-token).
You can now use your client ID, client secret, and refresh token to [configure the Zoom identity governance source](#configuring-the-zoom-identity-governance-source) and the [Activity Insights - Zoom source](#configuring-the-activity-insights-zoom-source).
### Configuring the Zoom Identity Governance Source
You must [configure the Zoom identity governance source](https://documentation.sailpoint.com/connectors/zoom/help/integrating_zoom/intro.html) for Identity Security Cloud to pull your Zoom users, groups, and roles.
### Configuring the Activity Insights - Zoom Source
To display activity data from Activity Insights, you must configure the Activity Insights - Zoom source in Identity Security Cloud.
1. From the Identity Security Cloud navigation menu, select **Admin > Connections > Sources**.
1. Select **Create New** to create a new source.
1. Search for and select the **Activity Insights - Zoom** connector.
1. Enter a name and description for the source.
1. In the **Source Owner** field, begin typing the name of an owner. Matches appear after you type two letters.
1. (Optional) Select a [governance group](https://documentation.sailpoint.com/saas/help/common/users/governance_groups.html) for source management.
1. Select the checkbox if the source is an [authoritative source](https://documentation.sailpoint.com/saas/help/setup/identity_profiles.html).
1. Select **Continue** to create the source.
1. From the left panel, select **Configuration** in the **Source Setup** section.
1. On the **Authentication** page, complete the following:
- For the **Authentication Type**, select **OAuth 2.0**.
- From the **Grant Type** dropdown list, select **Account Credentials** or **Refresh Token**.
- Enter the following information based on the grant type:
- For **Account Credentials**, copy and paste your account ID, client ID, and client secret from the App Credentials tab of your Zoom application.
- For **Refresh Token**, copy and paste your client ID, client secret, and refresh token.
- In the **Identity Governance Source Name** field, enter the name of the source you created for the [identity governance connector](#configuring-the-zoom-identity-governance-source). If no matching source is found, the test connection will fail.
1. Select **Save** to save your settings.
1. Select **Review and Test** from the left panel.
1. Select **Test Connection** to test the connection between the applications. The test must be successful for Identity Security Cloud to gather activity data. If the test is unsuccessful, retry your credentials or contact [SailPoint Support](https://community.sailpoint.com/t5/Working-With-Support/ct-p/WorkWithSupport).
To gather account data, you must [correlate accounts](https://documentation.sailpoint.com/saas/help/accounts/correlation.html#configuring-account-correlation) and [run an aggregation](https://documentation.sailpoint.com/saas/help/accounts/loading_data.html) for the Zoom identity governance source. Your activity data will begin syncing immediately but may take up to 24 hours to display. Data will then update daily.
#### Requested Scopes
Activity Insights requires the following scopes:
| Scopes | Description |
| ------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| account:read:admin | View a Master account's account and sub account information. This includes account settings, account lock settings, managed domains, and an account's trusted domains. |
| group:read:admin | View group information within your Zoom instance. |
| meeting:read:admin | View a user's meeting information, including meeting reports, participants, polls, and registrant information. |
| report:read:admin | View an account's meeting and webinar statistics via usage, user activity, meeting, and webinar reports. |
| user:read:admin | View information for all users in a Zoom account. This includes such information as a user’s profile information, user settings, user permissions, user tokens that allow the user to join a Meeting SDK meeting, and the user's scheduling privileges. |
For more information on these scopes, refer to [Zoom's product documentation](https://marketplace.zoom.us/docs/guides/auth/oauth/oauth-scopes/).
# SailPoint Application Onboarding
You can use SailPoint application onboarding to discover sources and receive configuration recommendations for enterprise applications you can govern in Identity Security Cloud.
## Application Definitions
SailPoint supports two types of applications:
- [Access applications](https://documentation.sailpoint.com/saas/help/access/app-config.html) are logical groupings of access within Identity Security Cloud that provide context for access rights, access requests, and password policies.
- Enterprise applications are on-premise or SaaS platforms that require identity security functions to manage access to accounts on them. You can use application onboarding to [discover these enterprise applications](#discovering-applications).
## Discovering Applications
Enterprise applications can be found [automatically](https://documentation.sailpoint.com/saas/help/ai/app_onboarding/app_discovery.html#discovering-applications-automatically) or by [providing a list](https://documentation.sailpoint.com/saas/help/ai/app_onboarding/app_discovery.html#manually-uploading-applications) of applications to add to Identity Security Cloud. Both methods help your organization add enterprise applications faster and more efficiently.
## Assigning Source Onboarding
You can assign source configurations to another user who has knowledge of and access to the source system. They'll provide configurations on a draft version of the source and submit it for review. Refer to [Assigning Source Configurations](https://documentation.sailpoint.com/saas/help/ai/app_onboarding/assign/index.html).
## Source Configuration Recommendations
You can receive [recommendations](https://documentation.sailpoint.com/saas/help/ai/app_onboarding/source_recommendations.html) on source configurations to speed up and streamline configurations like correlation mapping and account creation.
# Discovering Enterprise Applications
You can find enterprise applications your organization can onboard automatically using a [*discovery connector*](#available-discovery-connectors) or by manually uploading a .csv of application source information. This can speed up the process of adding enterprise applications to be governed in Identity Security Cloud.
Application Visibility is displayed in the Discovered Applications and Browser Extension Visibility sections.
| View | Admin Path | Data Scope |
| ---------------------------- | ------------------------------------------ | --------------------------------------------------------------------------------------------------------------------------------------------------- |
| Discovered Applications | **Sources > Discovered Applications** | - Displays all discovery sources (SSO, CMDB, CSV, Browser Extension) - Displays applications discovered through SSO, CMDB, PAM and other connectors |
| Browser Extension Visibility | **Sources > Browser Extension Visibility** | - Displays Browser-extension discovered apps only - Displays applications discovered through the browser extension (Shadow IT) |
## Available Discovery Connectors
Discovery connectors are SaaS connectors that can discover applications in your organization. Discovery connectors have *connector categories*, which encompass a group of discovery connectors that can find enterprise applications.
The following SailPoint connector types can be configured as discovery connectors:
| | |
| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------- |
| Discovery Connector Type | Discovery Connector Category |
| [PingOne SaaS](https://documentation.sailpoint.com/connectors/discovery/sso/pingone_sso/help/discovery/sso/pingone_sso/intro.html) | [SSO](#single-sign-on-sso) |
| [Microsoft Entra SaaS](https://documentation.sailpoint.com/connectors/discovery/sso/ms_entra_sso/help/discovery/sso/entra_sso/introduction.html) | |
| [Okta](https://documentation.sailpoint.com/connectors/discovery/sso/okta_sso/help/discovery/sso/okta_sso/intro.html) | |
| [ServiceNow](https://documentation.sailpoint.com/connectors/discovery/cmdb/servicenow_cmdb/help/discovery/cmdb/servicenow_cmdb/intro.html) | [CMDB](#configuration-management-database-cmdb) |
| [Application Visibility Browser Extension](https://documentation.sailpoint.com/connectors/discovery/browser_extension/help/discovery/browser_extension/introduction.html) | [Browser Extension](#browser-extension) |
| [CyberArk Privilege Cloud Shared Services](https://documentation.sailpoint.com/connectors/discovery/pam/cyberark_pam/help/discovery/pam/cyberark_pam/introduction.html) | [PAM](#privileged-access-management-pam) |
### Discovery Connector Categories
Discovery connector categories are groupings of discovery connectors that help identify the enterprise applications in your organization. You will select the connector category, like SSO, CMDB, or PAM when [discovering applications automatically](#discovering-applications-automatically).
#### Single Sign-On (SSO)
An SSO solution provides insights into the applications used within an organization by acting as a centralized point for user authentication and access to applications. SSO solutions create logs of user authentication events to document when users access enterprise applications. This creates a centralized record of application usage that SSO discovery connectors can leverage.
#### Configuration Management Database (CMDB)
CMDB is a central repository within the ServiceNow platform that stores information about the technical services and assets within an organization. It acts as a digital inventory system, detailing Configuration Items (CIs) like hardware, software, networks, and virtual environments, and their relationships. CMDB provides a single source of truth for IT assets, like software applications and hardware devices, and their configurations.
#### Browser Extension
The [Application Visibility](https://documentation.sailpoint.com/saam/help/index.html) browser extension enables discovery of web applications accessed by users across the organization. It captures user access activity to identify applications, usage patterns, and potential risk indicators such as compromised credentials or risky access. The collected data helps prioritize applications for governance based on risk and adoption.
Note
The Application Visibility browser extension is available in the following regions:
- EU Central: eu-central-1
- US East: us-east-1
#### Privileged Access Management (PAM)
A PAM solution provides insights into the privileged accounts and critical systems accessed within an organization by acting as a centralized control point for managing and monitoring privileged user activity. PAM solutions create detailed logs of privileged session events to document when users access sensitive systems, applications, and credentials. This creates a centralized record of privileged applications that PAM discovery connectors can leverage.
## Discovering Applications Automatically
You can automatically discover enterprise applications by creating discovery connectors, which search for and aggregate applications your organization has onboarded or can onboard.
If you have a source that supports both account aggregation and application discovery, create a separate connector for each purpose. Refer to [Loading Account Data](https://documentation.sailpoint.com/saas/help/accounts/loading_data.html) for more information on aggregating accounts.
**To create an SSO, CMDB or PAM discovery connector:**
1. Go to **Admin > Connections > Discovery Connectors**.
1. Select **Create Connector**.
1. Select the [SSO or CMBD](#discovery-connector-categories) category, and select **Continue**.
The list of available connector types is displayed.
1. Select **Configure** beside the type of connector you want to create.
The [available connectors](#available-discovery-connectors) depend on the connector category you selected.
1. Select **Start Connector Setup**.
1. Review the connector's name, owner, and description and make changes if necessary.
1. Select **Next**.
1. Enter the authentication information necessary to connect to your external system. The fields that appear here depend on the connector you selected. Refer to the [SailPoint Connector documentation](https://documentation.sailpoint.com/connectors/isc/landingpages/help/landingpages/isc_landing.html) for details about configuring the connector you chose.
1. Select **Finish** to create your discovery connector.
1. If you want to run an aggregation to discover applications on your new connector, select **Discover**. You can make additional configurations to this connector. Refer to the [SailPoint Connector documentation](https://documentation.sailpoint.com/connectors/isc/landingpages/help/landingpages/isc_landing.html) for details about configuring specific connectors, or go to [Scheduling Recurring Application Discovery Aggregations](#scheduling-recurring-application-discovery-aggregations) for information on scheduling aggregations.
**To create a browser extension discovery connector:**
1. Go to **Admin > Connections > Discovery Connectors**.
1. Select **Create Connector**.
1. Select the **Browser Extension** category, and select **Continue**.
The list of available connector types is displayed.
1. Select **Configure** beside the type of connector you want to create.
1. Select **Start Connector Setup**.
1. Review the connector's name, owner, and description and make changes if necessary.
1. Select **Finish** to create your discovery connector.
1. If you want to run an aggregation to discover applications on your new connector, select **Discover**. You can make additional configurations to this connector. Refer to the [SailPoint Connector documentation](https://documentation.sailpoint.com/connectors/isc/landingpages/help/landingpages/isc_landing.html) for details about configuring specific connectors, or go to [Scheduling Recurring Application Discovery Aggregations](#scheduling-recurring-application-discovery-aggregations) for information on scheduling discovery aggregations.
1. Go to **Admin > Connections > Sources > Discovered Applications** and select a name from the list to display it's base details. If you have SailPoint Accelerated Application Management and have configured the [Browser Extension](#browser-extension) discovery connector additional details and the following columns will be displayed:
| Attribute | Description |
| ------------- | --------------------------------------------------------------- |
| Risk Score | A score out of 100 indicating application risk. |
| Risk Level | An assigned level of risk, categorized as Low, Medium, or High. |
| Total Account | Total number of accounts discovered. |
1. You can make additional configurations to this connector. Refer to the [SailPoint Connector documentation](https://documentation.sailpoint.com/connectors/isc/landingpages/help/landingpages/isc_landing.html) for details about configuring specific connectors, or go to [Scheduling Recurring Application Discovery Aggregations](#scheduling-recurring-application-discovery-aggregations) for information on scheduling aggregations.
Using your discovered applications, you can [create sources](#creating-sources-from-discovered-applications) and [assign source configurations](https://documentation.sailpoint.com/saas/help/ai/app_onboarding/assign/index.html) to a subject matter expert in your org.
### Scheduling Recurring Application Discovery Aggregations
You can configure your discovery connectors to regularly aggregate applications associated with them so that your list of applications is always up to date.
1. Go to **Admin > Connections > Discovery Connectors**.
1. Select your discovery connector.
1. In the **Additional Settings** section, select **Discovery Settings**.
1. Select **Enable Schedule** to schedule recurring discovery aggregations.
1. Choose how often discovery aggregations should run:
- Daily: choose starting time
- Weekly: choose day of week and time
- Monthly: choose day of month and time
Notes
- Manual aggregation limits within a 24-hour period are as follows:
- Organization Admins are limited to 3 manual discovery applications per day per source. This limit is cumulative across all org Admins.
- Regular users are limited to 1 manual discovery application per day per source.
These limits ensure that individual compliance statuses are kept up to date while maintaining continuous compliance monitoring. If you need to run additional aggregations beyond these limits, contact [SailPoint Support](https://community.sailpoint.com/t5/Working-With-Support/ct-p/WorkWithSupport).
- Applications discovered by the [Application Visibility](https://documentation.sailpoint.com/saam/help/index.html) browser extension are available for aggregation once a day. Running multiple manual discovery aggregations in one day might not result in additional applications being displayed in Identity Security Cloud.
- The time zone (GMT offset) for the entitlement aggregation schedule is determined by the connected [virtual appliance cluster time zone](https://documentation.sailpoint.com/saas/help/va/manage_va.html#setting-the-va-cluster-time-zone).
Information about the most recent application discovery aggregation is displayed under **Discovery Activity**.
The discovery aggregation is added to the processing queue at the time you defined. Other queued or in-progress operations might delay the start of your discovery aggregation.
1. Select **Save**.
Using your discovered applications, you can [create sources](#creating-sources-from-discovered-applications) and [assign source configurations](https://documentation.sailpoint.com/saas/help/ai/app_onboarding/assign/index.html) to a subject matter expert in your org.
## Manually Uploading Applications
You can manually add a list of applications to be governed in Identity Security Cloud.
Important
Each .csv should contain a unique set of applications. Adding the same application to multiple .csv uploads will result in duplicate applications in Identity Security Cloud.
1. Go to **Admin > Connections > Sources**.
1. Select **Discovered Applications** from the left navigation bar.
1. Select **Manual Upload**.
1. Select **Download Template** and update the .csv with the names and descriptions of the new applications to add.
1. Choose **Upload CSV** and select the template you updated.
The applications will be processed and added to the **Discovered Applications** list.
## Hiding Applications
You can select **Actions > Hide Application** to hide an application from the **Discovered Applications** page. Select **Actions Show Application** to unhide the app.
To view the hidden applications, select the **Filter** icon and enable **Show Hidden Applications**. You can also filter by discovery connector type, the first time it was found by a discovery connector, or the most recent time the application was discovered.
## Creating Sources from Discovered Applications
After you have [added a discovery connector](#discovering-applications-automatically) or [uploaded a .csv](#manually-uploading-applications) of applications, you can create sources for the applications from the **Discovered Applications** page.
Identity Security Cloud uses a smart logic keyword matching to discover application sources by matching the Source Type and Source Name from the discovered application. If no matches are found, you will receive recommendations for generic connectors like JDBC, SCIM 1.1, Web Services, and Delimited Files.
To create a source from a discovered application:
1. Go to **Admin > Connections > Sources**.
1. Select **Discovered Applications** from the left navigation bar.
1. Find the discovered application in the list and select **Actions > Create Source**.
You can also select the discovered application from this list to view its details, then select **Actions > Create Source** on the details page.
1. Select **Configure** on the source you want to create and complete the configuration. Refer to the [SailPoint Connector documentation](https://documentation.sailpoint.com/connectors/isc/landingpages/help/landingpages/isc_landing.html) for guidance on specific configurations.
The application the source was created from is displayed in the **Application** column on the **Sources** page.
If there are multiple sources created from the application, you can choose to [associate](#associating-applications-with-sources) the discovered applications with their related sources to maintain clarity in your organization.
Some source configurations can be assigned to non-admin experts in your organization to work from a draft version of the source before a Source Admin or admin reviews and confirms the proposed changes. Refer to [Source Configuration Assignment](https://documentation.sailpoint.com/saas/help/ai/app_onboarding/assign/index.html) for more information.
## Associating Applications with Sources
Each discovered application can have multiple sources created from it, and sources created from an application are automatically associated with that application in the UI.
If you've discovered multiple applications of the same type, this labeling can help distinguish which sources go with which application.
### Editing Associations
While applications are automatically linked with the sources created from them, you can edit those associations and manually associate existing sources related to a discovered app.
1. Go to **Admin > Connections > Sources**.
1. Select **Discovered Applications** from the left navigation bar.
1. Find the discovered application in the list and select **Actions > Edit Association**.
1. In the **Associated Sources** dropdown list, select a source to associate with the application. You can associate an application with multiple sources.
Sources can be associated with one application.
1. To remove an association, select the **x** icon on the source name.
1. Select **Save** to save your associations.
The application name will be displayed next to the associated sources in the **Application** column on the **Sources** page.
# Connectivity Browser Extension Overview
Many business applications lack the modern interfaces required to connect with central security systems. Without a direct connection, org admins must manage user accounts manually. The SailPoint Connectivity Browser Extension solves this integration challenge. By recording an admins manual setup steps, the extension allows Identity Security Cloud to automatically replicate those actions whenever an account needs to be created, updated, or removed.
Operations are recorded individually rather than as a single continuous script. Each lifecycle action functions as an independent, modular workflow.
- Authentication (sign-in) - Captures session establishment, login credentials, and initial landing page navigation.
- Account creation (provisioning) - Records the creation of a new user profile, required field inputs, and confirmation actions.
- Account read (aggregation) - Records locating and reading user account details to verify status and entitlements.
- Account updates and deprovisioning - Records modifying permissions, disabling accounts, or removing user access.
## Prerequisites
To ensure a seamless installation process, verify that your system meets the following requirements:
- Google Chrome is installed, version 130 or newer.
- The Chrome browser extension is installed. Your IT team might push it to you automatically, or you may add it yourself.
- You have access to the source you are configuring in Identity Security Cloud.
- You have a service account on the managed system with permission to do the task. Use this rather than your own login, because SailPoint will sign in as this user later.
- The managed system is reachable over HTTPS.
- Sign-in must not require manual intervention. MFA, CAPTCHA, and SSO approval are not supported during replay.
## Configuring the Extension
Register the extension to give it access to the site.
1. Select the extension icon in the Chrome toolbar to open the window.
1. In **Managed Application URL**, enter the system you are going to record in.
1. If your tenant uses a custom address, enter the **Vanity URL**.
1. Select **Save**.
1. Select **Yes** to give the extension access to that site.
Each saved address shows a tag with its status:
- Allowed - Ready to use.
- Waiting for site access - Saved, but Chrome has not granted access yet. Select **Save** again and accept the prompt.
- Set by policy - Your IT team added this. You cannot remove it.
### Starting a Recording
Always start in Identity Security Cloud. Initiate every recording session directly from the source page in Identity Security Cloud. Identity Security Cloud must tell the extension which operation you are performing, such as Create Account or Aggregate Accounts. The extension cannot launch or guess this independently.
Identity Security Cloud automatically opens your managed system in a new tab and prepares the recorder. If the extension panel displays a "Waiting for ISC" message, return to your Identity Security Cloud tab and restart the recording process. Keep the originating Identity Security Cloud tab open until you have fully submitted your recording. Closing the tab will break the session link. Complete your recording in one continuous session. The active recording link expires after 15 minutes of inactivity.
### Using the Recorder Panel
The floating recording panel overlays your managed system to provide real-time session tracking. At a glance, you can monitor the active operation, current recording status, elapsed duration, and the total count of captured actions. You can drag to reposition the panel, resize it, or collapse it.
### Recording Sign-In
Record the sign-in process.
1. Select **Start Recording**.
1. Sign in as the service account.
1. Select **Stop and Finish**.
1. Select **Submit**.
1. If the panel warns you afterwards that the page has an unusual layout, run **Test Connection** in Identity Security Cloud.
If that fails, record the sign-in again.
### Recording Account and Entitlement Changes
Record account create/update or add/remove entitlement.
1. Select **Start Recording** and perform the task from start to finish.
1. Use **Pause** and **Resume** as needed.
1. Select **Stop and Finish** when the task is completed.
1. If you're asked which field you searched in to find the account, choose the field from the list and select **Confirm**.
1. Select **Review Attributes** to open the mapping screen.
1. Select **Submit** to send the recording.
You can also select **Delete** to start over.
### Recording a Single Account Read
Record a Get Object operation for one account.
1. Select **Start Recording**, search for a single account, and open it.
1. With that account's details on screen, select **Scan Account**.
1. Select **Stop and Finish**.
1. Select **Review Attributes**.
### Recording Aggregation
Record an account or group aggregation.
1. Select **Start Recording** and go to the page that lists the accounts or groups.
1. With the list on the screen, select **Capture Data**.
1. Select **Finish**.
1. Select **Review Attributes**.
## Confirming Captured Attributes
The **Confirm captured attributes** window lists everything the extension read from the page, next to the matching Identity Security Cloud attribute. Most rows are matched for you and marked Auto-matched.
Check the listed attributes and set which captured field is the Account ID and which is the Account Name. For groups, set the entitlement ID and entitlement name.
Per row you can:
- Choose a different Identity Security Cloud attribute to correlate with.
- Select **+ Add as new** to keep it as a new attribute.
- Select **Write only** to send it during provisioning but not read it back.
- Select **Delete** to drop it.
Caution
A deleted attribute is not available during replay. If a field you need is missing from the list, add it to the account schema in Identity Security Cloud first, then record again.
## Submitting the Recording
Send the recording to Identity Security Cloud.
1. Select **Submit**. The status changes to Submitting, and on success you see **Sent to Identity Security Cloud**. Finish setting up the source there.
Note
Submit once. A recording can only be delivered one time. To change it, record again.
# Using Source Recommendations
SailPoint's AI algorithm leverages data in Identity Security Cloud to provide source configuration and onboarding recommendations. These data-driven recommendations can help streamline decisions and speed up onboarding. Recommendations are dependent on the quality of customer data.
Recommendations use the most up-to-date identity data in your tenant and the latest account data received from that source. The account data used to generate recommendations is refreshed when there is an update to the source attributes since the last account data refresh, or if the present account data was refreshed more than an hour before.
Recommendations are available for [account correlation](#account-correlation-recommendations), [account provisioning](#account-provisioning-recommendations), and [app discovery](https://documentation.sailpoint.com/saas/help/ai/app_onboarding/app_discovery.html#creating-sources-from-discovered-applications).
To receive recommendations, you must first connect and aggregate an [authoritative source](https://documentation.sailpoint.com/saas/help/setup/identity_profiles.html).
## Account Correlation Recommendations
You can use recommendations to [add, optimize, and test account correlation mappings](https://documentation.sailpoint.com/saas/help/accounts/correlation.html#using-recommendations-to-correlate-accounts). The number and quality of account correlation recommendations depend on the quality of your provided data.
The identity profile configuration is used to populate the appropriate identity attributes from the account on the authoritative source. These identity attributes are used by the AI algorithm to generate recommendations for other sources.
If you are configuring a flat file source for the first time, in the **Source Setup** section, select **Review and Import Accounts** to import a .csv of your accounts to be used for correlation recommendations. Importing at this stage does not aggregate those accounts, but you can use this file when [aggregating your accounts](https://documentation.sailpoint.com/saas/help/accounts/loading_data.html#manually-aggregating-accounts-from-a-flat-file) later.
You can [dismiss correlation recommendations](https://documentation.sailpoint.com/saas/help/accounts/correlation.html#dismissing-recommendations-and-leaving-feedback) and optionally provide feedback on the suggested recommendations.
Important
After identities have been created in Identity Security Cloud, it might take 12 - 24 hours before they are considered in correlation recommendations.
## Account Provisioning Recommendations
You can use recommendations to replace the default account attribute mappings from the enterprise application, or mappings you've already configured, with pairings that have a higher percentage of matching values between the selected account attribute and suggested identity attribute. You must have at least one account aggregated on the source before receiving account creation recommendations. The number and quality of account mapping recommendations depend on the quality of your identity data and account data. Refer to [Using Recommendations to Provision Accounts](https://documentation.sailpoint.com/saas/help/provisioning/create_profile.html#using-recommendations-to-provision-accounts) for more information.
The Attribute Sync calculation capability utilizes a pseudo data lake to help users compute and visualize calculations efficiently. The data within this lake is a subset of what the full system contains, ensuring quick calculation previews. However, it's important to note that these calculations are based on the data in the lake, which might not always be synchronized with the system’s actual data. The synchronization process between the two systems typically takes between 3 to 6 hours.
The identity profile configuration is used to populate the appropriate identity attributes from the account on the authoritative source. These identity attributes are used by the AI algorithm to generate recommendations for other sources.
Policy recommendations are based on overlaps between the account attribute and identity attribute. For example, if 90% of accounts share the value of an account attribute with the identity attribute's value, that would be a good pair for policy recommendations.
You can [dismiss policy recommendations](https://documentation.sailpoint.com/saas/help/provisioning/create_profile.html#dismissing-recommendations-and-leaving-feedback) and optionally provide feedback on the suggested recommendations.
Note
When using generic connectors, ensure the target system supports the setting of account attributes in the Create Account policy when creating an account.
Important
After accounts have been added to Identity Security Cloud, it might take 12 - 24 hours before they are considered in provisioning recommendations.
# Assigning Source Configurations
Some source configurations can be assigned to non-admins in your organization. This allows you to choose a subject matter expert with knowledge of, and access to, the source system to provide basic configurations.
When the assignee completes their configurations, the source configurations will be reviewed by the assigning admin or the org admin before the source is enabled and the application's accounts and access can be governed within Identity Security Cloud.
Choose your next step based on your user level
- [I am the admin assigning the source](https://documentation.sailpoint.com/saas/help/ai/app_onboarding/assign/source_assign.html)
- [I have been assigned a source to configure](https://documentation.sailpoint.com/saas/help/ai/app_onboarding/assign/source_assignee.html)
# Assigning Source Configurations
You can assign source configurations to a user in your organization so that a subject matter expert can onboard it as a working source. This allows you to govern the application's accounts and access within Identity Security Cloud.
This user must be granted the Source Configuration Assignee user level to complete the source configurations. When you assign a source to a user, a draft version of the source is created. When the assignee completes their configurations, you can review their choices before publishing the source.
## User Level Details
[Administrators](https://documentation.sailpoint.com/saas/help/common/users/user_levels.html#admin) and [Source Admins](https://documentation.sailpoint.com/saas/help/common/users/user_levels.html#source-admin-user-level) can assign a source to another user. [Source Sub-admins](https://documentation.sailpoint.com/saas/help/common/users/user_levels.html#source-sub-admin-user-level) cannot assign a source to another user, but they can be assigned the task of configuring a source.
Users must have the [Source Configuration Assignee](https://documentation.sailpoint.com/saas/help/common/users/user_levels.html#source-configuration-assignee-user-level) user level to access and configure the source. This user level will be granted automatically if the source is assigned by an administrator. If the source is assigned by a Source Admin, the user level will be automatically requested for the assignee and must be granted by an administrator.
## Assigning Source Configurations to a User
You can assign the task of onboarding sources to a user with knowledge of and access to the source system. Sources can only be assigned to one user at a time.
Users can only make certain configurations on the draft source. Refer to [Source Configuration Assignee User Level](https://documentation.sailpoint.com/saas/help/common/users/user_levels.html#source-configuration-assignee-user-level) for more information.
**To assign an existing source to a user:**
1. Go to **Admin > Connections > Sources** and select the source you want to assign.
1. Select **Actions > Assign Source**.
Note
Some source types, like Web Services, cannot be assigned. A warning will display if you select an unsupported source.
1. Enter the name of the user you want to assign this source to. This user will have access to a draft version of this source where they can make changes without affecting your live environment.
You can also enter a target date by which the user should finish configuring this source and any additional information the user needs to know before they begin.
Note
If you assign a source to a Source Sub-admin, they can assign their own governance group as the group responsible for managing this source. If you apply their changes, the Source Sub-admin will have access to the live source.
1. Select **Assign Source**.
A draft version of the source is created.
1. If you are an administrator, and the assignee doesn't already have the appropriate user level, select **Assign User Level** to grant them the Source Configuration Assignee user level.
If you are a Source Admin or Source Sub-admin, select an administrator to review your request to grant the assignee the user level, then select **Request**.
When the admin grants the user the Source Configuration Assignee user level, the source is assigned to the user you selected. They will receive an email notifying them of their responsibilities. When they submit their changes to the draft source, you will review their changes and can decide whether to apply them to the live source.
### Assigning a Discovered Application to a User
You can assign a discovered enterprise application to a user even if a source has already been created based on the application.
1. Go to **Admin > Connections > Sources**.
1. Select **Discovered Applications**.
1. Select **Actions > Assign Source**.
1. Choose whether you will configure the basic information about the source or if the assignee will configure those details.
Tip
The expert will need access to details about which connector to choose, such as the business name and virtual appliance connector.
If they do not have that understanding or access, configure those details and the assignee will add other source configurations such as connection details and aggregation settings.
If you select **The Assignee Will Do This**, go directly to [select the assignee](#add-assignee).
1. If you selected **I'll Do This**, the list of connectors is displayed. Select **Configure** beside the connector that most closely corresponds to the type of source you want to create.
1. Enter the source's basic information, such as its name, owner, and the virtual appliance it should be connected to.
1. Select **Actions > Assign Source**.
1. Enter the name of the user you want to assign this source to. This user will have access to a draft version of this source where they can make changes without affecting your live environment.
You can also enter a target date by which the user should finish configuring this source, and any additional information the user needs to know before they begin.
Note
If you assign a source like this to a Source Sub-admin, they can assign their own governance group as the group responsible for managing this source. If you apply their changes, the Source Sub-admin will have access to the live source.
1. Select **Assign Source**.
A draft version of the source is created.
1. If you are an administrator, and the assignee doesn't already have the appropriate user level, select **Assign User Level** to grant them the Source Configuration Assignee user level.
If you are a Source Admin or Source Sub-admin, select an administrator to review your request to grant the assignee the user level, then select **Request**.
When the admin grants the user the Source Configuration Assignee user level, the source is assigned to the user you selected. They will receive an email notifying them of their responsibilities. When they submit their changes to the draft source, you will review their changes and can decide whether to apply them to the live source.
## Managing Assigned Sources
While a source is assigned to a user, you can answer user questions, reassign the source to another user, and review the configurations the user has already made. You can also make some changes to the source while it's assigned to the user.
### Collaborating with the Assignee
You can leave comments for the assignee, and reply to comments they leave for you.
1. Go to **Admin > Connections > Sources**.
1. Select **Assigned Applications**.
1. Beside the source you want to comment on, select **Actions > Review Source**.
The source's configuration page is displayed with the edits that the user has saved so far.
1. Go to the page you want to leave a comment on.
1. At the bottom of the page, select the **Add a comment** field. Enter your comment and select **Save**. The assignee is notified by email that you left a comment.
The assignee will also be able to leave comments on the source. The administrator who assigned the source will receive an email with a link to go directly to the page with the user's comment.
### Viewing and Editing Source Configurations
You can view in-progress source configurations as the assignee is completing the source.
1. Go to **Admin > Connections > Sources**.
1. Select **Assigned Applications**.
1. Beside the source you want to comment on, select **Actions > Review Source**.
You can select the options in the left navigation to view the configurations the user has saved on each page.
1. Review each configuration page carefully. You can edit the fields as necessary.
Because this is a draft source, the changes you can make are limited to the same changes the assignee can make. Refer to [Source Configuration Assignee User Level](https://documentation.sailpoint.com/saas/help/common/users/user_levels.html#source-configuration-assignee-user-level) for more information.
Important
Changes you make will overwrite the assignee's changes on those fields. The assignee can still edit the fields you complete. Be sure to collaborate with the assignee on the source to ensure you each understand the changes the other is making.
1. Select **Save** to save your changes.
### Reassigning Source Configurations
You can assign the configurations from a source to a different user or remove the assignee's access to the source without granting another user access.
1. Go to **Admin > Connections > Sources**.
1. Select **Assigned Applications**.
1. Beside the source you want to reassign, select **Actions > Reassign Source**.
You can also select **Revoke Assignment** to revoke the assignee's access to this source without reassigning it to another user. If the user has been assigned other sources, they will keep the Source Configuration Assignee user level and access to those sources.
1. Enter the name of a new assignee. You can also enter a new target date and add comments for the new assignee.
1. Select **Reassign Source**.
The previous assignee's access to this source is removed. If the user has been assigned other sources, they will keep the Source Configuration Assignee user level and access to those sources. This is true whether the source was reassigned by an admin or the user.
If the previous assignee does not have other sources assigned to them, you can revoke the Source Configuration Assignee user level when their assignment is removed. If you are a Source Admin or Source Sub-admin, you will be prompted to request that an admin remove the user level from the previous assignee.
## Applying Changes to the Source
When the user has finished editing the source, they will submit it for review. Their access to the source will be revoked and the admin who assigned the source will receive an email stating that the user completed their configurations.
To review the user's configurations:
1. Use the link in the email to go to the source.
You can alternatively go to **Admin > Connections** and select **Assigned Applications**.
1. Review each configuration page carefully. You can make changes to fields as necessary.
1. At the top of the page, select **Review and Apply**.
1. Choose whether to accept the user's changes and create a live source with their configurations or assign the source for additional changes.
- If you select **Apply Changes**, a live source will be created using the configurations the user made on the draft source. The draft source will be deleted.
- If you select **Reassign Source**, you will reassign the draft source for additional configurations. You can select the previously-assigned user or choose a new user.
# Onboarding Assigned Applications
If you've been assigned an application to onboard, you'll receive an email with a link to Identity Security Cloud, where you will then provide configuration details. This will enable Identity Security Cloud to collect information about system accounts and user access so those identities can be governed.
To gather this data, your admin or you will configure a *source*, which uses the information you provide to connect to the target application.
1. In Identity Security Cloud, select **Admin**.
1. On the **Assigned Applications** page, select **Actions > Configure Source** beside the application you've been assigned.
Note
If your admin selected a due date for the application onboarding, it is informational only. You will not lose access to the application onboarding process if the date passes.
1. Your admin might have already selected and created the source, or they might assign that task to you.
- If they created it, you can begin [configuring the source](#configuring-assigned-sources) immediately.
- If they assigned the source creation to you, select **Continue**.
1. Search for a source type that matches the application and select **Configure**. SailPoint recommends sources that might be a good match for your enterprise application.
Note
If you select a source type that cannot be assigned, like Web Services, the option to assign will be disabled and a warning will display. If you're unsure which source type to choose, contact your administrator.
Tip
Select **Documentation** for the source type you're viewing to access documentation specific to that source configuration. You'll reference this when [configuring](#configuring-assigned-sources) the source.
1. Enter a unique name and description for the source to help admins differentiate it from others.
1. Select a source owner who will be responsible for the system. If you're unsure who to select, select the assigning administrator.
1. Select a virtual appliance cluster with connectivity to the source.
1. Select **Continue** to continue configuring the source.
## Configuring Assigned Sources
After the source type has been selected and created, you can begin adding configuration information that an admin will review before publishing the source. This ensures you can make edits and revisions without affecting live data.
You can leave comments on each page of the source configurations for the assigning administrator. They will be notified by email when you leave a comment and can respond in the comments of the draft source. This allows you to keep discussions about source configurations together to support collaboration. The most recent comment is displayed at the top.
Important
Source configuration options are determined by your user level. Documentation might refer to options that are not available to source configuration assignees.
**To configure the assigned source:**
1. Complete the **Source Setup** section. Refer to the [Identity Security Cloud Connectors Documentation](https://documentation.sailpoint.com/connectors/isc/landingpages/help/landingpages/isc_landing.html) for configuration guidance for the source type you selected.
1. Select **Review and Test** and select **Test Connection**. A successful test connection is required to view certain account configurations.
1. Under **Account Management**, select **Account Schema** and configure the account schema. Refer to [Managing Source Account Schemas](https://documentation.sailpoint.com/saas/help/accounts/schema.html).
Tip
Select **Learn more** on the right side of the screen to display tips, guidance, and links to documentation to help during source configurations.
1. Select **Account Correlation** and set the correlation logic used to assign a source account to an existing identity based on the attributes they share. Refer to [Assigning Source Accounts to Identities](https://documentation.sailpoint.com/saas/help/accounts/correlation.html).
1. Select **Create Account** and set the policy that determines which values are used when creating and updating accounts on a source. Refer to [Configuring Source Account Provisioning](https://documentation.sailpoint.com/saas/help/provisioning/create_profile.html).
1. Select **Attribute Sync** to view the account attributes on the source that should be kept in sync with corresponding identity attributes. This page can only be edited by the admin. Refer to [Synchronizing Attributes](https://documentation.sailpoint.com/saas/help/provisioning/attr_sync.html).
1. Select **Accounts**. If you successfully tested your connection in **Review and Test** and configured the account schema, you can select **Preview** to display a subset of accounts from the application that will be mapped to identities in Identity Security Cloud based on your account schema configurations. This can help ensure your account schema and correlation settings are accurately connecting identity data from the application with identities in Identity Security Cloud.
Notes
- If your admin created the source and aggregated accounts previously, you might see an accounts list with data based on the configurations at the time of aggregation. Changes to the account schema are reflected in the preview.
1. Depending on the source type, you might be able to configure the **Entitlement Types** to help represent the accounts' access on the source system. Refer to [Creating and Managing Entitlement Types](https://documentation.sailpoint.com/saas/help/loading_entitlements/entitlement_types.html)
1. Select **Entitlements**. If you successfully tested your connection in **Review and Test** and your source type supports entitlement type configuration, you can select **Preview** to view a preview of entitlements using the current configuration settings.
Notes
- If your admin previously aggregated entitlements on this source previously, you might see a list of entitlements based on the configurations at the time of aggregation. This list is not affected by the changes you've made in **Entitlement Types**.
1. When you've completed your configurations, select **Review** at the top and choose **Submit for Review**.
The assigning admin will be notified and will review your changes before applying them to the source or reassigning the source for additional edits.
## Reassigning Source Configurations
You can reassign the task of source onboarding to another user by selecting **Reassign Source** in the source configuration or from the **Assigned Applications** page.
This will remove your access to the source. If you do not have other sources assigned to you, the Source Configuration Assignee user level will also be removed.
**To reassign a source to another user from the Assigned Applications page:**
1. In Identity Security Cloud, select **Admin**.
1. On the **Assigned Applications** page, beside the source you want to reassign, select **Actions > Reassign Source**.
1. Enter the name of the user you want to assign this source to. This user will have access to a draft version of this source.
You can also enter a target date by which the user should finish configuring this source and any additional information the user needs to know before they begin.
Note
If you assign a source to a Source Sub-admin, they can assign their own governance group as the group responsible for managing this source. If you are unsure who to assign the source to, contact your administrator.
1. Select **Reassign Source**.
The request is sent to the admin and your access to the source will be revoked. If you have other assigned sources, you will retain the Source Configuration Assignee user level and access to those sources.
## Assignee Source Access Matrix
Source configuration assignees can see the following sections of source configurations:
- Source Setup
- All sub-menus
- Account Management
- Account Schema
- Account Correlation
- Create Account
- Attribute Sync - Read-only
- Accounts
- Entitlement Management
- Entitlement Types - The Entitlement Types menu is not available on all source configurations. When it is, source assignees can view and edit the Entitlement Types configurations.
- Entitlements - Read-only
Admins with access to the live source can edit additional configurations in the source such as account aggregation, entitlement aggregation, and uncorrelated accounts.
# Using SailPoint Harbor Pilot
Harbor Pilot is SailPoint's *AI agent* that can help you find documentation, explore and manage identity data, build workflows, create access requests, and more in Identity Security Cloud. As Harbor Pilot processes your natural language entries, it also displays the AI's logic and plan for its next actions.
You must [enable](#enabling-harbor-pilot) Harbor Pilot in your tenant. Refer to [AI at SailPoint](https://www.sailpoint.com/why-us/trust/ai#overview) for more information about SailPoint's AI policies.
Harbor Pilot has some [limitations](#limitations) and can make mistakes. As SailPoint receives more feedback, Harbor Pilot will continue to evolve.
## Enabling Harbor Pilot
You must opt in to use Harbor Pilot. Harbor Pilot can be enabled for both [admins](#enabling-harbor-pilot-for-admins) and [end users](#enabling-harbor-pilot-for-admins-and-end-users).
### Enabling Harbor Pilot for Admins
1. In Identity Security Cloud, select the **Harbor Pilot** icon .
1. Review the [AI terms](https://documentation.sailpoint.com/main_landing_page/customer_agreements.html#product-specific-terms).
1. Select **Enable Harbor Pilot** to enable Harbor Pilot for admins.
1. Select **Save**.
Admins can now use Harbor Pilot to find information, build workflows, query identity data, create access requests, and more. Refer to [Tips for Creating Effective Prompts](#tips-for-creating-effective-prompts) for guidance on getting the greatest benefit from Harbor Pilot.
### Enabling Harbor Pilot for Admins and End Users
1. Go to **Admin > Global > System Settings**.
1. Select **Feature Settings** from the left panel.
1. Under Feature Settings, select **GenAI**, and select the checkbox beside **Enable Harbor Pilot** to verify you agree to [SailPoint's AI terms](https://documentation.sailpoint.com/main_landing_page/customer_agreements.html#product-specific-terms).
1. Select **Enable Harbor Pilot** to enable Harbor Pilot for admins.
1. Select **Enable Harbor Pilot for End Users**.
1. Select **Save**.
Admins can now use Harbor Pilot to find information, build workflows, query identity data, create access requests, and more. End users can use Harbor Pilot to submit access requests and search documentation.
## Creating and Managing Access Requests
You can use Harbor Pilot to:
- Identify the entitlement, access profile, or role that best meets your needs
- View the results of your access request search and choose which items Harbor Pilot should request for you
- Request access for yourself
- If [enabled](https://documentation.sailpoint.com/saas/help/requests/requests_for_others.html), request access for others
- Identify which account to request access for when multiple accounts exist on a source
- Request access to roles, access profiles, and entitlements that require a [form](https://documentation.sailpoint.com/saas/help/forms/index.html). You will be prompted to complete and save the form in the canvas before the request can be submitted.
- Specify the start and end dates for the access
- Check the status of a pending access request
- Cancel pending access requests
If you enabled Harbor Pilot for [end users](#enabling-harbor-pilot-for-admins-and-end-users), end users will also be able to use Harbor Pilot to submit and manage access requests.
The details of your request are displayed in the Harbor Pilot chat and in the [Request Center](https://documentation.sailpoint.com/saas/user-help/requests/tracking_access.html#request-center).
## Starting New Conversations
To clear your current conversation and start a new session with Harbor Pilot, select the **Menu** icon in the chat window and choose **New Conversation**.
## Limitations
Harbor Pilot is currently in its early stages, and while it’s already capable of handling important tasks, it’s still learning and evolving. It can make mistakes, so it's important to always review and validate the information it provides.
You can use the and icons to provide instant feedback on Harbor Pilot's responses. SailPoint evaluates that data to refine and improve Harbor Pilot's model.
Some current limitations include:
- Harbor Pilot is supported and tested for English only.
- Harbor Pilot can help create new workflows, but will not edit existing workflows.
- When searching, if an object you searched for isn't found, like identities, Harbor Pilot might return results for different objects like roles or entitlements.
- Due to limitations in AWS regional support, Harbor Pilot is only available for customers in AWS regions where the AWS Bedrock LLM that SailPoint employs is supported. The following region is unavailable:
- Middle East (UAE): me-central-1
If you consistently receive error messages from Harbor Pilot that something wrong happened, you can contact [Support](https://community.sailpoint.com/t5/Working-With-Support/ct-p/WorkWithSupport) for help.
## Tips for Creating Effective Prompts
Harbor Pilot understands natural language requests. You can select the **Menu** icon in the chat window and choose **Explore Prompts** to view commonly used queries for searching documentation and managing identity data.
To get the best benefits from Harbor Pilot:
- Refer to [Searchable Fields](https://documentation.sailpoint.com/saas/help/search/searchable-fields.html) and [Building a Search Query](https://documentation.sailpoint.com/saas/help/search/building-query.html) when evaluating and refining search queries provided by Harbor Pilot.
- Refer to [Building a Workflow Using Harbor Pilot](https://documentation.sailpoint.com/saas/help/workflows/workflow-build.html) for guidance on creating and evaluating workflows.
- Use clear, concise language. Avoid jargon or overly complex wording.
- Focus the prompt on a specific topic or task.
- Provide an example of the type of input or response you’re looking for.
- Use action-oriented language that encourages engagement, such as “Tell me about...” or “Describe...”.
- Keep prompts short - typically just a sentence or two. Overly lengthy prompts can be confusing.
# AI-Driven Identity Security for IdentityIQ
SailPoint AI-Driven Identity Security includes powerful solutions that provide immediate value to your identity governance program. These solutions can be configured to analyze identity and access data from IdentityIQ:
- **Access Insights** - Better understand access across your organization with [Access History](https://documentation.sailpoint.com/saas/help/ai/iiq/iiq_access_history.html).
- **Access Modeling** - Dynamically determine, at scale, who should have access to what with [Role Insights](https://documentation.sailpoint.com/saas/help/ai/iiq/iiq_role_insights.html) and [Role Discovery](https://documentation.sailpoint.com/saas/help/ai/iiq/iiq_discover_roles.html).
- **GenAI Descriptions for Entitlements** - Leverage [GenAI Descriptions for Entitlements](https://documentation.sailpoint.com/identityiq/help/ai_driven_identity_security/gen_ai_descriptions_for_entitlements.html) to request generated descriptions for your organization’s entitlements.
- **Access Recommendations** - Empower users and certifiers in your organization to make more informed access decisions with [Certification and Approval Recommendations](https://documentation.sailpoint.com/saas/help/ai/iiq/iiq_recommendations.html).
To get started, refer to [Getting Started with AI-Driven Identity Security for IdentityIQ](https://documentation.sailpoint.com/saas/help/ai/iiq/iiq_ai_get_started.html).
# Viewing Access History for IdentityIQ
SailPoint Access History enables organizations to view historical access data for identities.
The SailPoint Identity Platform uses historical access analytics to provide a richer experience and understanding of access transactions for individual identities. You can view access history in different ways and quickly identify abnormal access, validate that changes in access occur as you expect, and identify access that may need to be removed for an identity.
Before using Access History, ensure that all [setup, connection, and configuration steps](https://documentation.sailpoint.com/saas/help/ai/iiq/iiq_ai_get_started.html) have been completed.
To launch Access History, go to your tenant and select **Admin > Identity Management > Access History**. Use Access History's top navigation to access the following:
- **Access History** - A timeline of access events, including detailed information about change events for an identity.
- **Compare Access** - A calendar to compare the difference in access between two dates, including details about what was added and removed during that time
- **View Profile** - A view of identity attributes
Best Practice
To follow the principle of least privilege, [grant](https://documentation.sailpoint.com/saas/help/identities/identity_mgmt.html#setting-user-level-permissions) report admin user level permissions to employees that you want to have view access to the Access History interface. For more information, refer to [Report Admin User Level](https://documentation.sailpoint.com/saas/help/common/users/user_levels.html#report-admin-user-level).
## Searching for Identities
The Access History identity list includes active and deleted identities in your organization. The first 20 identities are presented in alphabetical order along with a search field and filter to find any identity in the organization.
Identities that are no longer found in IdentityIQ are marked with the **Deleted** icon . Having access to historical data for deleted identities can be helpful for auditing purposes.
To view access information for an identity in Access History:
1. Use one of the following methods to find a specific identity:
- Start entering an identity name in the Search Identities box
- Select the **Filter** icon to filter identities. Enabling a filter reduces the identity list to only identities of that type.
Note
If your tenant was created recently, you will not be able to access the Identity Filter.
1. Select the identity name.
1. After you have found a specific identity, select [Access History](#viewing-identityiq-access-changes-in-the-access-history-timeline), [Compare Access](#comparing-access-over-time), or [View Profile](#viewing-identity-profile-attributes) to display data related to the identity.
## Viewing IdentityIQ Access Changes in the Access History Timeline
The Access History page highlights an identity's access changes, displays general information about access items, and provides a record of change events.
Select **Access History** in the top navigation to display the Access History page.
### Finding Access Changes
Use the Access Changes panel to navigate changes by month or day as follows:
1. Select an identity name. The Access History page for that identity displays.
1. Select **Month** or **Day** to change the scope of the timeline.
1. Use the arrows to scroll through the timeline. A node outlined in blue indicates a change occurred during that month or day. Gray indicates no change.
1. Select a blue node to view the timestamp for each change in a drop-down menu.
1. Select a timestamp to view details about that specific change in the Access Items and Event Timeline sections below.
### Reviewing Access Items
After selecting a timestamp, the Access Items panel displays tiles with counts for Accounts, Entitlements, and Roles.
Use the Access Items panel to review access items as follows:
1. Select the tile for an access item type to display the list of relevant access items. For example, select the **Accounts** tile to display a list of accounts that an identity had access to on the day of the selected timestamp.
1. Select the tile again to collapse the view.
### Reviewing the Event Timeline
In the Event Timeline panel, you can scroll through a chronological list of all access changes that were made to the identity on the day of the selected timestamp, as well as any other changes leading up to that time.
The following changes are displayed in the event timeline:
- Governance events such as certifications and access requests
Note
If your tenant was created recently, you will not be able to view governance timeline events.
- Access items added or removed, along with information about the related governance event
- Attribute changes for accounts and identities
There are a couple ways to change what is displayed in the Event Timeline:
- Select **Filter** to filter the timeline by specific access items (added, removed, or all), access requests, certifications, or attribute changes.
- Select **Requested Items** to view an expanded list of access requests, along with general information such as description, approver, and decision.
## Comparing Access Over Time
Select **Compare Access** in the top navigation to display the Compare Access page and compare access snapshots between two dates for an identity.
To compare access for an identity between two dates, complete the following steps:
1. Select an identity name.
1. Select **Compare Access** in the top navigation.
1. Under Date Compare Access, enter two dates.
Access History takes a snapshot of the access items on each entered date at the time of the last access change of the day. If there were no access changes on the entered date, Access History goes back in time and compares a snapshot of access from last access change before the entered date.
1. Select **Compare**.
The Compare Access Details panel displays tiles with counts for Accounts, Entitlements, and Roles that were added or removed.
Compare Access only shows details if access changes occurred, so if you compare two dates and only zero counts are displayed in the tiles, then no change occurred between those dates.
1. Select a tile to display a detailed side-by-side comparison about what access was added or removed in the area below the tiles.
For example, the expanded Access Profiles list below shows that between April 1 and April 30 this employee's Netherlands access profiles were removed and U.S. access profiles were added. This likely indicates that the employee transferred from the Netherlands location to the U.S. location during this time.
To find out exactly when such a change occurred, you could navigate to **Access History** and select the timestamp associated with April change events.
## Viewing Identity Profile Attributes
You can view the specific attributes associated with an identity as follows:
1. Select an identity name.
1. Select **View Profile** in the top navigation to display identity attributes such as job title, department, country, and usage location.
# Getting Started with AI-Driven Identity Security for IdentityIQ
SailPoint AI-Driven Identity Security can be configured to analyze identity and access data from IdentityIQ. The following sections discuss how to get started using AI-Driven Identity Security with IdentityIQ.
AI-Driven Identity Security for IdentityIQ is accessed in the Identity Security Cloud tenant. IdentityIQ users must work with [SailPoint Professional Services](https://community.sailpoint.com/t5/Working-With-Services/ct-p/Working_with_PS) to create a tenant and deploy a [virtual appliance](https://documentation.sailpoint.com/saas/help/va/index.html) (VA).
The VA is a Linux-based virtual machine that is deployed inside your corporate network or in a cloud environment where you control and manage its access to your IdentityIQ implementation. The VA allows collection of your IdentityIQ data for analysis. Once the VA is deployed and configured, IdentityIQ users can start using Access History in their tenant.
There are additional configuration and activation steps to complete before IdentityIQ users can start using Access Modeling or Access Recommendations.
## Connecting IdentityIQ and AI-Driven Identity Security
Work through the steps in the following sections to connect IdentityIQ to AI-Driven Identity Security:
1. Verify [requirements](#verifying-requirements).
1. Provide [administrator access information](#providing-administrator-access-information).
1. SailPoint [creates the tenant](#creating-the-identity-security-cloud-tenant).
1. [Generate IdentityIQ API authentication credentials](#generating-identityiq-api-authentication-credentials).
1. [Gather information](#gathering-information-for-setup) for virtual appliance deployment.
1. [Deploy](#deploying-the-virtual-appliance-with-identityiq) one virtual appliance (VA) with the IAI Harvester cluster type.
Important
Only one VA is required to connect IdentityIQ to AI-Driven Identity Security.
1. [Create an IdentityIQ data source](#creating-an-identityiq-data-source-for-connectivity-with-ai-driven-identity-security) in your tenant.
1. If you have Access Modeling, [configure IdentityIQ for Access Modeling](#configuring-identityiq-for-access-modeling).
1. If you have Access Recommendations, [integrate Access Recommendations for IdentityIQ](#integrating-access-recommendations-for-identityiq).
### Verifying Requirements
To begin connecting AI-Driven Identity Security to IdentityIQ, verify the following system, network, and software requirements:
- Your system and network must meet the [requirements](https://documentation.sailpoint.com/saas/help/va/requirements_va.html#system-and-network-requirements) for VA deployments with IdentityIQ.
- Your browser and operating system (OS) must be [supported](https://documentation.sailpoint.com/saas/user-help/getting_started/supported_browsers.html). AI-Driven Identity Security is accessed through an Identity Security Cloud tenant.
- You must be running IdentityIQ version 8.1 or higher. These versions include support for AI-Driven Identity Security.
- If you plan to use the HTTP proxy virtual appliance configuration and you have IdentityIQ version 8.3p1 or earlier, a patch upgrade is required. Install the patch upgrade before connecting AI-Driven Identity Security to IdentityIQ. Contact [Professional Services](https://community.sailpoint.com/t5/Working-With-Services/ct-p/Working_with_PS) for more information.
### Providing Administrator Access Information
After purchasing AI-Driven Identity Security, you will receive a welcome email from your Customer Success Manager (CSM) that outlines the onboarding process. You will be asked to provide the following administrator access information:
- A shared admin email address or group/distribution list.
This email address or group/distribution list will used to create the initial admin account and typically serves as a unique, generic account for [emergency access](https://documentation.sailpoint.com/saas/help/setup/ea_admin.html). This email address should not be a user email address, as it will conflict with user details brought from the source system.
- Email addresses for any individual users that should have access to the tenant for AI-Driven Identity Security features.
### Creating the Identity Security Cloud Tenant
SailPoint sets up your tenant and notifies you when it is accessible. After a tenant is created, you will receive an email invitation from SailPoint.
Unless you have arranged in advance for a different URL, your tenant URL will be `[CustomerName].identitynow.com`.
Note
FedRAMP customers will use the following URL: `[CustomerName].saas.sailpointfedramp.com`.
### Generating IdentityIQ API Authentication Credentials
IdentityIQ API authentication credentials are required when [creating the data source](#creating-an-identityiq-data-source-for-connectivity-with-ai-driven-identity-security) and [configuration automatic role creation](#configuring-automatic-role-creation-in-identityiq).
Complete the following steps in IdentityIQ:
1. From the IdentityIQ gear icon, select **Global Settings > API Authentication**.
1. Create a new client or refer to an existing client on this screen. The proxy user for new or existing clients must have Administrator permissions.
1. Save the following information offline to enter later in your tenant:
- API Client ID
- API Client Secret
- API Base URL for the IdentityIQ App server, including the port and endpoints such as `/identityiq`.
Save these credentials to use later during configuration and activation.
### Gathering Information for Setup
For virtual appliance and data source setup, IdentityIQ administrators should have the following items ready:
- A local database user on the IdentityIQ database with read-only access to the entire IdentityIQ schemaD
- The JDBC URL from the `iiq.properties` file
- The Hibernate Dialect from the `iiq.properties` file
- Your database vendor's JDBC driver (``)
- [IdentityIQ API authentication credentials](#generating-identityiq-api-authentication-credentials):
- API Client ID
- API Client Secret
- API Base URL for the IdentityIQ App server
### Deploying the Virtual Appliance with IdentityIQ
Complete the steps in this section to deploy a VA.
For general information about VAs, refer to the [Virtual Appliances](https://documentation.sailpoint.com/saas/help/va/index.html) documentation.
For troubleshooting tools and resources, refer to the [Virtual Appliance Troubleshooting Guide](https://community.sailpoint.com/t5/IdentityNow-Connectors/Virtual-Appliance-Troubleshooting-Guide/ta-p/78735).
1. Deploy the VA image.
Important
To reduce latency, the VA must be deployed on the same location as the IdentityIQ database. If IdentityIQ is installed on-premises, the VA must be installed in the same datacenter. If IdentityIQ is installed in the cloud, the VA must be installed in the same region.
Deployment to the following virtualization platforms is described in [Deploying Virtual Appliances](https://documentation.sailpoint.com/saas/help/va/deploy_va.html):
- **Local with vSphere** - Deploy the downloaded image on a virtual machine behind your firewall.
- **Local with Hyper-V** - Deploy the downloaded image on a virtual machine behind your firewall.
- **On AWS** - Work with SailPoint to get access to our AMI so you can deploy it on your AWS infrastructure.
- **On Azure** - Deploy the downloaded image on a virtual machine in Azure.
- **On GCP** - Import the downloaded VA image to Google Cloud Platform.
1. Set up a static network for local deployments.
If you deployed the VA image locally, follow the [directions to set up a static network](https://documentation.sailpoint.com/saas/help/va/deploy_va.html#setting-a-static-ip-address-for-local-va-deployments).
1. Select a VA configuration type.
Descriptions and instructions for implementing the following configurations can be found in the [virtual appliance configuration documentation](https://documentation.sailpoint.com/saas/help/va/config_va.html):
- **Standard** - Uses the standard traffic generated by the VA.
- **HTTP Proxy** - Routes all HTTP/HTTPS traffic through a proxy.
- **Network Tunnel** - Strictly limits the outbound connections generated by the VA.
1. Complete tasks in your tenant.
Refer to the directions in the deployment guide for your selected virtualization environment, and complete the following tasks in your tenant Admin interface. Refer to the linked instructions in each step.
1. [Create the VA cluster](https://documentation.sailpoint.com/saas/help/va/deploy_va.html#creating-a-va-cluster) with the IAI Harvester VA cluster type.
1. [Add a VA to the cluster](https://documentation.sailpoint.com/saas/help/va/deploy_va.html#adding-vas-to-a-cluster).
1. After you have created a cluster and VA, contact SailPoint Services so they can "pin" the IdentityIQ harvester to the virtual appliance. Once this has been completed, you can move on to the next step.
1. Run the following command to determine if there is a JDBC directory for your IdentityIQ version:
`ls -lR iai`
If the directory is not owned by `sailpoint`, modify the directory permissions by running the following command from `/home/sailpoint/`:
`sudo chown -R sailpoint /home/sailpoint/iai`
This command must be entered exactly as shown, and should not ask for a password.
1. Copy the JDBC JAR file to the VA.
Copy your database vendor's `` file to the VA using the following scp command and the corresponding IdentityIQ version path.
`scp / sailpoint@:/home/sailpoint/iai/identityiq/jdbc/`
| IdentityIQ Version | JDBC Path on VA |
| ------------------ | ------------------------------------------------------- |
| 8.1, 8.2, 8.3 | `/home/sailpoint/iai/identityiq81/jdbc/` |
| 8.4, 8.5 | `/home/sailpoint/iai/identityiq84/jdbc/` |
### Creating an IdentityIQ Data Source for Connectivity with AI-Driven Identity Security
Complete the following steps in your tenant:
1. Go to **Admin > Global > Additional Settings**.
1. Select **Add Data Source**.
1. In the Basic Information section:
1. Name your data source and add a meaningful description.
1. Under Data Source Types, select the IdentityIQ version:
1. If you use IdentityIQ 8.2 or 8.3, select **IdentityIQ 8.1**.
1. If you use IdentityIQ 8.4 or 8.5, select **IdentityIQ 8.4**.
After a Data Source Type is selected, additional fields appear.
1. Select the VA cluster that you deployed specifically to connect to IdentityIQ.
1. Complete the following *required* fields in the Database Settings section:
- **JDBC URL** - Enter the JDBC URL found in the `iiq.properties` file.
- **JDBC Driver** - Enter your JDBC driver class name found in the `iiq.properties` file. Example: `com.microsoft.sqlserver.jdbc.SQLServerDriver`
- **Username** - Enter your local database connection username.
- **Password** - Enter your local database connection password.
- **Hibernate Dialect** - Enter the hibernate dialect from the `iiq.properties` file.
- **Max DB Connections** - Maximum number of database connections. Defaults to 12.
1. Complete the following *required* fields in the IIQ API Client Settings section to create roles with Access Modeling:
- **API Baseurl** - Enter the base URL for the IdentityIQ API.
- **API Client ID** - Enter the client ID for the IdentityIQ API.
- **API Client Secret** - Enter the client secret for the IdentityIQ API.
- **Role Provision Timeout** - How long the system will wait for a response after attempting to create a role. Defaults to 60 seconds.
1. Optionally, you can complete the fields in the Harvester Settings section:
- **Exclude Identity Attributes** - Add a comma-separated list of identity attributes (usually privacy related) that you do not want to be visible in AI features.
- **Exclude Account Attributes** - Add a comma-separated list of account attributes (usually privacy related) that you do not want to be visible in AI features.
- **Included Identities** - Add a filter derived from an Identity Advanced Search in IdentityIQ Advanced Analytics. The filter limits what identities AI features can use. The filter can include only named attributes and not Extended Attributes or namedColumns.
- **Harvest Batch Limit** - Maximum number of object IDs to be fetched per harvest cycle for the type being harvested. Default maximum is 500,000.
- **Observed Objects Batch Limit** - Maximum number of object IDs to be fetched per harvest cycle for the object type being harvested. Default maximum is 200,000.
- **State Update Batch Size** - The number of objects each batch will contain. Default is 10,000.
1. Select **Save Config**.
The following additional tasks are required to use AI features with IdentityIQ:
- [Configure IdentityIQ for access modeling](#configuring-identityiq-for-access-modeling).
- [Integrate access recommendations for IdentityIQ](#integrating-access-recommendations-for-identityiq).
- [Configure AI core identity attributes](https://documentation.sailpoint.com/saas/help/ai/index.html#configuring-ai-core-attributes) to unify how identity attributes are managed across Role Insights, Role Discovery, Access Request Recommendations, and Certification Recommendations.
## Configuring IdentityIQ for Access Modeling
To configure IdentityIQ for Access Modeling, you will complete the following tasks:
1. [Generate client credentials](#generating-client-credentials-in-your-tenant) in your tenant.
1. [Import](#importing-the-init-aixml-file) the init-ai.xml file.
1. [Configure](#configuring-ai-driven-identity-security-in-identityiq) AI-Driven Identity Security in IdentityIQ.
1. [Install](#installing-the-access-modeling-plugin) the Access Modeling plugin.
1. [Configure](#configuring-automatic-role-creation-in-identityiq) automatic role creation.
### Generating Client Credentials in Your Tenant
IdentityIQ sends data to GenAI Entitlement Descriptions and Access Modeling through APIs. To create a secure connection between IdentityIQ and Access Modeling, you’ll need to generate client credentials within your tenant and [configure](#configuring-ai-driven-identity-security-in-identityiq) IdentityIQ (the client) to use them to communicate with Access Modeling.
Complete the following steps to generate a Client ID and Client Secret in your tenant:
1. Log in to your tenant as an Administrator.
1. From the Admin Dashboard, select **Admin > Security Settings**.
1. Select **API Management** in the options on the left.
1. Select **+New** to display the New API Client dialog.
1. Enter a description for how the access token will be used.
1. Check Client Credentials as the method you want the client to use to access the APIs.
1. Select **Create**.
A Client ID and Client Secret are generated for you. *Save these offline. You’ll need them later when you [configure AI-Driven Identity Security in IdentityIQ](#configuring-ai-driven-identity-security-in-identityiq).*
### Importing the init-ai.xml File
After generating client credentials in your tenant, you will next import the `init-ai.xml` file to initialize IdentityIQ with the object components to support integration. This file includes objects such as the AI Module, some AI-specific IdentityIQ capabilities, system configuration entries, and an AIServices identity, among others.
Complete the following steps to import the `init-ai.xml` file in IdentityIQ:
1. Verify that `plugins.enabled=true` in the `WEB-INF/classes/iiq.properties` file of your IdentityIQ installation. Plugins must be enabled to use Access Modeling.
1. Log on to your browser instance of IdentityIQ as an administrator.
1. Select **Global Settings** under the gear icon and select **Import from File**.
1. Select **Browse** and navigate to the following directory:
Windows: `\WEB-INF\config`
UNIX: `/WEB-INF/config`
where: `` is the directory to which you extracted the `identityiq.war` file during IdentityIQ installation.
1. Select the `init-ai.xml` file and select **Import**.
1. When the import is complete, select **Done**.
You may notice that the plugin for Access Recommendations is also installed as part of this process, but access is enabled for licensed users only. Please contact your CSM for Access Recommendations pricing and licensing.
### Configuring AI-Driven Identity Security in IdentityIQ
Complete the following steps to configure IdentityIQ to connect to your tenant with the [client credentials](#generating-client-credentials-in-your-tenant) you previously generated:
1. From the IdentityIQ gear icon, select **Global Settings > AI Services Configuration**.
1. Complete following fields with information from your IdentityIQ installation and the client credentials from your tenant:
- AI Services Hostname (The API Gateway URL for your tenant) Example: `https://.api.identitynow.com` or `https://.api.saas.sailpointfedramp.com`
- Client ID
- Client Secret
1. Select **Test Connection** to ensure that the connection information is correct and operating.
1. Select **Save**.
### Installing the Access Modeling Plugin
The Access Modeling plugin is required for IdentityIQ 8.1, 8.2, or 8.3. IdentityIQ 8.4 and 8.5 do not require the Access Modeling plugin.
Complete the following steps to install the plugin:
1. Get the [Access Modeling plugin](https://community.sailpoint.com/t5/Plugin-Framework/Access-Modeling-Plugin/ta-p/169354).
1. From the IdentityIQ gear icon, select **Plugins**.
1. Use the Plugins page to install the plugin.
1. Select the **Configure** button for the Access Modeling plugin and provide the URL for the tenant.
Example: `https://.identitynow.com` or `https://.saas.sailpointfedramp.com`
### Configuring Automatic Role Creation in IdentityIQ
To be able to automatically create a new role in IdentityIQ, there is some additional configuration required in your tenant.
Complete the following steps in your tenant:
1. Log in as an administrator, and select **Admin > Global > Additional Settings**.
1. Select **Edit** on the enabled IdentityIQ data source.
1. Enter the [IdentityIQ API authentication](#generating-identityiq-api-authentication-credentials) information in the following fields:
- API Client ID
- API Client Secret
- API Base URL (Enter the base URL for the IdentityIQ App server, including the port and endpoints such as `/identityiq`.)
If these fields are not visible, contact [Professional Services](https://community.sailpoint.com/t5/Working-With-Services/ct-p/Working_with_PS) for help.
1. Select **Save Config**.
You are now ready to [auto-create roles for IdentityIQ](https://documentation.sailpoint.com/saas/help/ai/iiq/iiq_discover_roles.html#creating-new-roles-from-potential-roles).
## Integrating Access Recommendations for IdentityIQ
IdentityIQ users will need to complete steps to integrate Access Recommendations. For integration and enablement information, refer to the following documentation:
- IdentityIQ 8.3 - [Integrating SailPoint AI Services](https://documentation.sailpoint.com/identityiq_83/help/ai/integrateaiservices.html)
- IdentityIQ 8.4 - [Integrating SailPoint AI Services](https://documentation.sailpoint.com/identityiq_84/help/ai/integrateaiservices.html)
- IdentityIQ 8.5 - [Integrating SailPoint AI-Driven Identity Security](https://documentation.sailpoint.com/identityiq/help/ai_driven_identity_security/integrating/index.html)
# Discovering Roles for IdentityIQ
Role Discovery, part of Access Modeling, identifies user access patterns and determines potential roles, or bundles of access, that accurately align with what users actually do in an organization.
To discover potential roles, SailPoint uses a [patented](https://www.sailpoint.com/patents) network graph analysis. Entitlement-based similarities are found among the identities in an organization, and identities are organized into cluster communities, or peer groups, with similar access. This network graph enables SailPoint to detect and discover roles with least-privileged access for groups of very similar identities.
After potential roles have been discovered, IdentityIQ users can:
- [Save the role discovery session](#saving-role-discovery-sessions) to explore and work with later.
- [Save potential roles as drafts](#saving-draft-roles) to work with later.
- [Automatically create a new role](#creating-new-roles-from-potential-roles) in IdentityIQ.
- [Export potential role data](#exporting-and-using-potential-role-data) and use it to evaluate the accuracy or effectiveness of their current roles and then manually create new roles that better align with the access users need.
#### Role Discovery for IdentityIQ Prerequisites
- IdentityIQ customers with Access Modeling must follow the directions in [Configuring IdentityIQ for Access Modeling](https://documentation.sailpoint.com/saas/help/ai/iiq/iiq_ai_get_started.html#configuring-identityiq-for-access-modeling) to access Role Discovery.
- If the `role-discovery-plugin.zip` plugin file was previously installed, make sure to install the updated `access-modeling-plugin.zip` plugin file available [here](https://community.sailpoint.com/t5/Plugin-Framework/Access-Modeling-Plugin/ta-p/169354).
#### Designating Existing IdentityIQ Roles as Common Access
IdentityIQ users can designate an existing role as common access using the [IAI Common Access API](https://developer.sailpoint.com/docs/api/beta/iai-common-access/).
Bundling common, or birthright, access into roles that can be assigned to large groups of employees improves your access model by enabling:
- Faster and more efficient onboarding
- Fewer access requests and certifications of non-risky items
#### Role Discovery Process Overview
Each process overview step is described in detail in the sections that follow.
1. [Define a group of identities and launch Role Discovery](#discovering-potential-roles-for-identityiq).
1. [Work with the potential role results](#working-with-potential-roles-results) and [save the role discovery session](#saving-role-discovery-sessions) to work on later.
1. [Explore potential roles](#exploring-potential-roles).
1. [Refine the entitlements for a potential role](#refining-entitlements-for-a-potential-role) and [save the role as a draft](#saving-draft-roles) to work on later.
1. [Export the potential role data](#exporting-and-using-potential-role-data) to a ZIP file for evaluating offline and manually creating new roles.
1. [Automatically create a new role from a potential role](#creating-new-roles-from-potential-roles).
## Discovering Potential Roles for IdentityIQ
After successfully [configuring IdentityIQ for Access Modeling](https://documentation.sailpoint.com/saas/help/ai/iiq/iiq_ai_get_started.html#configuring-identityiq-for-access-modeling), complete the following steps in IdentityIQ to start discovering roles:
1. Select **Intelligence > Advanced Analytics**, and run a search query for identities.
For more information about queries in Advanced Analytics, refer to the [IdentityIQ Product Guides](https://community.sailpoint.com/t5/Product-Guides/IdentityIQ-Product-Guides/ta-p/168678) or the [IdentityIQ online help](https://documentation.sailpoint.com/identityiq/help/).
Note
We recommend using targeted, specific search queries to narrow down the identities to groups that you want to have shared entitlements through roles.
When searching on \*(all), there is a limit of 25,000 identities returned. We do not recommend searching on \*(all).
1. Use the checkbox to Select Everything or select a subset of identities.
1. Select **Role Discovery** to discover potential roles based on the optimal role granularity derived from our AI algorithms.
This redirects you to the Potential Roles page on your tenant. If you are not already logged in, you will have to enter admin credentials and authenticate first.
## Working with Potential Roles Results
The Potential Role Results page lists the potential role results from the role discovery session.
Some of the discovered roles may have a High Impact label . High-impact roles are unique with similar access among identities and will improve your organization’s access model the most. The Potential Role Results list can be sorted by role impact, identity access similarity, number of identities, or number of entitlements.
From the Potential Role Results page, you can work with the potential roles list in the following ways:
- Select **Session Criteria** to [view the session criteria and identity filters](#viewing-session-criteria) applied to the session.
- Use the search bar to query across all identity attributes and narrow down the potential role list.
- Select the **Settings** icon to [edit session settings](#editing-session-settings).
- Select the **Sort** icon to sort the list by role impact, identity access similarity, number of identities, or number of entitlements.
- [Save the role discovery session](#saving-role-discovery-sessions).
The potential role results can be sorted by role impact, identity access similarity, number of identities, or number of entitlements.
High-impact roles are listed at the top of the screen along with the percentage of identities in the potential role that have similar access. High-impact roles with similar access among identities are prioritized and will improve your organization’s access model the most. The potential role results can be sorted by role impact, identity access similarity, number of identities, or number of entitlements.
### Viewing Session Criteria
Select **Session Criteria** at the top of the Potential Role Results page to view the session settings and identity filters applied to the session.
To change the identity filters, select **Start a New Session** to return to the Define a Group of Identities page and begin a new session.
To edit the session settings, close the Session Criteria window and then select **Settings** on the Potential Role Results page.
### Editing Session Settings
Select the **Settings** icon to modify the potential roles displayed in the list:
1. Use the **Role Granularity** slider to adjust the size and specialization of the potential roles. The orange pin on the slider represents the smart default value that our AI algorithms used to discover the initial set of potential roles displayed.
A lower role granularity percentage displays potential roles with broader access. The potential roles discovered will each include higher numbers of identities with less entitlement similarity. In general, the included identities are less similar to each other. The roles are easier to manage, but it is possible that some identities might gain access that isn’t completely essential to their job function.
A higher role granularity percentage displays potential roles with more specialized access. The potential roles discovered will each include fewer identities with more entitlement similarity. It can take longer to evaluate and maintain a large number of potential roles with higher specialization. However, the potential roles will have a higher level of relative security due to more entitlement similarity.
1. Adjust the **Minimum Number of Identities** to display only the potential roles that include at least that number of identities.
1. Select **Apply** to update the list of potential roles based on your changes.
## Exploring Potential Roles
You can explore the properties and attributes of a potential role as follows:
1. Select **Attributes** for any potential role to quickly view the role’s top 4 [AI core attributes](https://documentation.sailpoint.com/saas/help/ai/index.html#configuring-ai-core-attributes) (by percentage) shared among the included identities.
Note the following conditions for how attributes are displayed:
- The attributes available depend on the AI core attributes that were selected after AI services setup.
- If the attributes show Not Applicable, it means those attributes were not mapped for any identities included in the potential role. For example, this could be the case for a potential role that includes contract workers not assigned any AI core identity attributes.
1. To see detailed information for a potential role, select the potential role name or **Work On This Role** in the Attributes view. The Composition screen for the potential role displays the role’s entitlements along with their % Popularity.
If desired, select **X** to close the popularity threshold visualization at the top of the page.
1. Select the **Identity Overview** tab to display a list of all identities in the potential role and their job title, department, and location attributes. You can also select **Show Chart** to see distribution graphs for these identity attributes. The **Identity Overview** tab reflects only the identities in the original potential role discovered and does not update based on entitlement changes made in the **Composition** tab.
Reviewing the **Identity Overview** tab is a way to double-check that the initial identities in the potential role composition should have the included entitlements.
You can customize an individual potential role by [refining the entitlements](#refining-entitlements-for-a-potential-role).
## Refining Entitlements for a Potential Role
You can refine the entitlements for a potential role. Refining entitlements changes the contents of the potential role data you will export and the roles you can automatically create in IdentityIQ.
You should refine entitlements first in bulk and then individually.
### Bulk Entitlement Exclusion
The first part of refining entitlements is to exclude all entitlements below a certain popularity threshold or all entitlements considered common access.
To exclude entitlements from a potential role in bulk:
1. Select a potential role. The potential role opens on the Composition tab.
1. Exclude entitlements below popularity threshold.
This visualization allows you to see the popularity distribution of the entitlements in the potential role. Hover over different steps in the visualization to see how many entitlements fall above, at, and below different percentages of popularity.
Note
The steps in the visualization will change if you [individually exclude](#individual-entitlement-exclusion) all the entitlements in a step.
Use the Popularity Threshold slider to select a popularity threshold, below which entitlements will be excluded from the potential role.
Best Practice
To avoid entitlement proliferation, SailPoint recommends removing low-popularity entitlements (< 70%) from your role definitions.
1. Select **Apply** when you are finished. The **Apply** button becomes selectable only if you made changes.
1. To hide the visualization section of the Composition tab, select the **X** icon. To display the visualization again, select **Refine Entitlements**.
Caution
If you select **Back to Potential Roles** to return to the initial Potential Roles screen *before* exporting or creating a new role, all applied changes for bulk entitlement exclusion will be lost and you’ll have to repeat the steps you took to refine the entitlements in bulk for a potential role.
Individual entitlement exclusions are remembered if you select **Back to Potential Roles**.
If you have made bulk entitlement exclusions, [save the role as a draft](#saving-draft-roles) to avoid losing your changes.
### Individual Entitlement Exclusion
The next part of refining entitlements is to select specific entitlements to exclude from the potential role.
To exclude specific, individual entitlements from a potential role:
1. On the Composition tab, select the checkboxes next to the entitlements you want to exclude, or select the checkbox in the table header to exclude all entitlements in the table.
1. Select **Exclude**. The selected entitlements are removed from the Composition tab and are now listed on the Excluded Entitlements tab.
To add excluded entitlements to a potential role:
1. On the Excluded Entitlements tab, select the checkboxes next to the entitlements you want to include, or select the checkbox in the table header to include all entitlements in the table.
1. Select **Include**. The selected entitlements are removed from the Excluded Entitlements tab and are now listed on the Composition tab.
When you have finished adjusting the entitlements in the potential role, you are ready to [export the potential role data](#exporting-and-using-potential-role-data) or [create a new role from the potential role](#creating-new-roles-from-potential-roles).
## Saving Role Discovery Sessions and Draft Roles
To allow time for thorough access model development and review, Role Discovery lets you save role discovery session results and draft roles to work on later. Saved sessions and draft roles are accessible in the left pane when you go to **Admin > Access Model > Role Insights**.
### Saving Role Discovery Sessions
Saving a role discovery session allows you to return to the saved session at your convenience for further evaluation and modification.
To save a role discovery session:
1. On the Potential Role Results page, select **Save Session**.
1. Enter a session name and select **Save**.
To access your saved role discovery sessions, go to **Admin > Access Model > Role Insights > Role Discovery Sessions**. Each saved session is listed with the identity filters (search criteria) used for the session, the number of potential roles discovered, the total number of identities returned by the identity filters, who created the session, and the date created.
You can work with your saved sessions in the following ways:
- View the saved session [potential role results](#working-with-potential-roles-results)
- Rename saved sessions
- Edit saved [session settings](#editing-session-settings)
- Delete saved sessions
### Saving Draft Roles
Saving a potential role as a draft allows you to return to the draft role at your convenience for further refinement and evaluation before implementing it in your organization.
To save a draft role:
1. On a potential role page, select **Save Draft**.
1. Enter a Role Name and Description.
1. If the draft role's session has not already been saved, **Save Session** is enabled an you will also need to enter a Session Name.
1. Select **Save**.
To access your saved draft roles, go to **Admin > Access Model > Role Insights > Draft Roles**. You can work with your saved draft roles in the following ways:
- View entitlements and identity attributes
- Use the Popularity Threshold slider to exclude entitlements below the selected popularity threshold
- Include and exclude individual entitlements
- Edit role details such as role name and description
- Create a new role from the saved draft role
- Delete saved draft roles
Once a draft role has been saved, the draft stays in the saved session until deleted, even if the session settings are changed in such a way that the potential role would no longer be included in the session’s results.
## Exporting and Using Potential Role Data
On the potential role page, select the **Export Data** button to save the entitlements, identities, and identity distribution data for the potential role in a ZIP file.
Use the exported potential role data as a reference to add identities or membership criteria to existing roles, share with stakeholders, or evaluate your current roles.
## Creating New Roles from Potential Roles
After you have explored a potential role and customized/refined it, you can automatically create a new role in IdentityIQ.
Note
[Additional configuration](https://documentation.sailpoint.com/saas/help/ai/iiq/iiq_ai_get_started.html#configuring-automatic-role-creation-in-identityiq) is required to automatically create roles in IdentityIQ.
Complete the following steps:
1. On the potential role page, select **Create Role**. The Create a New Role dialog box appears.
1. Fill in the information for the new role. The role name entered must be unique from other role names in your organization. If you enter an preexisting role name, you will not be able to create the role and will be prompted to choose another name.
1. Select **Create Role**. A banner appears to inform you that the new role was successfully created.
At this point, a newly created IT role and corresponding business role are saved with your other roles in IdentityIQ (**Role Management > Role Viewer**) without identities. If you do not see the newly created roles, select **Refresh**.
You can add identities from previously exported potential role data. Verify that the new role is in your desired enabled/disabled state before adding identities.
For information about how to work with roles in IdentityIQ, refer to the [IdentityIQ Product Guides](https://community.sailpoint.com/t5/Product-Guides/IdentityIQ-Product-Guides/ta-p/168678) or the [IdentityIQ online help](https://documentation.sailpoint.com/identityiq/help/).
# GenAI Entitlement Descriptions for IdentityIQ
SailPoint uses Generative AI (GenAI) to generate descriptions for your organization’s entitlements in IdentityIQ. On the Entitlement Catalog page, users can select one or more entitlements to request a generated description. The progress of these requests can be tracked on the GenAI Entitlement Descriptions page, which also allows users to submit new descriptions for approval.
For detailed information, refer to [GenAI Descriptions for Entitlements](https://documentation.sailpoint.com/identityiq/help/ai_driven_identity_security/gen_ai_descriptions_for_entitlements.html).
# Managing the IdentityIQ AI Harvester
The IdentityIQ AI Harvester collects data from your IdentityIQ data source for use in SailPoint AI-Driven Identity Security solutions. It's important to regularly monitor the harvester and ensure all components are working properly.
## Monitoring Harvester Health
To display the health status of the IdentityIQ AI Harvester:
1. In your Identity Security Cloud tenant, go to **Admin > Global > Additional Settings**.
If any service on the harvester is in error, an error badge appears for harvester health status on the data source card.
1. Select **Show Details** on the data source to display the health status of each service.
Harvester health status is displayed for the following services.
| Health Services | Description |
| ------------------------- | ------------------------------------------------------------------------------ |
| Harvester Health Service | Provides an overview of the Harvester's health and operational state. |
| IdentityIQ (IIQ) Database | Monitors the connection status to the IIQ database. |
| Harvest Jobs | Tracks the progress and success of harvest jobs. |
| SQS Messaging | Assesses the health of the Simple Queue Service (SQS) messaging system. |
| Firehose Pipeline | Monitors the health of the Amazon Kinesis Data Firehose pipeline to Amazon S3. |
| Automatic Role Creation | Checks the status of Automatic Role Creation (ARC) processes. |
| DynamoDB | Evaluates the health of connections to DynamoDB. |
| Redis | Monitors the operational status of the Redis caching system. |
1. Select **View Details** for any health services that are in an error status.
The Harvester Error Details page displays logging information, exceptions, and recommended actions to bring the service back to normal status.
If following the recommended actions does not resolve a harvester error, consider checking the status of the virtual appliance and consulting the [Virtual Appliance Troubleshooting Guide](https://community.sailpoint.com/t5/IdentityNow-Connectors/Virtual-Appliance-Troubleshooting-Guide/ta-p/78735) or contacting [Support](https://community.sailpoint.com/t5/Working-With-Support/ct-p/WorkWithSupport).
# Access Recommendations for IdentityIQ
SailPoint Access Recommendations empowers users and certifiers in your organization to make more informed access decisions. It uses peer group analysis and identity attributes to recommend access to your users and help certifiers decide whether access requests should be approved or denied.
IdentityIQ customers with Access Recommendations can receive recommendations related to certifications and approvals. Recommendations can be [enabled globally](https://documentation.sailpoint.com/identityiq/help/ai/enableaiforcerts.html) in IdentityIQ for certifications.
IdentityIQ customers will need to [integrate Access Recommendations for IdentityIQ](https://documentation.sailpoint.com/saas/help/ai/iiq/iiq_ai_get_started.html#integrating-access-recommendations-for-identityiq) before being able to use it.
## Understanding Peer Group Analysis
Peer group analysis is a machine learning model that analyzes user data and calculates similarity based on identities and their access. A network graph representation of identity-to-identity, entitlement-based similarity is used to identify densely connected communities of identities.
SailPoint AI-Driven Identity Security uses peer group analysis to organize your identities into peer groups based on common entitlements, and simplify the creation and maintenance of a dynamic identity governance program.
Peer groups are constantly evolving with your data and are updated regularly.
## Using Recommendations to Make Access Decisions in IdentityIQ
Certification and approval recommendations make the access reviewers and approvers in an organization more efficient and confident when approving, revoking, or denying access.
Certification and approval recommendations are generated based on the following:
- [Peer group](#understanding-peer-group-analysis) analysis
- The organization’s [AI core identity attributes](https://documentation.sailpoint.com/saas/help/ai/index.html#configuring-ai-core-attributes)
- Recommendation threshold calculation
Access reviewers in IdentityIQ receive certification and approval recommendations for entitlements and roles. Availability depends on the IdentityIQ version as shown in the following table.
| Access Recommendations | Availability by IdentityIQ Version |
| ----------------------------------------------------- | ---------------------------------- |
| Self-service access requests | 8.2 (roles) |
| Access request approvals | 8.1 (entitlements), 8.3 (roles) |
| Access reviews/certifications | 8.1 (entitlements), 8.3 (roles) |
| Automatic approvals for access reviews/certifications | 8.1 (entitlements), 8.3 (roles) |
When reviewers and approvers are evaluating access decisions, they will see recommendation icons to help guide their decision-making process. These recommendations leverage statistical methods to automatically determine the best combination of identity attributes and machine learning outputs to inform a decision threshold for making intelligent access recommendations.
Recommendations icons appear in and IdentityIQ as follows:
Recommendation icons are used to communicate the following information:
- - More than 70% of the identities in the peer group have the access.
- - The access is unique within the identity's peer group, or 70% or less of the identities in the peer group have the access.
Selecting an icon displays more information about the recommendation.
If no icon is displayed, it means the identity is unique, and does not have a group of peers with similar access. Access that is marked as non-requestable is also excluded from recommendations.
Important
Recommendations are provided only as guidance. Reviewers and approvers are still ultimately responsible for making access decisions.
# Improving IdentityIQ Roles with Role Insights
*Role Insights*, part of Access Modeling, provides you with a greater understanding of your organization's role program, and suggests changes to your existing roles to make them more secure.
You can explore the following role insights and use them to improve the security of your existing roles in IdentityIQ:
- Your progress toward role program benchmarks for best security practices, such as the principle of least privilege
- Suggested entitlement additions for your current roles
- The percentage of identities with a role that also hold a suggested entitlement
- Lists of specific identities that would be impacted by the suggested role change
Role Insights looks for updates regularly and offers new role insights as access in your organization changes. You can check for new role insights any time to see valuable information and suggestions to keep your roles up-to-date and as secure as possible.
Role Insights can be accessed by Admins and users with the [role admin user level](https://documentation.sailpoint.com/saas/help/common/users/user_levels.html#role-admin-user-level) in your tenant.
Before using Role Discovery and Access Modeling, ensure that all [setup, connection, and configuration steps](https://documentation.sailpoint.com/saas/help/ai/iiq/iiq_ai_get_started.html) have been completed.
#### Role Insights Prerequisites
- IdentityIQ customers with Access Modeling must follow the directions in [Configuring IdentityIQ for Access Modeling](https://documentation.sailpoint.com/saas/help/ai/iiq/iiq_ai_get_started.html#configuring-identityiq-for-access-modeling) to access Role Insights.
- For Role Insights to be able to provide insights and suggestions, your organization must have a basic role model configured in IdentityIQ. There must be roles configured that include entitlements and are assigned to identities.
- IdentityIQ customers with Access Modeling must sign in to their SailPoint org to access Role Insights.
#### Role Insights Process Overview
Each process overview step is described in detail in the sections that follow.
1. Launch Role Insights.
1. Select a role to investigate.
1. Explore suggested entitlement additions and how they impact identities.
1. Export suggested role updates and add entitlements to your organization's roles in IdentityIQ.
### Understanding Role Insights
Role insights are calculated only for IdentityIQ business roles that are defined as "requestable” or “auto-assignable”.
SailPoint algorithms determine the recommended entitlements to be added to a business role based on the following criteria:
1. The organization must have entitlements that do not belong to any business role. These kinds of entitlements are usually assigned directly to individual identities.
1. A candidate list of entitlements is made that are at least 80% popular among identities in a business role, but are not defined in the role. [SailPoint Services](https://community.sailpoint.com/t5/Working-With-Services/ct-p/Working_with_PS) can configure the percent popularity upon request.
1. The candidate list is reduced to include only entitlements with sources in the business role.
The remaining entitlements are presented as role insights for your consideration.
### Exploring Role Insights and Entitlement Additions
Complete the following steps in your tenant to explore role insights:
1. Select the **Role Insights** menu or the **Role Insights** panel on the dashboard.
The Role Insights page provides an overview of your role program and lists roles with suggested updates.
The top of the Role Insights page displays the status of essential benchmarks that measure the progress of your role program:
- **Access Included in Roles** - The percentage of all access in your organization that is included in roles.
- **Identities with Access from Roles** - The percentage of identities in your organization that have access from roles.
The goal percentages listed for each benchmark let you know how you are progressing in your development of a more secure role program. The goal percentages are set by SailPoint based on best practices and are there for general guidance.
In the list of Roles with Entitlement Updates, you can browse the roles with entitlements updates, or search role names or owners that start with a specific string. Numerical columns on the Role Insights page can be sorted by selecting or toggling through the sort icons: **Unsorted** , **Descending** , and **Ascending** .
The Impacted Identities column shows how many identities would be affected if you decide to add the entitlement to the role. If it shows 0 impacted identities, it means that all of the identities in the role already have the suggested entitlement through other means, so the suggested entitlement should be added to the role.
1. To explore the suggested updates for a role, select **View**.
The Updates for *Role_Name* page lists entitlements on two tabs:
- **Entitlements to Add** - This tab lists suggested entitlements that are not currently in the role. A suggested entitlement is already held by 80% of identities that hold the role, but it is not part of the role.
- **Current Entitlements** - This tab lists all of the entitlements currently included in the role.
You can browse the entitlements, or search entitlement names and descriptions that start with a specific string. You can also select the **Column Chooser** to customize what columns are visible, and select **Export** to download the suggested entitlement additions to a CSV file.
1. On the **Entitlements to Add** tab, select a suggested entitlement to launch the Identity Overview page and see how it affects identities with the role.
The Identity Overview page lists identities on two tabs:
- **Impacted Identities** - This tab lists the identities with the role that currently do not have the suggested entitlement. These are the identities that will be impacted if you decide to add the suggested entitlement to the role in IdentityIQ.
- **Identities with Entitlement** - This tab lists the identities with the role that currently also have the suggested entitlement.
You can browse the identities or search display names for a specific string. You can also select the **Column Chooser** to customize what columns are visible.
1. After examining insights into your organization's roles and the suggested entitlement updates, return to the Updates for *Role_Name* page and select **Export** to download suggested entitlement additions for the role to a CSV file.
Repeat this step to export suggested entitlement additions for each role that you would like to update.
1. Use the exported entitlement additions as a reference to update your roles in IdentityIQ.
You have completed the Role Insights process. Check Role Insights regularly for new insights into how to improve your roles as access in your organization changes.
# Privilege
# SailPoint Privilege Overview
SailPoint Privilege provides capabilities in Identity Security Cloud to improve teams' productivity and enhance security across the enterprise.
SailPoint Privilege features and capabilities are designed to leverage SailPoint Atlas Orchestration common service and Identity Security Cloud to give teams a holistic way to manage, govern, and secure all identities.
SailPoint Privilege includes:
- [Privilege Task Automation](https://documentation.sailpoint.com/saas/help/privilege/privileged_task_automation.html) - Leverages the power of SailPoint’s Workflows engine to facilitate the automation of privileged tasks.
- [Privilege On Demand](https://documentation.sailpoint.com/saas/help/privilege/privilege_on_demand.html) - Allows access to be authorized ahead of time, but provisioned only when activated by the user.
# Privilege on Demand
Privilege on Demand provides Just-In-Time access, allowing access to be authorized ahead of time, but provisioned only when activated by the user. The access is then removed when the activation period ends, the user deactivates it, or it is revoked.
Access is only provided for the defined duration, and permissions for the user are only active on their account when needed.
Just-In-Time Access helps you:
- Enhance security by removing standing privileges.
- Maintain user productivity without adding burden to your DevOps team by allowing users to provision access on their own.
Just-In-Time access is configured based upon entitlement assignment types. When an entitlement is configured as Just-In-Time, users receive the entitlement as [available for activation](#activating-a-just-in-time-entitlement) instead of continuous standing access. For more information on configuring Just-In-Time and standing entitlement access, refer to [Setting an Entitlement’s Assignment Type for an Identity](https://documentation.sailpoint.com/saas/help/access/entitlements.html#setting-an-entitlements-assignment-type-for-an-identity).
## Just-In-Time Entitlements
Entitlements configured as Just-In-Time can be assigned to a user by an admin or [requested](https://documentation.sailpoint.com/saas/help/requests/index.html#understanding-access-requests) from the request center by a user. To allow users to request an entitlement, you will need to configure the [access requests for the entitlement](https://documentation.sailpoint.com/saas/help/requests/config_entitlements.html#marking-entitlements-as-requestable).
After the entitlement has been assigned to the user, the user activates the entitlement from the [Launchpad](#activating-a-just-in-time-entitlement). For more information on configuring entitlements for Just-In-Time, refer to [Managing Entitlement Assignments](https://documentation.sailpoint.com/saas/help/access/jit_access_provisioning.html#managing-entitlement-assignments).
## Configuring Global Just-In-Time Settings
Admins can configure global settings to define default activation durations and set boundaries for how long users can access their Just-In-Time entitlements. For more information on configuring Just-In-Time global settings, refer to [Configuring Global Settings](https://documentation.sailpoint.com/saas/help/access/jit_access_provisioning.html#configuring-global-settings).
## Viewing Just-In-Time Activations
Admins can view active activations on the Just-In-Time Monitor page. For more information on viewing activations, refer to [Viewing Activations](https://documentation.sailpoint.com/saas/help/access/jit_access_provisioning.html#viewing-activations).
## Activating a Just-In-Time Entitlement
When a Just-In-Time entitlement is assigned to a user, the associated entitlement displays on the user's **Launchpad > Just-In-Time Access** page. To provision access, the user must activate the entitlement from the [Launchpad](https://documentation.sailpoint.com/saas/user-help/launchpad.html#managing-just-in-time-entitlement-access) for a defined duration. Users can view the status of activated entitlements and deactivate or extend active activations.
A [notification email](https://documentation.sailpoint.com/saas/help/common/emails/et_jit_15_reminder.html) is sent to the user when their Just-In-Time access is due to expire in 15 minutes.
Access is automatically deprovisioned when the Just-In-Time activation expires.
# Privileged Task Automation
## Overview
Privileged Task Automation leverages the power of SailPoint’s Workflows engine to facilitate the automation of privileged tasks.
Privileged Task Automation helps you:
- Automate complex IT and privileged processes across systems.
- Enhance security by removing standing privileges.
- Reduce the need for specialized technical knowledge and manual intervention.
Privileged tasks are tasks for which users require privileged credentials to access an application and execute a series of commands to perform an action. Privileged Task Automation offers the ability to elevate a user's privilege while keeping an application's privileged credentials hidden from the user. This allows admins to delegate the execution of privileged tasks enabling non-privileged users to perform privileged tasks.
Privileged Task Automation workflows can be:
- **Created using a pre-built workflow template** - Configure pre-built Privileged Task Automation templates to meet your needs.
- **Started with the Workflow visual builder** - Create a Privileged Task Automation workflow by adding a Privileged Task Automation action.
- **Uploaded using an existing JSON File** - Upload a JSON file or reuse the JSON from another workflow and add a [Privileged Task Automation action](#privileged-task-automation-actions) to meet the requirements for a Privileged Task Automation workflow.
For information on building a workflow, refer to [Building Privileged Task Automation Workflows](#building-privileged-task-automation-workflows).
Privileged Task Automation workflows can either be initiated on a schedule or when an event triggers the workflow, or they can be manually initiated by a user through the use of the [Interactive Trigger step](#interactive-trigger).
A Privileged Task Automation workflow can be run:
- **Without user interaction** - A privileged task that does not require any input from the user can run completely behind the scenes with no user interaction. After this workflow is enabled, it operates automatically based upon the selected trigger.
- **With user interaction** - A privileged task that requires user input to be executed must start with the [Interactive Trigger step](#interactive-trigger) to create an [interactive process](#interactive-process). The interactive process allows users to supply information via an [interactive form](#interactive-process-actions) within the workflow, and [interactive messages](#interactive-process-actions) are displayed to keep a user notified of the progress of the workflow.
After building a Privileged Task Automation workflow using an interactive trigger, the workflow must be delegated to a user for the privileged task to be completed. Delegating the workflow requires a [launcher](#launcher) and an [entitlement](#entitlement).
A [launcher](#launcher) is an object that allows a user to initiate the workflow and interactive process. Launchers are created through the Interactive Trigger step within the workflow. When a launcher is created, an entitlement is automatically created for the launcher. The launcher’s entitlement can then be assigned to users through regular governance practices enabling the users to manually initiate a privileged task via the [Launchpad](#initiating-a-privileged-task).
## Getting Started
Before you can begin creating and automating privileged tasks, you’ll need to set up your site. Set up your preferred method to provide [privileged credentials](#privileged-credentials) using either [Parameter Storage](#parameter-storage) or a [Credential Provider](#credential-provider). Then set up a virtual appliance cluster with a [Privileged Action Gateway](#privileged-action-gateway) cluster component and the [target applications](#target-application) where the Privileged Task Automation action will be performed.
### Privileged Credentials
Privileged credentials are required to access an application and execute a series of commands to perform an action.
Authentication details for privileged credentials are configured within a Privileged Task Automation workflow as secrets, and are used to authenticate on to the target application and allow the Privilege Gateway virtual appliance to interact with the target application. The credentials are encrypted and never visible to the administrator configuring the workflow or the user running the privileged task, while enabling a non-privileged user with the correct entitlement to perform the privileged task.
The options for providing privileged credentials are [Parameter Storage](#parameter-storage) and [Credential Provider](#credential-provider).
#### Parameter Storage
SailPoint Parameter Storage is used to provide the privileged credentials. To add a parameter, go to **Admin > Global > Parameter Storage**. For more information, refer to [Parameter Storage](https://documentation.sailpoint.com/saas/help/parameter_storage/index.html)
#### Credential Provider
Privileged credentials are required to access an application and execute a series of commands to perform an action. A credential provider is used to provide the privileged credentials. To add a credential provider in SailPoint, go to **Admin > Connections > Credential Providers**. For more information about credential providers, refer to Identity Security Cloud Connectors [Credential Providers](https://documentation.sailpoint.com/connectors/isc/landingpages/help/landingpages/isc_landing.html).
### Privileged Action Gateway
SailPoint uses virtual appliance clusters with a Privileged Action Gateway cluster component to connect your tenant to target applications and process privileged actions.
To create a VA cluster with a Privileged Action Gateway cluster component, go to **Admin > Connections > Virtual Appliances**. For more information about how to create a VA cluster with the Privileged Action Gateway cluster component, refer to [Creating Virtual Appliances](https://documentation.sailpoint.com/saas/help/va/deploy_va.html#creating-virtual-appliances).
The role of the Privileged Action Gateway cluster component is to:
- Allow a privileged action to read from the target application and pass back information to the workflow.
- Facilitate a privileged action to execute commands on the target application.
### Target Application
The target applications are where the Privileged Task Automation action will be performed. Privileged Task Automation workflows define which Privileged Task Automation action commands are needed to communicate and interact with the target application, allowing information to be retrieved and the privileged actions to be executed.
## Building Privileged Task Automation Workflows
After you have completed the initial setup, you can start building your Privileged Task Automation workflow.
SailPoint offers pre-built Privileged Task Automation [workflow templates](https://documentation.sailpoint.com/saas/help/workflows/workflow-templates.html#privileged-task-automation-templates) to assist in getting started with Privileged Task Automation. These templates must be configured to meet your needs. You can also build a Privileged Task Automation workflow using the [visual builder](https://documentation.sailpoint.com/saas/help/workflows/workflow-build.html#building-a-workflow-in-the-visual-builder) or [using JSON](https://documentation.sailpoint.com/saas/help/workflows/workflow-build.html#building-a-workflow-in-json) by adding a [Privileged Task Automation action](https://documentation.sailpoint.com/saas/help/workflows/workflow-actions.html#privileged-task-automation-actions) to your workflow.
### Interactive Trigger
The [Interactive Trigger step](https://documentation.sailpoint.com/saas/help/workflows/workflow-triggers.html#interactive-trigger) allows the workflow to be manually initiated by a user and creates an [interactive process](https://documentation.sailpoint.com/saas/help/workflows/workflow-interactive-process.html) within the workflow enabling users to provide input into the workflow and receive messages about the progress of the workflow.
The interactive trigger also enables the creation of a launcher that shares a name and description with the current workflow. A launcher can be created using the interactive trigger's **Create Launcher** button within a workflow or on the [Launchers page](https://documentation.sailpoint.com/saas/help/access/launchers.html#creating-a-launcher). An entitlement is automatically created for this launcher.
### Privileged Task Automation Actions
To create a workflow for a privileged task, you must add a [Privileged Task Automation action](https://documentation.sailpoint.com/saas/help/workflows/workflow-actions.html#privileged-task-automation-actions). Privileged Task Automation actions have commands that make the action act in a specific way.
### Interactive Process
The [interactive process](https://documentation.sailpoint.com/saas/help/workflows/workflow-interactive-process.html) is a process in a workflow where interactive messages are displayed to an Identity Security Cloud user and information is supplied by an end user via interactive forms. A user manually initiates the interactive process from the Launchpad. As the workflow runs, any interactive forms or interactive messages will display to the user and await user input before continuing.
To create a workflow with an interactive process, you must start with the [Interactive Trigger step](https://documentation.sailpoint.com/saas/help/workflows/workflow-triggers.html#interactive-trigger). If the Privileged Task Automation task requires the user to supply information and messages to display to keep the user notified as to the progress of the workflow, add the Interactive Form and Interactive Message actions.
### Interactive Process Actions
**Interactive Form**
The [Interactive Form](https://documentation.sailpoint.com/saas/help/workflows/workflow-actions.html#interactive-form) action allows an admin to create a form within a workflow. This form displays to the user as part of the [interactive process](https://documentation.sailpoint.com/saas/help/workflows/workflow-interactive-process.html). When the interactive process requires user input, an interactive form is provided explaining what information is required from the user. The user must provide details or make selections before the action is executed on the application.
**Interactive Message**
The [Interactive Message](https://documentation.sailpoint.com/saas/help/workflows/workflow-actions.html#interactive-message) action allows an admin to create a message within a workflow. This message displays to the user as part of the [interactive process](https://documentation.sailpoint.com/saas/help/workflows/workflow-interactive-process.html). Messages keep the user notified as to the progress of the workflow.
## Delegating Privileged Task Automation Workflows
After building a Privilege Task Automation workflow using the Interactive Trigger step, the workflow must be delegated to a user for the privileged task to be completed. Delegating the workflow requires a Launcher and an Entitlement.
### Launcher
A launcher is an object that allows a user to initiate the workflow and the interactive process. Launchers are created through the [Interactive Trigger step](https://documentation.sailpoint.com/saas/help/workflows/workflow-triggers.html#interactive-trigger) within a workflow and can be created and managed via the [Launchers](https://documentation.sailpoint.com/saas/help/access/launchers.html) page. The launcher shares the name and description with the current workflow and an entitlement is automatically created for the launcher. Launchers allow an interactive process to be initiated by a user.
Note
To initiate the Privileged Task Automation workflow through a launcher, the associated workflow must be enabled.
### Entitlement
When a launcher is created, an entitlement is automatically created for the launcher. The launcher's entitlement can then be assigned to a user by an admin or [requested](https://documentation.sailpoint.com/saas/help/requests/index.html#understanding-access-requests) from the request center by a user. To allow users to request an entitlement, you will need to configure the [access requests for the entitlement](https://documentation.sailpoint.com/saas/help/requests/config_entitlements.html#marking-entitlements-as-requestable). After the entitlement has been assigned to the user, the user initiates the interactive process from the [Launchpad](https://documentation.sailpoint.com/saas/user-help/launchpad.html).
## Initiating a Privileged Task
When you assign an entitlement associated with a launcher to a user, the associated interactive process is displays on the user's [Launchpad](https://documentation.sailpoint.com/saas/user-help/launchpad.html) page. The [Launchpad](https://documentation.sailpoint.com/saas/user-help/launchpad.html) page allows a user to initiate interactive processes that have been delegated to them and view the status of previously initiated interactive processes.