Skip to content

Chrome Enterprise

Chromebook management, through the Google Admin SDK rather than a dedicated MDM product.

Chromebooks are most of the fleet in a great many primary schools, and without this connector those schools could log a repair against a serial number and get nothing back: no model, no assigned user, no enrolment state.

CategoryMDM
AuthenticationService account with domain-wide delegation
Reachesoauth2.googleapis.com, admin.googleapis.com
Needs an agentNo
Demo modeYes

device.lookupBySerial, device.get, device.listForUser, device.searchSerial, device.sendCommand

This is the same authentication flow as Google Workspace and Google Sheets. If you have already done it for one of those, you can reuse the service account and only need to add the scope.

  1. Google Cloud console, in a project for your school.
  2. IAM and Admin, Service Accounts, Create service account.
    • Name it plugboard.
    • No project roles are needed.
  3. Open the service account, then Keys, Add key, Create new key, JSON. Download it. You need two values from inside: client_email and private_key.
  4. On the service account’s Details page, copy the Unique ID (a long number). This is the client id for delegation.
  1. Google Admin console, Security, Access and data control, API controls, Domain-wide delegation, Add new.

  2. Client ID: the Unique ID from step 4.

  3. OAuth scopes: add the read-only scope, and the read-write scope only if you want device actions.

    https://www.googleapis.com/auth/admin.directory.device.chromeos.readonly
    https://www.googleapis.com/auth/admin.directory.device.chromeos
  4. Authorise.

The scope is read-only by default. Disabling or powerwashing a device needs the read-write scope, and a school that has not granted it gets a clear refusal rather than a confusing Google error about insufficient permission.

Admin, Connectors, Chrome Enterprise, Configure.

FieldDefaultValue
customerIdmy_customermy_customer resolves to the account the service account belongs to. Leave it unless you have a reason
adminEmailemptyAn administrator to impersonate. Domain-wide delegation acts as this person
allowDeviceActionsfalseAllow disabling and powerwashing. Needs the read-write scope granted above
demoModefalseReturn fixture data

adminEmail matters. Delegation means the service account acts as somebody, and that somebody needs the rights in the Admin console. Use a dedicated administrator account instead of a person who might leave.

FieldValue
clientEmailclient_email from the downloaded JSON
privateKeyprivate_key from the JSON, including the BEGIN and END lines

Paste the private key exactly as it appears, newlines and all.

Save and test.

FieldNotes
Serial numberThe lookup key
Model
Device id
Annotated userWhoever is recorded against it in the Admin console
StatusThe single most common “it will not turn on” is a disabled Chromebook
Org unit pathWhich OU the device sits in
OS version
Asset idThe annotated asset id
Last sync

Chrome has no warranty data, so those fields are honestly null rather than guessed.

The status field earns its place. A Chromebook that was disabled, usually months ago, presents to a student as a device that will not start. Seeing DISABLED on the repair record answers the ticket before anyone opens the lid.

With allowDeviceActions on and the read-write scope granted, the device page can disable and powerwash.

Powerwash destroys local data. On a Chromebook that is usually less dramatic than on a laptop, because the data lives in the account, but it is still not reversible. The device.manage permission gates it.

SymptomCause
unauthorized_clientDelegation was not authorised for this client id, or the scope string does not match exactly
403 with “not authorized to access this resource”adminEmail is not an administrator, or is empty
Device actions refused by PlugboardallowDeviceActions is off. This is the deliberate refusal, not a Google error
Device actions rejected by GoogleThe read-write scope was not granted in delegation
invalid_grantThe private key is malformed. Paste it complete, including BEGIN and END lines
Everything returns sample ChromebooksdemoMode is still on

Very common. Chrome Enterprise for Chromebooks, Jamf or Mosyle for Apple, Intune for Windows. Configure all three; a device resolves through whichever knows it.