-
Notifications
You must be signed in to change notification settings - Fork 47
Google Workspace setup guide #441
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Merged
Merged
Changes from 5 commits
Commits
Show all changes
8 commits
Select commit
Hold shift + click to select a range
911561d
Google Workspace tutorial
tashian 965363e
Google Workspace wi-fi setup guide
tashian 205b4b4
Adjust ACME security description based on Herman's feedback
tashian 90f9da8
Small fixes
tashian 8ed3c64
Remove Google Workspace SCEP doc
tashian f822990
Update tutorials/connect-google-workspace-to-smallstep.mdx
tashian 20337ed
Update manifest.json
tashian 7f766fd
Apply suggestion from @tashian
tashian File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,92 @@ | ||
| --- | ||
| updated_at: October 21, 2025 | ||
| title: Connect Google Workspace to Smallstep | ||
| html_title: Integrate Google Workspace with Smallstep Tutorial | ||
| description: Integrate Google Workspace with Smallstep for Chromebook device security. Complete guide for enforcing device trust in ChromeOS environments. | ||
| --- | ||
|
|
||
| Smallstep can integrate with Google Workspace to keep your ChromeOS device inventory in sync. | ||
|
|
||
| # Prerequisites | ||
|
|
||
| You will need: | ||
|
|
||
| - A [Smallstep team](https://smallstep.com/signup) | ||
| - A Google Workspace tenant, with ability to manage domain-wide delegation | ||
| - A Google Cloud project, with ability to create service accounts and keys | ||
|
|
||
| # Step-by-step instructions | ||
|
|
||
| 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. | ||
|
|
||
| Your Google Cloud project must have the Admin SDK API enabled. By default, it is disabled. | ||
|
|
||
| ### 0. Enable Admin SDK API | ||
|
|
||
| 1. Go to [Admin SDK API](https://console.cloud.google.com/apis/api/admin.googleapis.com) for your project, and choose **Enable API** | ||
|
|
||
| ### 1. Create a Service Account for Smallstep | ||
|
|
||
| 1. In Google Cloud, visit [IAM & Admin → Service Accounts](https://console.cloud.google.com/iam-admin/serviceaccounts) | ||
| 2. Choose **Create service account** | ||
| 3. Give the **Service account name**, e.g. `Smallstep Google Workplace Sync` | ||
|
tashian marked this conversation as resolved.
Outdated
|
||
| 4. Optionally, provide a **Description** for the account | ||
| 5. Choose **Done** | ||
| 6. Open the details for the Service Account you just created | ||
| 7. Copy the **Unique ID** (numeric) and the **Email** shown on the details tab; you’ll need them later | ||
| 8. Visit the **Keys** tab, and choose **Add key**, then **Create new key** | ||
| 9. Choose **Create** to create a JSON key | ||
|
|
||
| A file containing the service account key will be downloaded. Keep this safe and secure! | ||
|
|
||
| ### 2. Grant device directory API permissions | ||
|
|
||
| 1. In Google Admin, visit [Security → Access and data control → API controls](https://admin.google.com/ac/owl) | ||
| 2. Under Domain wide delegation, select **Manage Domain Wide Delegation** | ||
| 3. In the **API Clients** table, select **Add new** | ||
| 1. Enter the **Unique ID** of the service account from Step 1 | ||
| 2. For the **OAuth Scopes**, enter the following scope: | ||
|
|
||
| ``` | ||
| https://www.googleapis.com/auth/admin.directory.device.chromeos | ||
| ``` | ||
|
|
||
| 3. Choose **Authorize** | ||
|
|
||
| ### 3. Add Google Workspace to Smallstep | ||
|
|
||
| In Smallstep, visit [Settings → Device Management](https://smallstep.com/app/?next=/settings/devices). | ||
|
|
||
| Configure a new Google Workspace Integration with the following values: | ||
|
|
||
| - 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 | ||
| - The **Service Account JSON key** you downloaded earlier | ||
| - An email address of a user in your Google Workspace directory with admin permissions | ||
|
|
||
| ### 4. Add Smallstep Certificates to Google Workspace | ||
|
|
||
| After saving the Google Workspace connection, you will see settings for your integration. | ||
|
|
||
| 1. Download the following Authority Certificates: | ||
| - Smallstep Devices Root CA | ||
| - Smallstep Devices Intermediate CA | ||
| - Smallstep Agents Root CA | ||
| - Smallstep Agents Intermediate CA | ||
|
|
||
| 2. In Google Workspace, visit [Devices → Networks → Certificates](https://admin.google.com/ac/networks/certificates). | ||
| 3. Choose an Organizational Unit, if desired | ||
| 4. Choose **Add certificate** | ||
|
|
||
| In the modal, configure the following: | ||
|
|
||
| - Provide a descriptive name, e.g. `Smallstep Devices Root` | ||
| - Upload the PEM file for the Smallstep Devices Root CA | ||
| - Check ✅ **Enabled for Chromebook** | ||
| - Choose **Add** | ||
| 5. Repeat Step 4 for each of the certificates you downloaded | ||
|
|
||
| ### Confirmation | ||
|
|
||
| Within a few minutes, you should see all of your ChromeOS devices in Smallstep's [Devices](https://smallstep.com/app/?next=/devices/all) tab. | ||
| A full sync is performed every 8 hours, and a partial sync every hour. | ||
|
|
||
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Uh oh!
There was an error while loading. Please reload this page.