|
| 1 | +--- |
| 2 | +updated_at: October 21, 2025 |
| 3 | +title: Connect Google Workspace to Smallstep |
| 4 | +html_title: Integrate Google Workspace with Smallstep Tutorial |
| 5 | +description: Integrate Google Workspace with Smallstep for Chromebook device security. Complete guide for enforcing device trust in ChromeOS environments. |
| 6 | +--- |
| 7 | + |
| 8 | +Smallstep can integrate with Google Workspace to keep your ChromeOS device inventory in sync. |
| 9 | + |
| 10 | +# Prerequisites |
| 11 | + |
| 12 | +You will need: |
| 13 | + |
| 14 | +- A [Smallstep team](https://smallstep.com/signup) |
| 15 | +- A Google Workspace tenant, with ability to manage domain-wide delegation |
| 16 | +- A Google Cloud project, with ability to create service accounts and keys |
| 17 | + |
| 18 | +# Step-by-step instructions |
| 19 | + |
| 20 | +In Google Cloud Console, select a project you will use for Smallstep. This can be any project, as long as you can grant domain-wide delegation to the client in a future step. |
| 21 | + |
| 22 | +Your Google Cloud project must have the Admin SDK API enabled. By default, it is disabled. |
| 23 | + |
| 24 | +### 0. Enable Admin SDK API |
| 25 | + |
| 26 | +1. Go to [Admin SDK API](https://console.cloud.google.com/apis/api/admin.googleapis.com) for your project, and choose **Enable API** |
| 27 | + |
| 28 | +### 1. Create a Service Account for Smallstep |
| 29 | + |
| 30 | +1. In Google Cloud, visit [IAM & Admin → Service Accounts](https://console.cloud.google.com/iam-admin/serviceaccounts) |
| 31 | +2. Choose **Create service account** |
| 32 | +3. Set a **Service account name**, e.g. `Smallstep Google Workplace Sync` |
| 33 | +4. Optionally, provide a **Description** for the account |
| 34 | +5. Choose **Done** |
| 35 | +6. Open the details for the Service Account you just created |
| 36 | +7. Copy the **Unique ID** (numeric) and the **Email** shown on the details tab; you’ll need them later |
| 37 | +8. Visit the **Keys** tab, and choose **Add key**, then **Create new key** |
| 38 | +9. Choose **Create** to create a JSON key |
| 39 | + |
| 40 | +A file containing the service account key will be downloaded. Keep this safe and secure! |
| 41 | + |
| 42 | +### 2. Grant device directory API permissions |
| 43 | + |
| 44 | +1. In Google Admin, visit [Security → Access and data control → API controls](https://admin.google.com/ac/owl) |
| 45 | +2. Under Domain wide delegation, select **Manage Domain Wide Delegation** |
| 46 | +3. In the **API Clients** table, select **Add new** |
| 47 | + 1. Enter the **Unique ID** of the service account from Step 1 |
| 48 | + 2. For the **OAuth Scopes**, enter the following scope: |
| 49 | + |
| 50 | + ``` |
| 51 | + https://www.googleapis.com/auth/admin.directory.device.chromeos |
| 52 | + ``` |
| 53 | + |
| 54 | + 3. Choose **Authorize** |
| 55 | + |
| 56 | +### 3. Add Google Workspace to Smallstep |
| 57 | + |
| 58 | +In Smallstep, visit [Settings → Device Management](https://smallstep.com/app/?next=/settings/devices). |
| 59 | + |
| 60 | +Configure a new Google Workspace Integration with the following values: |
| 61 | + |
| 62 | +- The **Customer ID** of your Google Workspace tenant. The Customer ID is a short alphanumeric string. It can be obtained from the Google Workspace Admin [Account Settings](https://admin.google.com/ac/accountsettings/profile) page |
| 63 | +- The **Service Account JSON key** you downloaded earlier |
| 64 | +- An email address of a user in your Google Workspace directory with admin permissions |
| 65 | + |
| 66 | +### 4. Add Smallstep Certificates to Google Workspace |
| 67 | + |
| 68 | +After saving the Google Workspace connection, you will see settings for your integration. |
| 69 | + |
| 70 | +1. Download the following Authority Certificates: |
| 71 | + - Smallstep Devices Root CA |
| 72 | + - Smallstep Devices Intermediate CA |
| 73 | + - Smallstep Agents Root CA |
| 74 | + - Smallstep Agents Intermediate CA |
| 75 | + |
| 76 | +2. In Google Workspace, visit [Devices → Networks → Certificates](https://admin.google.com/ac/networks/certificates). |
| 77 | +3. Choose an Organizational Unit, if desired |
| 78 | +4. Choose **Add certificate** |
| 79 | + |
| 80 | + In the modal, configure the following: |
| 81 | + |
| 82 | + - Provide a descriptive name, e.g. `Smallstep Devices Root` |
| 83 | + - Upload the PEM file for the Smallstep Devices Root CA |
| 84 | + - Check ✅ **Enabled for Chromebook** |
| 85 | + - Choose **Add** |
| 86 | +5. Repeat Step 4 for each of the certificates you downloaded |
| 87 | + |
| 88 | +### Confirmation |
| 89 | + |
| 90 | +Within a few minutes, you should see all of your ChromeOS devices in Smallstep's [Devices](https://smallstep.com/app/?next=/devices/all) tab. |
| 91 | +A full sync is performed every 8 hours, and a partial sync every hour. |
| 92 | + |
0 commit comments