Skip to content

Commit 6f5f20e

Browse files
committed
add enrollment guide
1 parent 030c6b2 commit 6f5f20e

File tree

2 files changed

+96
-0
lines changed

2 files changed

+96
-0
lines changed

manifest.json

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -40,6 +40,10 @@
4040
{
4141
"title": "Add Devices to Smallstep",
4242
"routes": [
43+
{
44+
"title": "Device Enrollment Guide",
45+
"path": "/platform/enrollment-guide.mdx"
46+
},
4347
{
4448
"title": "Deploy to Linux",
4549
"path": "/platform/smallstep-agent.mdx"

platform/enrollment-guide.mdx

Lines changed: 92 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,92 @@
1+
---
2+
title: Device Enrollment Guide
3+
html_title: How to add devices to Smallstep
4+
description: There are several ways to add your devices to Smallstep. In this guide, we talk through the options.
5+
---
6+
7+
In this guide,
8+
we'll talk about different approaches you can take
9+
as you build yout device inventory in Smallstep.
10+
11+
It's worth restating the overall goal of this process:
12+
To build a high-assurance device inventory,
13+
so that only your organization's devices
14+
can access protected resources.
15+
16+
While a lot of organizations
17+
have device inventories in various locations
18+
(IT Asset Management systems, device management platforms, etc),
19+
these are not usually high-assurance inventories.
20+
Smallstep uses hardware identifiers
21+
and device attestation
22+
to help you develop a high-assurance inventory
23+
that can be the foundation for device authentication.
24+
25+
There's a few ways to bring devices into your Smallstep inventory:
26+
27+
### Self-enrollment
28+
29+
You can [manually invite users
30+
to join your Smallstep team](https://smallstep.com/app/?next=/users/invite),
31+
and they will be able to self-enroll devices
32+
using the [Smallstep Desktop App](./smallstep-app.mdx)
33+
or the [Smallstep Agent for Linux](./smallstep-agent.mdx).
34+
35+
As the administrator,
36+
by default,
37+
you must approve each new device
38+
before it can access any of your resources.
39+
You can change this in [Team Settings](https://smallstep.com/app/?next=/settings/team).
40+
41+
### Connect Smallstep to your identity provider
42+
43+
This option requires IdP self-enrollment in [Team Settings](https://smallstep.com/app/?next=/settings/team) to be enabled.
44+
It is disabled by default.
45+
46+
When you connect Smallstep to your identity provider,
47+
your users will be able to self-enroll
48+
via single sign-on,
49+
using the [Smallstep Desktop App](./smallstep-app.mdx)
50+
or the [Smallstep Agent for Linux](./smallstep-agent.mdx).
51+
52+
As the administrator,
53+
by default,
54+
you must approve each new device
55+
before it can access any of your resources.
56+
You can change this in [Team Settings](https://smallstep.com/app/?next=/settings/team).
57+
58+
### Sync Smallstep to an MDM
59+
60+
You can sync your existing MDM inventories into Smallstep.
61+
Once an MDM is synced,
62+
you can deploy the Smallstep Agent to your endpoints
63+
to enable high-assurance protections.
64+
65+
Devices synced from an MDM inventory do not require manual approval.
66+
But, they will not be marked as high-assurance until Smallstep receives an attestation from the device.
67+
68+
For a concrete example,
69+
see [Connect Jamf Pro to Smallstep](../tutorials/connect-jamf-pro-to-smallstep.mdx)
70+
71+
72+
### Add devices via API
73+
74+
You can import devices from any source into Smallstep using our API.
75+
76+
Devices added via API do not require manual approval.
77+
But, they will not be marked as high-assurance until Smallstep receives an attestation from the device.
78+
79+
#### Example: I have a list of device identifiers
80+
81+
For each device, use the [Save Collection Instance](https://gateway.smallstep.com/v2023-11-01/operations/PutCollectionInstance) endpoint to create a device.
82+
- For the `collectionSlug`, use `default`
83+
- For Apple devices, the `instanceID` must be the device's serial number.
84+
- For TPM 2.0 devices, the `instanceID` must be the TPM Endorsement Key URI, in the format `urn:ek:sha256:ul3sYf6uQ6jVEXAMPLEXoAuHI10U8gTvEJ6bMj95LXI=`. (You can retrieve the EK URI by running `step agent tpm --fingerprint` on the device.)
85+
86+
For the body of the request, use the following value, replacing `[email protected]` with the device owner's email address:
87+
88+
```
89+
{ "data": { "smallstep:identity": "[email protected]" } }
90+
```
91+
92+
Once added, you'll see the device in your Smallstep dashboard, under Recent Devices, and it will be automatically approved.

0 commit comments

Comments
 (0)