# Connecting SailPoint and SCIM 1.1

To connect SailPoint with SCIM 1.1, perform the following tasks:

## Adding the Source in SailPoint

To connect to SailPoint, perform the following steps. Once the connection is made, you can configure it to meet your company's needs.

> [!IMPORTANT]
>
> By default, the provisioning feature is **disabled**, and the connector only supports read-only operations. To support provisioning operations, you must manually enable the feature in the source configuration.

**To configure a new source:**

1. Sign in to SailPoint.
2. Go to **Admin \> Connections \> Sources**.
3. Select **Create New**.
4. Search for the connector by entering the name in the search box, and then select **Configure**.
5. In the **Source Name** field, enter a unique and descriptive name for your source. Source names cannot exceed 128 characters.
6. In the **Description** field, provide additional details about the source to help distinguish it from similar sources. This field allows a maximum of 2,000 characters.
7. In the **Source Owner** field, begin typing the name of an owner. Matches appear after you type two or more letters. For more information, refer to [Assigning a Source Owner](<https://documentation.sailpoint.com/saas/help/sources/index.html#assigning-a-source-owner>).
8. Under **Connection Type**, select **Direct Connection** or **Flat File**.

   - **Direct Connection** - A direct connection fetches data from the **Virtual Appliance Cluster** you choose as the application connector for the source. A direct connection configuration allows for real-time updates. For more information about configuring and deploying virtual appliances, refer to the [Virtual Appliance Reference Guide](<https://documentation.sailpoint.com/saas/help/va/index.html>).
   - **Flat File** - Select the flat file if no connector is available, or if another system restricts the connection. This option allows only reading and aggregating data as a generic/delimited application. Provisioning activity is unsupported, and additional configuration pages like connection settings and aggregation settings are unavailable.
9. If you selected **Direct Connection**, in **Virtual Appliance Cluster**, select the virtual appliance cluster that will be used as the application connector for the source.
10. (Optional) Select a governance group to grant its members [source](<https://documentation.sailpoint.com/saas/help/common/users/user_levels.html#source-sub-admin-user-level>) or [role](<https://documentation.sailpoint.com/saas/help/common/users/user_levels.html#role-sub-admin-user-level>) sub-admin level oversight of the source and its access. For more information, refer to [Creating and Managing Governance Groups](<https://documentation.sailpoint.com/saas/help/common/users/governance_groups.html>).
11. If this source represents a primary system containing your organization's personnel records, select the **Authoritative Source** checkbox. For more information, refer to [Creating Identity Profiles](<https://documentation.sailpoint.com/saas/help/setup/identity_profiles.html>).
12. Select **Continue**. The source is created, and you are navigated to the **Source Setup \> Base Configuration** page. Continue to configure your connected source there.

## Base Configuration

Provide the base configuration parameters. Information you entered in the Create New Source dialog is automatically entered into the fields in the Base Configuration page. You can edit this information if necessary.

1. Enter a unique name and description for the source.
2. In the **Source Owner** dropdown list, select the identity that owns this source.

   - To find a source owner, begin entering their name.
3. In the **Virtual Appliance Cluster** dropdown list, select the virtual appliance to use when communicating with your organization's systems. For more information, refer to [SailPoint Virtual Appliances](<https://documentation.sailpoint.com/saas/help/va/index.html>).
4. (Optional) If enabled for your organization, select the **Use a Credential Provider** checkbox to manage the source's authentication using a credential provider.

   > **Note**
   >
   > To add a credential provider, go to **Admin \> Connections \> Credential Providers**. For more information about credential providers, refer to [Credential Providers](<https://documentation.sailpoint.com/connectors/help/credential_providers.html>).
5. Configure the authentication to allow SailPoint to connect to the source. Refer to [Connection Settings](<#connection-settings>) for more information.
6. (Optional) In the **Governance Group for Source Management** dropdown list, select a governance group to associate with this source. For more information about governance groups, refer to [Associating Governance Groups with a Source](<https://documentation.sailpoint.com/saas/help/common/users/governance_groups.html#associating-a-governance-group-with-a-source>).
7. (Optional) Choose whether to enable or disable provisioning for the source. Provisioning is disabled by default.

   - **Enable Provisioning** - Set the toggle to **Enabled** to allow the source to create, update, and deactivate accounts in the connected source system.
   - **Disable Provisioning** - Set the toggle to **Disabled** to disable provisioning for the source. Disabling provisioning will prevent the creation, updating, or deactivating of accounts on this source.
8. Select **Save**.

## Connection Settings

Set up the connection and authentication parameters.

> [!NOTE]
>
> **Screenshot**
>
> [![Connection Settings](<https://documentation.sailpoint.com/connectors/scim_1_1/va/help/img/scim1.1_conn.png>)](<https://documentation.sailpoint.com/connectors/scim_1_1/va/help/img/scim1.1_conn.png>)

1. Enter the value of **Connection Timeout** in minutes to hold the connection. By default, it is one minute.
2. Enter the **Host URL** of the SCIM 1.1-compliant managed system.

For other parameters, refer to the following sections:

- [Basic Authentication](<#basic-authentication>)
- [OAuth 2.0 Authentication](<#oauth-20-authentication>)
- [API Token](<#api-token>)

### Basic Authentication

Configure basic authentication as an authentication type.

> [!NOTE]
>
> **Screenshot**
>
> [![Basic Authentication](<https://documentation.sailpoint.com/connectors/scim_1_1/va/help/img/scim1.1_conn_basic.png>)](<https://documentation.sailpoint.com/connectors/scim_1_1/va/help/img/scim1.1_conn_basic.png>)

1. Enter the **Username** for basic authentication.
2. Enter the corresponding **Password**.
3. Select **Save**.

### OAuth 2.0 Authentication

Select **OAuth 2.0 Authentication** and configure a grant type. Access tokens are generated based on your configured grant type.

#### Client Credentials

> [!NOTE]
>
> **Screenshot**
>
> [![OAuth 2.0 Client Credentials](<https://documentation.sailpoint.com/connectors/scim_1_1/va/help/img/scim1.1_conn_oa_cc1.png>)](<https://documentation.sailpoint.com/connectors/scim_1_1/va/help/img/scim1.1_conn_oa_cc1.png>) [![OAuth 2.0 Client Credentials](<https://documentation.sailpoint.com/connectors/scim_1_1/va/help/img/scim1.1_conn_oa_cc2.png>)](<https://documentation.sailpoint.com/connectors/scim_1_1/va/help/img/scim1.1_conn_oa_cc2.png>)

1. Enter the **OAuth 2.0 Token URL**.

   For example:

   `https://{your SCIM 1.1 Domain}/Services/oauth2/token`
2. Enter the **Client ID**.

   The client ID is issued to the source during the registration process for OAuth 2.0 on the SCIM server.
3. Enter the **Client Secret**.
4. Add the **Key** and **Value** pairs for the additional **OAuth Request Parameters**
5. You can set the attributes that you want to exclude from the request in the **Attributes Exclude Request** field.
6. Select **Save**.

#### JWT

> [!NOTE]
>
> **Screenshot**
>
> [![OAuth 2.0 JWT](<https://documentation.sailpoint.com/connectors/scim_1_1/va/help/img/scim1.1_conn_oa_jwt1.png>)](<https://documentation.sailpoint.com/connectors/scim_1_1/va/help/img/scim1.1_conn_oa_jwt1.png>) [![OAuth 2.0 JWT](<https://documentation.sailpoint.com/connectors/scim_1_1/va/help/img/scim1.1_conn_oa_jwt2.png>)](<https://documentation.sailpoint.com/connectors/scim_1_1/va/help/img/scim1.1_conn_oa_jwt2.png>) [![OAuth 2.0 JWT](<https://documentation.sailpoint.com/connectors/scim_1_1/va/help/img/scim1.1_conn_oa_jwt3.png>)](<https://documentation.sailpoint.com/connectors/scim_1_1/va/help/img/scim1.1_conn_oa_jwt3.png>)

1. Enter the **OAuth 2.0 Token URL**.

   For example:

   `https://{your SCIM 1.1 Domain}/Services/oauth2/token`
2. Enter the **Client ID** for JWT.
3. Enter the corresponding **Client Secret**.
4. Enter the **Private Key** and the corresponding **Private Key Password** used to sign the JWT.
5. The **JWT Header** contains the algorithm used for signing the JWT assertion. It must be the same algorithm used for generating the private key. The format of the JWT header is as follows:

   `Key = alg`

   If required, the additional header attributes can be provided in this key-value pair. Enter value of the JWT headers key.

   For example:

   `Value=RS256`
6. The **JWT Payload** is the key to have information on the JWT Claim. For JWT, it is mandatory to have the payload key for a successful Test Connection and other operations. The mandatory attributes are:

   - `aud` - Audience
   - `exp` - Expiry of the JWT assertion
   - `iss` - Issuer
   - `sub` - Subject

   If required, additional payload attributes can be provided in this key-value pair based on the target system.
7. Add the **Key** and **Value** pairs for the additional **OAuth Request Parameters**.
8. (*Optional*) Set the attributes that you want to exclude from the request in the **Attributes Exclude Request** field.
9. Select **Save**.

#### Refresh Token

> [!NOTE]
>
> **Screenshot**
>
> [![OAuth 2.0 Refresh Token](<https://documentation.sailpoint.com/connectors/scim_1_1/va/help/img/scim1.1_conn_oa_rt1.png>)](<https://documentation.sailpoint.com/connectors/scim_1_1/va/help/img/scim1.1_conn_oa_rt1.png>) [![OAuth 2.0 Refresh Token](<https://documentation.sailpoint.com/connectors/scim_1_1/va/help/img/scim1.1_conn_oa_rt2.png>)](<https://documentation.sailpoint.com/connectors/scim_1_1/va/help/img/scim1.1_conn_oa_rt2.png>)

1. Enter the **OAuth 2.0 Token URL**.

   For example:

   `https://{your SCIM 1.1 Domain}/Services/oauth2/token`
2. Enter the **Client ID** for Refresh Token.
3. Enter the corresponding **Client Secret**.
4. Enter the **Refresh Token**.
5. Select **Save**.
6. Add the **Key** and **Value** pairs for the additional **OAuth Request Parameters**.
7. (*Optional*) Set the attributes that you want to exclude from the request in the **Attributes Exclude Request** field.
8. Select **Save**.

### API Token

Configure API token as an authentication type. Only the bearer tokens are supported. These bearer tokens either come with a long validity period or they do not expire.

> [!NOTE]
>
> **Screenshot**
>
> [![API Token](<https://documentation.sailpoint.com/connectors/scim_1_1/va/help/img/scim1.1_conn_api.png>)](<https://documentation.sailpoint.com/connectors/scim_1_1/va/help/img/scim1.1_conn_api.png>)

1. Select **API Token** as an Authentication Type.

   You can use an **API Token** for authentication on the SCIM 1.1 source.
2. Select **Save**.

## Aggregation Settings

Configure the aggregation settings for the SCIM 1.1 connector.

For more information about aggregation, refer to [Loading Account Data](<https://documentation.sailpoint.com/saas/help/accounts/loading_data.html>).

> [!NOTE]
>
> **Screenshot**
>
> [![Aggregation Settings](<https://documentation.sailpoint.com/connectors/scim_1_1/va/help/img/aggregation_settings.png>)](<https://documentation.sailpoint.com/connectors/scim_1_1/va/help/img/aggregation_settings.png>)

1. Enter the **Filter Condition For Accounts** to aggregate the SCIM User resources.

   For example:

   `username sw "S"`
2. Enter the **Filter Condition For Groups** to aggregate the SCIM Group resources.

   For example:

   `DisplayName sw "S"`
3. Select a **Content-type** for the SCIM data format. The data format is either **JSON** or **XML**. By default the content type is **JSON**.
4. Select **Enable Complex Attribute Support** if you want to configure the complex attributes. For more information refer to [Complex Schema Attributes](<https://documentation.sailpoint.com/connectors/scim_1_1/va/help/schema.html#complex-schema-attributes>).
5. To specify and limit the attributes during account aggregation, configure the **Account Attributes Query**. To specify and limit the attributes during entitlement aggregation, configure the **Group Attributes Query**. For either of the queries, specify the fully qualified extended attributes with the associated Resource URN.

   For example, the `manager` attribute defined in `urn:scim:schemas:extension:enterprise` is fully encoded as `urn:scim:schemas:extension:enterprise:manager`.
6. Set the **Page Size**. This is the maximum number of records to include in one request. Specify the page size if the target system supports pagination. By default, the value of the page size is 50.
7. Select **Save**.

## Advanced Settings

The Advanced Settings tab includes configuration options for provisioning and HTTP settings.

> [!NOTE]
>
> **Screenshot**
>
> [![Advanced Settings](<https://documentation.sailpoint.com/connectors/scim_1_1/va/help/img/advanced_settings_latest.png>)](<https://documentation.sailpoint.com/connectors/scim_1_1/va/help/img/advanced_settings_latest.png>)

1. Enter a list of attributes that the connector can ignore while provisioning an account in the **Provisioning Attributes to Skip** field.
2. Enter the default schema attribute extensions or additional attributes in the **Extension Schema Attributes** field.

   Ensure that you enter a list of fully qualified extended attributes with their associated Resource URNs.
3. Select either **PATCH** or **PUT** operation for SCIM 1.1 compliant servers.
4. Choose whether to use **HTTPS** or **HTTP**.
5. Select **Save**.

## Review and Test

Perform a test to confirm the connection to SailPoint.

1. Go to **Review and Test**.
2. Confirm that the entries in each field are correct.

   If you note any mistakes, return to the section and make corrections.
3. Select **Test Connection**.

## SailPoint Application Onboarding

SailPoint application onboarding enables you to easily onboard new applications and create sources following the successful onboarding of a discovery source. To use this feature, continue to **Discovered Applications** in the SailPoint user interface.

For more information, refer to [Application Onboarding](<https://documentation.sailpoint.com/saas/help/ai/app_onboarding/index.html>) in the SailPoint SaaS documentation.
