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 for more information.
-
The schema attributes that are not present by default must be defined as strings if not specified.
The Terraform connector uses the following default correlation and object configurations.
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 for more information.
Default Account ID
SailPoint requires that certain attributes remain in your configuration. These attributes are referred to as account IDs.
Caution
Changing the attribute marked as the account ID after aggregating accounts can result in duplicate accounts being created. To avoid this, either reset the accounts on this source before editing the account ID attribute or edit the account ID attribute before aggregating accounts.
To resolve issues caused by changing account IDs, reconfigure them to their default values.
The following table lists the default account IDs for this connector:
| Account ID | Schema Object Type |
|---|---|
| id | Account |
Default Account Attributes
The Terraform connector supports the following default account schema attributes and customer configurable attributes. The attributes must be defined as strings if not specified.
| Attribute Name | Description |
|---|---|
| two_factor.enabled | Indicates if two-factor authentication is enabled |
| unconfirmed_email | Unconfirmed email address pending verification |
| two_factor.verified | Indicates if two-factor authentication is verified |
| is_service_account | Indicates if the account is a service account |
| id | Unique identifier for the Terraform user |
| type | Type of the Terraform resource object |
| Email address of the Terraform user | |
| username | Username for the Terraform user account |
| relationships.teams.id | Team ID linked to member |
| enterprise_support | True if the user has enterprise support |
| is_admin | True if the user is an admin |
| is_site_admin | True if the user is a site admin |
| is_sso_login | True if the user uses SSO |
| is_unified | True if the account is unified |
| has_git_hub_app_token | True if GitHub App is linked |
| is_confirmed | True if the account is verified |
| is_sudo | True if the user has sudo rights |
| auth_method | Authentication method (e.g., hcp_username_password) |
| has_linked_hcp | True if linked to an HCP account |
| permissions.can_create_organizations | Indicates if the user can create organizations |
| permissions.can_view_settings | Indicates if the user can view settings |
| permissions.can_change_email | Indicates if the user can change email |
| permissions.can_change_username | Indicates if the user can change username |
| permissions.can_change_password | Indicates if the user can change password |
| permissions.can_manage_sessions | Indicates if the user can manage sessions |
| permissions.can_manage_sso_identities | Indicates if the user can manage SSO identities |
| permissions.can_manage_user_tokens | Indicates if the user can manage user tokens |
| permissions.can_update_user | Indicates if the user can update user |
| permissions.can_reenable_2fa_by_unlinking | Indicates if the user can re-enable 2FA by unlinking |
| permissions.can_manage_hcp_account | Indicates if the user can manage HCP account |
| membership-id | Unique organization membership ID |
| status | Membership status (e.g., active, invited) |
| created_at | Timestamp when membership was created |
| relationships.organization.id | Organization ID |
| is_org_two_factor_required | Indicates whether org 2FA is required for the user |
| permissions.can_view_profile | Indicates if the user can view profile |
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 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 Terraform connector also supports groups. The following attributes must be configured on the managed system and in the SailPoint source schema to manage groups.
| Attribute Name | Description |
|---|---|
| id | Unique team ID |
| name | Team name |
| type | Resource type (“teams”) |
| users_count | Number of users in the team |
| sso_team_id | Linked SSO team ID (if any) |
| visibility | Team visibility level (e.g., secret) |
| allow_member_token_management | Whether team members can manage their own tokens |
| permissions.can_update_membership | Indicates if the group can manage team members |
| permissions.can_destroy | Indicates if the group can delete a team |
| permissions.can_update_organization_access | Indicates if the group can edit organization-level access |
| permissions.can_update_api_token | Indicates if the group can manage API tokens |
| permissions.can_update_visibility | Indicates if the group can change team visibility |
| permissions.can_update_name | Indicates if the group can rename a team |
| permissions.can_update_sso_team_id | Indicates if the group can change the SSO team link |
| permissions.can_update_member_token_management | Indicates if the group can toggle member token rights |
| permissions.can_view_api_token | Indicates if the group can view team API tokens |
| organization_access.manage_policies | Indicates if the group can manage policies |
| organization_access.manage_workspaces | Indicates if the group can manage workspaces |
| organization_access.manage_vcs_settings | Indicates if the group can manage VCS settings |
| organization_access.manage_policy_overrides | Indicates if the group can manage policy overrides |
| organization_access.manage_modules | Indicates if the group can manage private modules |
| organization_access.manage_providers | Indicates if the group can manage private providers |
| organization_access.manage_run_tasks | Indicates if the group can manage run tasks |
| organization_access.manage_projects | Indicates if the group can manage projects |
| organization_access.manage_membership | Indicates if the group can manage organization members |
| organization_access.manage_teams | Indicates if the group can manage teams |
| organization_access.manage_organization_access | Indicates if the group can manage organization access |
| organization_access.access_secret_teams | Indicates if the group can view secret teams |
| organization_access.read_projects | Indicates if the group can view projects |
| organization_access.read_workspaces | Indicates if the group can view workspaces |
| organization_access.manage_agent_pools | Indicates if the group can manage agent pools |
| organization_access.manage_public_providers | Indicates if the group can manage public providers |
| organization_access.manage_public_modules | Indicates if the group can manage public modules |
| relationships.organization.id | Terraform Organization ID |