You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: tutorials/connect-jamf-pro-to-smallstep.mdx
+65-17Lines changed: 65 additions & 17 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,5 +1,5 @@
1
1
---
2
-
updated_at: July 07, 2025
2
+
updated_at: August 21, 2025
3
3
title: Connect Jamf Pro to Smallstep
4
4
html_title: Connect Jamf Pro to Smallstep
5
5
description: Configure Jamf Pro to deploy the Smallstep Agent and distribute certificates and configuration to Mac clients.
@@ -9,7 +9,7 @@ Smallstep can integrate with Jamf Pro to synchronize your device inventory, and
9
9
10
10
This document also contains [uninstall instructions](#uninstall-smallstep-agent-with-jamf-pro).
11
11
12
-
# Requirements & Limitations
12
+
##Requirements & Limitations
13
13
14
14
You will need:
15
15
@@ -35,9 +35,9 @@ Limitations:
35
35
- For VPN configurations, only IPSec VPNs are currently supported.
36
36
- “Always-on VPN” or device-wide VPNs are not yet supported in Smallstep-managed configurations.
37
37
38
-
# Step-by-step instructions
38
+
##Step-by-step instructions
39
39
40
-
###Create an API Client in Jamf Pro
40
+
## Create an API Client in Jamf Pro
41
41
42
42
This API client will allow Smallstep to read your Jamf device inventory and manage the webhooks necessary for ongoing inventory syncing.
43
43
@@ -59,19 +59,19 @@ This API client will allow Smallstep to read your Jamf device inventory and mana
59
59
5. Choose **Generate client secret**
60
60
6. Temporarily save the **Client ID** and **Client Secret**. You’ll use them in the next step.
61
61
62
-
###Connect Jamf to Smallstep
62
+
## Connect Jamf Pro to Smallstep
63
63
64
-
Let’s add the Jamf API credentials you just created to Smallstep.
64
+
Let’s add the Jamf Pro API credentials you just created to Smallstep.
65
65
66
66
1. In the Smallstep UI, go to the [**Device Management**](https://smallstep.com/app/?next=/settings/devices) tab in ⛭ **Settings**
67
67
2. Under Jamf, choose ➕ **Connect**
68
68
3. Enter the API credentials from Jamf
69
69
4. Choose **Add Platform**. Your device inventory will start syncing from Jamf to Smallstep.
70
70
5. Temporarily save the **Webhook URL**, **Username**, and **Password** presented.
71
71
72
-
###Configure a SCEP Enrollment webhook in Jamf Pro
72
+
## Configure a SCEP Enrollment webhook in Jamf Pro
73
73
74
-
For compatibility reasons, Smallstep may use ACME or SCEP for certificate enrollment. The SCEP Enrollment webhook allows Jamf to request a dynamic, short-lived challenge string from Smallstep during a SCEP request. The challenge string is injected into a[SCEP payload](https://developer.apple.com/documentation/devicemanagement/scep) for your clients to authenticate to Smallstep.
74
+
For compatibility reasons, Smallstep may use ACME or SCEP for certificate enrollment. The SCEP Enrollment webhook allows Jamf to request a dynamic, short-lived challenge string from Smallstep during the SCEP request. The challenge string is injected into the[SCEP payload](https://developer.apple.com/documentation/devicemanagement/scep) for your clients to authenticate to Smallstep.
75
75
76
76
1. In Jamf Pro, choose ⚙️ **Settings**
77
77
2. Under the **Global** tab, Choose **Webhooks**
@@ -86,9 +86,18 @@ For compatibility reasons, Smallstep may use ACME or SCEP for certificate enroll
86
86
5. Webhook Event: SCEPChallenge
87
87
4. Choose **Save**
88
88
89
-
### Create an Agent Package for Distribution
89
+
Your Smallstep team is now linked to Jamf Pro. Smallstep will do a partial sync of your device inventory from Jamf every hour, and a full sync every 8 hours.
90
90
91
-
In this step, you’ll upload the Smallstep agent package to Jamf’s distribution network.
91
+
## Install the Smallstep agent
92
+
93
+
There's two ways to install the agent: Using Jamf Pro, or using a separate software management tool.
94
+
For example, [Munki](https://www.munki.org/munki/) is a popular option for managing macOS apps in a large IT organization.
95
+
96
+
### Option 1: Install the agent via Jamf
97
+
98
+
#### Create an Agent Package for Distribution
99
+
100
+
In this step, you’ll upload the Smallstep agent package to Jamf Pro’s software distribution network.
92
101
93
102
1. Download the latest package from [packages.smallstep.com](https://packages.smallstep.com/stable/darwin/step-agent-plugin_latest.pkg)
94
103
2. In Jamf Pro, choose ⚙️ **Settings**
@@ -98,7 +107,7 @@ In this step, you’ll upload the Smallstep agent package to Jamf’s distributi
98
107
2. Filename: (upload from step #1)
99
108
5. Choose **Save**
100
109
101
-
### Create an Agent Bootstrap Script
110
+
####Create an Agent Bootstrap Script
102
111
103
112
This step will install a script on your client devices that bootstraps the connection between your devices and Smallstep.
104
113
@@ -117,7 +126,7 @@ This step will install a script on your client devices that bootstraps the conne
117
126
118
127
4. Choose **Save**
119
128
120
-
### Create an Agent Installation Policy
129
+
####Create an Agent Installation Policy
121
130
122
131
Next, we’ll configure the Script we just created to run on your client devices.
123
132
@@ -140,7 +149,7 @@ Next, we’ll configure the Script we just created to run on your client devices
140
149
4. Under Scope, select your desired policy scope. The agent will be installed on all devices in this scope.
141
150
4. Choose **Save**
142
151
143
-
### Configure an Agent Enrollment Profile
152
+
####Configure an Agent Enrollment Profile
144
153
145
154
In this step, we’ll tie everything together by creating a managed policy to enroll devices using the Smallstep Agent.
146
155
@@ -210,18 +219,57 @@ In this step, we’ll tie everything together by creating a managed policy to en
210
219
2. Set the desired scope. This should mirror the scope you chose when creating the Policy in step 5.
211
220
3. Choose Save
212
221
213
-
Your Smallstep team is now linked to Jamf. Smallstep will do a partial sync of your device inventory from Jamf every hour, and a full sync every 8 hours.
214
-
215
222
The devices that you scoped will receive a certificate and have the agent installed and running.
216
223
217
-
### Confirmation
224
+
### Option 2: Install via a software management tool
225
+
226
+
If you're using a software management tool:
227
+
228
+
1. Download the latest package from [packages.smallstep.com](https://packages.smallstep.com/stable/darwin/step-agent-plugin_latest.pkg)
229
+
2. Distribute and install the package on your desired endpoints
230
+
3. Create a user launch agent file on the endpoint, in `/Users/<USER>/Library/LaunchAgents/com.smallstep.launchd.Agent.plist` for the primary user of the device.
231
+
232
+
The Smallstep agent does not yet support multi-user deployments on macOS—it must be installed for a single user:
233
+
234
+
```
235
+
<?xml version="1.0" encoding="UTF-8"?>
236
+
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
There's two ways to confirm installation on an endpoint:
267
+
220
268
- In the Smallstep UI, go to the device's profile page. In the **Device Registration** section, you'll see an **Enrolled At** timestamp.
221
269
- Alternatively, on the device itself, run `/Applications/SmallstepAgent/Contents/MacOS/SmallstepAgent version` to see that the agent is installed. And, in **System Settings**, check **Login Items** to confirm that there is a **Smallstep Agent** entry.
222
270
223
271
224
-
# Uninstall Smallstep Agent with Jamf Pro
272
+
##Uninstall Smallstep Agent with Jamf Pro
225
273
226
274
You can easily remove a Smallstep Agent that was installed on macOS endpoints via Jamf Pro.
0 commit comments