# Dataset Management

Dataset Management lets you review the object types a source collects and control how the source aggregates those objects into SailPoint. Use Dataset Management to view and manage resource attributes, datasets and their resources, enable dataset aggregation schedules, perform manual aggregation, and view aggregation history.

> [!NOTE]
>
> Datasets are also available in SailPoint Agentic Fabric. Contact your Customer Success team and refer to [SailPoint Agentic Fabric](<https://documentation.sailpoint.com/saas/help/agentic_fabric/index.html>) for more information.

For more information, refer to [Managing Datasets and Resources](<https://documentation.sailpoint.com/saas/help/sources/datasets.html>) for datasets, resources, owner correlation, and aggregation.

## Datasets

A *dataset* is a named group of one or more related resources that the source aggregates together.

When aggregation runs for a dataset, the source collects all resources in that dataset from the managed system in one aggregation job. Activate or deactivate aggregation at the dataset level, not for individual resources.

> [!NOTE]
>
> Each resource belongs to exactly one dataset for that source. The source defines which resources belong to each dataset. You can enable aggregation and review associated resources, but you cannot create or delete datasets or move resources between them.

### Dataset Aggregation

Configure aggregation on the **Dataset Aggregations** tab for each dataset. Configure each dataset separately. During aggregation, your owner correlation rules are automatically applied to link machine identities to their human owners. For more information, refer to [Configuring Dataset Aggregations](<https://documentation.sailpoint.com/saas/help/sources/datasets.html#configuring-dataset-aggregations>).

## Resources

A resource defines an object type from the managed system. It specifies the kind of object, the attributes the source collects, and how the source identifies and displays each object. Resources form the building blocks of the data model.

In the UI, each resource appears under **Dataset Management** \> **Resources** with its schema. A resource does not run aggregation by itself. The dataset that owns the resource collects it during aggregation.

For more information, refer to [Managing Resources](<https://documentation.sailpoint.com/saas/help/sources/datasets.html#managing-resources>).

### Owner Correlation

Configure owner correlation on each resource to link aggregated objects to human owners. If you do not configure owner correlation, or if the mapping produces no match, an owner is not assigned. For more information, refer to [Configuring Owner Correlation](<https://documentation.sailpoint.com/saas/help/sources/datasets.html#configuring-owner-correlation>).

## Supported Datasets

Go to **Dataset Management \> Datasets** on your TeamCity source to view the datasets the connector aggregates. Select a dataset to review its associated resources and configure aggregation.

> [!NOTE]
>
> Configure aggregation for each dataset separately. For more information, refer to [Dataset Aggregation](<https://documentation.sailpoint.com/saas/help/sources/datasets.html#configuring-dataset-aggregations>).

| Dataset Name | Associated Resource | Dataset ID |
| --- | --- | --- |
| TeamCity Credentials | TeamCity Access Token and TeamCity SSH Key | `teamcity:credentials` |

## Supported Resources

The TeamCity connector registers 2 resources across the 1 dataset.

Resource schemas appear under **Dataset Management** \> **Resources**. The connector-specific attributes are read-only.

For more information, refer to [Managing Resources](<https://documentation.sailpoint.com/saas/help/sources/datasets.html#managing-resources>).

> [!NOTE]
>
> When you enable dataset aggregation for a selected dataset, all resources in that dataset are collected at once. Activate or deactivate aggregation at the dataset level, not for individual resources.

| Resource Name | Resource Type | Resource ID |
| --- | --- | --- |
| [TeamCity Access Token](<#teamcity-access-token-attributes>) | Credential | `teamcity:access-token` |
| [TeamCity SSH Key](<#teamcity-ssh-key-attributes>) | Credential | `teamcity:ssh-key` |

## Owner Correlation

Configure owner correlation by mapping the resource's `ownerUserId` attribute to the `id` attribute of an aggregated TeamCity account.

If TeamCity usernames match identity names in SailPoint, you can instead map `ownerUsername` to the identity `name` or `uid` attribute.

SSH keys are project-scoped credentials and do not have a direct human owner. To configure project-level ownership correlation, map the `projectId` attribute to an identity that owns the project.

## TeamCity Access Token Attributes

The **TeamCity Access Token** resource represents personal access tokens issued to TeamCity users. The identity attribute is `identity`, and the display attribute is `name`.

| Attribute Name | Description | Type | Multi-Valued |
| --- | --- | --- | --- |
| `identity` | Composite token identifier in the format `{userId}#{tokenName}`. | string | No |
| `name` | Name assigned to the token in TeamCity. | string | No |
| `ownerUserId` | Numeric ID of the user who owns the token. Used for owner correlation. | string | No |
| `ownerUsername` | Username of the user who owns the token. Can be used for owner correlation. | string | No |
| `creationTime` | Date and time the token was created. | string | No |
| `expirationTime` | Date and time the token expires. Empty when the token does not expire. | string | No |
| `permissionRestrictions` | Permission names applied as restrictions to the token. An empty list indicates that the token inherits all permissions from the owner user. | string | Yes |
| `scopedProjectId` | Project ID to which the token is scoped. Empty when the token inherits permissions from the owner user. | string | No |

## TeamCity SSH Key Attributes

The **TeamCity SSH Key** resource represents SSH keys uploaded to projects for version control authentication and build operations. The identity attribute is `identity`, and the display attribute is `name`. The connector does not aggregate inherited keys again in child projects.

| Attribute Name | Description | Type | Multi-Valued |
| --- | --- | --- | --- |
| `identity` | Composite key identifier in the format `{projectId}#{keyName}`. | string | No |
| `name` | Name of the SSH key file. | string | No |
| `encrypted` | Indicates whether the private key is encrypted with a passphrase. | string | No |
| `projectId` | ID of the TeamCity project where the key is directly defined. | string | No |
| `projectName` | Name of the TeamCity project where the key is directly defined. | string | No |
