package
0.0.0-20200304162828-e34edbc7894d
Repository: https://github.com/rickt/gsuitemdm.git
Documentation: pkg.go.dev

# README

gsuitemdm Cloud Function blockdevice

A cloud Function component of the gsuitemdm package that blocks a mobile device using the Admin SDK.

The blockdevice API is used by the mdmtool command line utility.

HOW-TO Configure blockdevice

blockdevice uses a .yaml file containing several environment variables the cloud function reads during app startup. These environment variables point the app to the shared master cloud function configuration and API key that are stored as Secret Manager secrets. An example .yaml file for blockdevice:

APPNAME: blockdevice
SM_APIKEY_ID: projects/12334567890/secrets/gsuitemdm_apikey
SM_CONFIG_ID: projects/12334567890/secrets/gsuitemdm_conf

HOW-TO Deploy blockdevice

$ gcloud functions deploy BlockDevice \
  --runtime go111 \
  --trigger-http \
  --env-vars-file env_blockdevice.yaml

HOW-TO Use blockdevice

API

Example expected JSON to block a device in the domain foo.com with IMEI 111111111111111:

{
	"action": "block",
	"confirm": true,
	"domain": "foo.com",
	"imei": "111111111111111",
	"key": "0123456789"
}

Note that if "confirm": true is not specified, the device will not be blocked.

Example command line using curl and the above JSON to block the abovementioned device:

$ curl -X POST -d \
  '{"key": "0123456789", "action": "block", "imei": "111111111111111", "domain": "foo.com", "confirm": true}' \
  https://us-central1-<YOURGCPPROJECTNAME>.cloudfunctions.net/BlockDevice

mdmtool

Example command line using mdmtool to block a device in the domain foo.com with IMEI 111111111111111:

$ mdmtool block -i 111111111111111 -d foo.com
WARNING: Are you sure you want to BLOCK device IMEI=111111111111111 in domain foo.com? [y/n]: