# SailPoint StackHawk Connector Documentation > StackHawk Connector Documentation # Documentation # Connecting SailPoint and StackHawk To connect SailPoint to the source, perform the following tasks: ## Adding and Configuring 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. 1. Go to **Admin \> Connections \> Sources**. 2. Select **Create New**. 3. Search for a source type and select **Actions**. 4. In the **Actions** dropdown, select the setup method: - **Express Setup** - Quickly create a read-only connection to your target system by providing minimal configurations and authentication. On completion, aggregation is automatically started. > **Note** > > Express Setup supports Credential Providers. For information on supported credential providers and configuration, refer to [Credential Providers](). For more information, contact your SailPoint Customer Service Manager. - **Standard Setup** - Provide detailed basic configuration to create the source. Once the source is created, continue with source setup. ### Express Setup 1. Review the directions and select **Start Express Setup**. 2. Review the pre-populated source name, source owner, and description. To update, select **Edit**. > **Note** > > Source name must be unique. 3. (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 in SailPoint, go to **Admin \> Connections \> Credential Providers**. For more information about credential providers, refer to [Credential Providers](). 4. Configure the authentication to allow SailPoint to connect to the source. For more information, refer to the **Connection Settings** page. 5. Select **Finish**. After a successful test connection, the system creates your source and prompts you to run an aggregation. - If you want to aggregate now, select **Aggregate**. - To see the latest account aggregation history, go to **Account Management \> Account Aggregation**. - To see the list of aggregated source accounts, go to **Account Management \> Accounts**. - If you want to aggregate later, select **Exit**. This returns you to the **Sources** page. Your new source is listed, but contains no accounts or aggregation history yet. ### Standard Setup Configure more detailed settings relative to Express Setup. 1. In the **Source Name** field, enter a unique and descriptive name for your source. Source names cannot exceed 128 characters. 2. 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. 3. 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](). 4. (Optional) Select a governance group to grant its members [source]() or [role]() sub-admin level oversight of the source and its access. For more information, refer to [Creating and Managing Governance Groups](). 5. 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](). 6. Select **Continue**. The source is created, and you are navigated to the **Source Setup \> Base Configuration** page. Here, continue to configure your connected source. ## 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 descriptive **Source Name** for the connection. 2. Enter the **Source Description** that provides details necessary to distinguish it from similar connection sources. 3. In **Source Owner**, begin typing the name of the source owner. 4. (Optional) Select the appropriate **Governance Group for Source Management** from the dropdown list. For more information about governance groups, refer to [Associating Governance Groups with a Source](). 5. Select **Create Manual Work Items** to enable the source to support additional source management features such as creating accounts and access profile management. > **Important** > > Once you enable this feature, it can't be disabled. For more information on manual work items, refer to [Work Items](). For more information on SailPoint features, refer to [SailPoint Identity Services](). 6. Select **Save**. ## Connection Settings Configure a secured, direct connection to the source. 1. Enter the StackHawk API base endpoint as **Base URL**. For example, `https://api.stackhawk.com`. 2. Enter the API Key generated page as **API Token**. 3. Enter the UUID of your StackHawk Organization as **Organization Id**. 4. 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]() in the SailPoint SaaS documentation. # Integrating SailPoint with StackHawk StackHawk is a cloud-based dynamic application security testing (DAST) platform for organizations that need to find and fix security bugs in their applications and APIs before they reach production. It combines the HawkScan scanner, CI/CD-integrated scanning, findings triage, scan policy management, and organization/team-based access control into a single platform, providing visibility into scan results and findings across every application a team owns. This document provides instructions to configure a new direct connection to a StackHawk source. For a reference to the terminology specific to SailPoint products, refer to [Source and Connector Definitions](). > [!NOTE] > > To view the latest features, enhancements, and fixes for all SaaS connectors, refer to the [SaaS Release Notes]() page. ## Supported Features The StackHawk connector supports the following: ### Account Management - Aggregate Members ### Entitlement Management - Aggregate Role > [!NOTE] > > User role is captured as part of account aggregation (embedded within the member record via the `role` attribute), so a separate entitlement aggregation is not required. > [!IMPORTANT] > > Quick Compliance connectors have the following manual aggregation limits within a 24-hour period: > > - **Organization Admins**: Limited to 3 manual account or entitlement aggregations per day per source. This limit is cumulative across all admins in the organization. > - **Regular Users**: Limited to 1 manual account or entitlement aggregation 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. ## Prerequisites Before you configure the StackHawk connector, ensure the following requirements are met: 1. Confirm your StackHawk Organization belongs to a plan with **API Access** enabled. If it is not enabled, contact StackHawk support. 2. Sign in to [StackHawk]() with a user account that has the permission to read your organization's members (see **Required Permissions**). 3. Go to **Settings \> API Key**. 4. Select **Create New API Key**, give the key a descriptive name, and confirm creation. 5. Copy the generated **API Key** immediately and store it securely. StackHawk displays the full key only once. If the key is lost, create a replacement from the same page. 6. StackHawk also documents an in-product location under **Settings \> Organization Details**, but that is a tab not visible in free trial. Retrieve your **Organization Id** using the StackHawk API Docs **Try It!** flow in the next section. 7. Copy and securely store the following details, which are required during connector configuration: - **Base URL** - `https://api.stackhawk.com` - **API Token** (the StackHawk API Key, sent in the `X-ApiKey` header) - **Organization Id** (the UUID of your StackHawk Organization) > [!NOTE] > > - A StackHawk API Key is personal. It is issued to and owned by a specific user, and requests made with it are associated with that calling user. API resources are only accessible to the applications and organizations that user belongs to and is permissioned to access. Offboarding or removing that user will break any integration using their key, so create the connector's key under a dedicated service/role-based user account where possible. > - StackHawk Service Keys are organization-owned rather than user-owned, but they are created with the **Scan Only** role, which cannot manage or read users. Service Keys are therefore not usable for this connector; a personal API Key owned by a suitably permissioned user is required. > - The API Key is exchanged for an access token. Access tokens are RFC-7519 JWTs and expire after 30 minutes. The connector performs this exchange through its Custom Authentication endpoint on each session. For more detailed information on obtaining an API Key and access token, refer to the official StackHawk documentation: [StackHawk API documentation]() and [API authentication login](). ## Required Permissions ### Typical Roles That Can Generate Tokens StackHawk's organization roles are Owner, Admin, Team Admin, Member, and View Only. The API Key is created by an individual user from their own **Settings \> API Keys** page, and the key inherits that user's role permissions, so what matters is not who can create a key, but whether that user's role grants the permissions the connector's endpoints require. The connector's endpoints require the following StackHawk API permissions: - `read:member` - `read:profile` - **View Only** - Recommended minimum. View Only is StackHawk's read-only auditor role: it can view organization members, teams, and role assignments across all teams, and can create and manage API keys, with those keys inheriting the read-only View Only permission set. This matches the connector's read-only behaviour with least privilege. - **Owner/Admin** - Both have broad organization-wide access and can read organization members. Use these only if the View Only role is unavailable on your plan, as they grant far more access than the connector needs. - **Team Admin/Member** - Not recommended. These roles are team-scoped and cannot access organization settings; StackHawk does not publish a role-to-permission matrix confirming whether they hold `read:member` for the whole organization. ## Retrieving the Organization ID Using the StackHawk API Docs Use the **Try It!** panel in the StackHawk API Docs. This is the recommended way to obtain the Organization Id, because it does not depend on a Settings UI tab being present: 1. Open the [Login with API Key]() reference page. 2. In the right-hand request panel, enter your StackHawk API Key in the `X-ApiKey` header field. 3. Select **Try It!**. A `200` response is returned containing a single field, `token` - this is your bearer access token. Copy its value. 4. Open the [Get the current user]() reference page. 5. Supply the copied token as the bearer credential for the request (header `Authorization: Bearer `), then select **Try It!**. 6. In the `200` response, read the value at `user.external.organizations[].organization.id` - this is the UUID identifier of your StackHawk Organization. The organization name is alongside it at `user.external.organizations[].organization.name`, which is useful when you belong to more than one organization. 7. Paste that UUID into the connector's **Organization Id** field. > [!NOTE] > > The token returned by `/api/v1/auth/login` expires after 30 minutes. If a **Try It!** request returns `401 Unauthorized`, repeat the login step to obtain a fresh token. StackHawk recommends using `/login` only when starting a new access session and `/refresh` to extend an existing one. > [!NOTE] > > The linked document is not maintained by SailPoint and is subject to change without notice. # 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](<#default-account-schema>) must be defined as strings if not specified. The StackHawk 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 StackHawk 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 | | --- | --- | | id | The UUID identifier of this user, used as the account identity attribute | | email | User's email address, used for account correlation | | fullName | User's full name | | role | The organization role associated with the user within the organization | | organization\_id | The UUID identifier of this the organization | | organization\_name | The name of this the organization |