Skip to main content

Jamf Pro

Jamf Pro is a device management tool primarily used in the Apple ecosystem that remotely connects, manages, and protects Apple users, devices and services. You can bring computer, mobile device, person, and software data from Jamf Pro into Brinqa to construct a unified view of your attack surface and strengthen your cybersecurity posture.

This document details the information you must provide for the connector to authenticate with Jamf Pro and how to obtain that information from Jamf. See create a data integration for step-by-step instructions on setting up the integration.

Required connection settings

When setting up a data integration, select Jamf Pro from the Connector drop-down. If you cannot find the connector in the drop-down, make sure that you have installed it first. You must provide the following information to authenticate Jamf with Brinqa:

  • Server URL: The Jamf Server URL. The URL format is https://jamf.[instance].com.

  • Username and Password: The username and password associated with the Jamf user, which must have permissions to log in to the API server and return data.

Create a Jamf user

The Jamf user must have read access to computers and mobile devices in order to retrieve data. To ensure the user account that the Jamf connector uses to access the Jamf Pro server has the appropriate permissions, follow these steps:

  1. Log in to your organization's Jamf Pro server as an administrator.

  2. Navigate to Management Settings > System > User accounts & groups.

  3. Click New.

  4. Select Create Standard Account and click Next.

  5. Give the new user a user name.

  6. For the Privilege Set, select Custom.

  7. Under Access Status, select Enabled.

  8. Enter the user details, including full name, email address, and password.

  9. Click the Privileges tab.

  10. Under Jamf Pro Server Objects, locate Computers and Mobile Devices, and select Read for both objects.

  11. Click Save.

note

The above steps describe the minimum requirements for the Jamf connector to work properly. For additional information on Jamf access and privileges, see Jamf Product Documentation on user account and groups.

Additional settings

The Jamf Pro connector contains additional options for specific configuration:

  • Page size: The maximum number of records to get per API request. The default setting is 100. It is not recommended to go over 100.

  • Parallel requests: The maximum number of parallel API requests. The default setting is 8.

  • Skip certificate verification: Select this option to allow for untrusted certificates.

Types of data to retrieve

The Jamf Pro connector can retrieve the following types of data from the Jamf Pro API:

Table 1: Data retrieved from Jamf Pro

Connector ObjectRequiredMaps to Data Model
ComputerYesHost
Installed SoftwareYesInstalled package
Mobile DeviceYesDevice
PersonYesPerson
SoftwareYesPackage
info

The Jamf Pro connector does not currently support operation options for the types of data it retrieves.

For detailed steps on how to view the data retrieved from Jamf Pro in the Brinqa Platform, see How to view your data.

Attribute mappings

Expand the sections below to view the mappings between the source and the Brinqa data model attributes.

Computer

Table 2: Computer attribute mappings

Source Field NameMaps to Attribute
categoriescategories
computer.uiduid
computer.idLocal variable (jamfId)
configurationProfiles.displayNameLocal variable (profiles)
general.assetTagLocal variable (assetTag)
general.declarativeDeviceManagementEnabledLocal variable (declarativeDeviceManagementEnabled)
general.enrolledViaAutomatedDeviceEnrollmentLocal variable (enrolledViaAutomatedDeviceEnrollment)
general.enrollmentMethodLocal variable (enrollmentMethod)
general.extensionAttributes.extensionAttributeAsStringLocal variable (extensionAttributes)
general.itunesStoreAccountActiveLocal variable (itunesStoreAccountActive)
general.jamfBinaryVersionLocal variable (jamfBinaryVersion)
general.lastContactTimelastSeen
general.lastEnrolledDateLocal variable (lastEnrolled)
general.lastReportedIpipAddresses, publicIpAddresses, privateIpAddresses
general.mdmCapable.capableLocal variable (mdmCapable)
general.mdmCapable.capableUsersLocal variable (mdmCapableUsers)
general.mdmProfileExpirationLocal variable (mdmProfileExpirationDate)
general.namehostnames, name
general.remoteManagement.managementUsernameLocal variable (managed)
general.reportDateLocal variable (lastReported)
general.site.nameLocal variable (site)
general.supervisedLocal variable (supervised)
general.userApprovedMdmLocal variable (userApprovedMdm)
hardware.altMacAddressmacAddresses
hardware.macAddressmacAddresses
hardware.makeLocal variable (make)
hardware.modeldescription
hardware.modelIdentifierLocal variable (modelIdentifier)
hardware.serialNumberserialNumber, name
operatingSystem.activeDirectoryStatusLocal variable (activeDirectoryStatus)
operatingSystem.displayNameoperatingSystem, description
platformLocal variable (platform)
security.activationLockEnabledLocal variable (activationLockEnabled)
security.autoLoginDisabledLocal variable (autoLoginDisabled)
security.externalBootLevelLocal variable (externalBootLevel)
security.firewallEnabledLocal variable (firewallEnabled)
security.recoveryLockEnabledLocal variable (recoveryLockEnabled)
security.secureBootLevelLocal variable (secureBootLevel)
security.sipStatusLocal variable (systemIntegrityProtection)
statusstatus
userAndLocation.emailLocal variable (ownerEmail)
userAndLocation.roomLocal variable (room)
userAndLocation.usernameowner
Installed Software

