# Schema Reference

The application schema is used to configure the objects returned from a connector.

> [!NOTE]
>
> - The **Account Schema** tab is used to define the attributes for each object type in the application being configured. The schema attributes can be defined as **Entitlement** or **Multi-Valued**. Refer to [Managing Source Account Schemas](<https://documentation.sailpoint.com/saas/help/accounts/schema.html>) for more information.
> - The schema attributes that are not present by [default](<#default-account-schema>) must be defined as strings if not specified.

The Harness connector uses the following default correlation and object configurations.

## Default Correlation Configuration

Before you aggregate accounts from this source, you can map account attributes with their corresponding identity attributes based on your requirements.

You can customize the correlation configuration. Refer to [Assigning Source Accounts to Identities](<https://documentation.sailpoint.com/saas/help/accounts/correlation.html>) for more information.

When you first create the Harness source, the default correlation mapping is:

| Account Attribute | Operation | Identity Attribute |
| --- | --- | --- |
| email | Equals, ignoring case | Email |

## Default Account Schema

Each source supports a variety of details, or attributes, about each user who has an account, such as their name, email address, manager name, and location.

The set of account attributes each source stores and how they're organized is known as the account's *schema*. To best represent your data, you can configure sources to use an account schema matching the one you use in the external connector. Refer to [Managing Source Account Schemas](<https://documentation.sailpoint.com/saas/help/accounts/schema.html>) for more information.

### Default Account Attributes

The Harness connector supports the following default account schema attributes and customer configurable attributes. The attributes must be defined as strings if not specified.

The account schema represents Harness users. The identity attribute is `uuid`, the display attribute is `name`, and the group attribute is `group`.

| Attribute Name | Description |
| --- | --- |
| `uuid` | Unique identifier generated by Harness for the user. |
| `name` | The user's display name. |
| `email` | The user's email address. |
| `locked` | Indicates whether the user account is locked. |
| `disabled` | Indicates whether the user account is disabled. |
| `externallyManaged` | Indicates whether the user is managed by an external identity provider, for example SSO or SCIM. |
| `twoFactorAuthenticationEnabled` | Indicates whether the user enabled two-factor authentication. |
| `group` | User group identifiers for the user, including inherited groups. |
| `role` | Role identifiers assigned to the user through role assignments. |

## Default Entitlement Attributes

Entitlement attributes define the entitlements, such as groups or roles, that can be assigned to the managed system's user accounts. Refer to [Managing Entitlements](<https://documentation.sailpoint.com/saas/help/access/entitlements.html>) for more information.

> [!CAUTION]
>
> Changing the attribute marked as the Entitlement ID after aggregating accounts or entitlements can result in duplicate entitlements being created, or access profiles and roles breaking. To avoid this, edit the entitlement schema before performing any aggregations.

### Default Group Attributes

The Harness connector also supports groups. The following attributes must be configured on the managed system and in the SailPoint source schema to manage groups.

The group entitlement represents a Harness user group. The identity attribute is `identifier`, and the display attribute is `name`.

| Attribute Name | Description |
| --- | --- |
| `identifier` | Unique identifier of the user group. |
| `name` | Display name of the user group. |
| `description` | Description of the user group purpose. |
| `accountIdentifier` | The Harness account the group belongs to. |
| `orgIdentifier` | The organization the group is scoped to, if any. |
| `projectIdentifier` | The project the group is scoped to, if any. |
| `externallyManaged` | Indicates whether an external identity provider manages the group. |
| `harnessManaged` | Indicates whether Harness manages the group. |
| `ssoLinked` | Indicates whether the group links to an SSO provider. |

### Default Role Attributes

The Harness connector supports roles. The following attributes must be configured on the managed system and in the SailPoint source schema to manage roles.

The role entitlement represents a Harness role. The identity attribute is `identifier`, and the display attribute is `name`.

| Attribute Name | Description |
| --- | --- |
| `identifier` | Unique identifier of the role. |
| `name` | Display name of the role. |
| `description` | Description of the role. |
| `scopeLevel` | The scope level the role applies to: account, org, or project. |
| `harnessManaged` | Indicates whether the role is a built-in Harness-managed role or a custom role. |
| `permissions` | Permission identifiers granted by the role. |
| `roleAssignedToUserCount` | Number of users assigned to the role. |
| `roleAssignedToUserGroupCount` | Number of user groups assigned to the role. |
| `roleAssignedToServiceAccountCount` | Number of service accounts assigned to the role. |