Table 3: Installed Software attribute mappings

Source Field NameMaps to Attribute

| app.path | installPath | | application.bundleId | Local variable | | application.externalVersionId | Local variable | | application.macAppStore | Local variable | | application.sizeMegabytes | Local variable | | application.updateAvailable | Local variable | | computer.application.id | uid | | computer.uid | targets | | type | type |

Mobile Device

Table 4: Mobile Device attribute mappings

Source Field NameMaps to Attribute
categoriescategories
mobileDevice.idLocal variable (jamfId)
mobileDevice.modeldescription, model, name
mobileDevice.modelIdentifierdescription, name, Local variable (modelIdentifier)
mobileDevice.namedescription, name
mobileDevice.phoneNumberLocal variable (phoneNumber)
mobileDevice.serialNumberserialNumber, name
mobileDevice.udidname, Local variable (udid)
mobileDevice.usernameowner
mobileDevice.uiduid
mobileDevice.typedescription
nowlastCaptured
statusstatus
Person

Table 5: Person attribute mappings

Source Field NameMaps to Attribute
categoriescategories
computer.userAndLocation.usernameuid
userAndLocation.emailemail
userAndLocation.realNamename
userAndLocation.usernameusername
Software

Table 6: Software attribute mappings

Source Field NameMaps to Attribute
application.bundleIdLocal variable
application.externalVersionIdLocal variable
application.macAppStoreLocal variable
application.namename
application.sizeMegabytesLocal variable
application.updateAvailableLocal variable
application.versionrevision
application.descriptiondescription
application.publisherpublisher
typeuid
note

Local variable indicates that the field is processed within a specific context, such as a particular workflow or calculation. Unlike other attributes, local variables aren't mapped to the unified data models. They only exist on the source data model.

APIs

The Jamf Pro connector uses the Jamf Pro API v1 and v2. Specifically, it uses the following endpoints:

Table 7: Jamf Pro API Endpoints

Connector ObjectAPI Endpoints
ComputerGET api/v1/computers-inventory
Installed SoftwareGET api/v1/computers-inventory
Mobile DeviceGET api/v2/mobile-devices
PersonGET api/v1/computers-inventory
SoftwareGET api/v1/computers-inventory

Changelog

The Jamf Pro connector has undergone the following changes:

3.0.9

3.0.8

  • Fixed an issue where the Jamf Pro connector was failing to sync the Software object due to an array out-of-bounds exception.

3.0.7

  • Added the following attributes to the Computer object:

    • EXTENSION_ATTRIBUTES
    • OWNER_EMAIL
    • PROFILES
    • ROOM

3.0.6

  • Fixed an issue where certain attributes in the Computer object were parsed as a string rather than a boolean.

  • Fixed an issue where the Installed Software and Software syncs were failing.

3.0.5

  • Normalized the NAME attribute in the Computer object.

3.0.4

  • Added two connector objects, Software and Installed Software.

3.0.3

  • Normalized the MAC_ADDRESS attribute in the Computer object.

3.0.1