This repository contains the source code that synchronizes Google Workspace Users/Groups and Keeper Enterprise Users/Teams. This is necessary because Google Workspace does not adequately support Team SCIM provisioning.
Read this document: Google Workspace User and Group Provisioning with Cloud Function
This project replicates the
keeper scim push --source=googleCommander CLI command and shares configuration settings with this command.
- Keeper Secret Manager enterprise subscription
- Create KSM application or reuse the existing one
- Share the SCIM configuration record with this KSM application
Add Deviceand make sure method isConfiguration FileBase64 encoding.
- Clone this repository locally
- Copy
.env.yaml.sampleto.env.yaml - Edit
.env.yaml- Set
KSM_CONFIG_BASE64to the content of the KSM configuration file generated at the previous step - Set
KSM_RECORD_UIDto configuration record UID created for Commander'sscim pushcommand
- Set
- Create Google Cloud function. Replace
<REGION>placeholder with the GCP region.
gcloud functions deploy <PickUniqueFunctionName> \
--gen2 \
--runtime=go121 \
--max-instances=1 \
--memory=512M \
--env-vars-file .env.yaml \
--region=<REGION> \
--timeout=120s \
--source=. \
--entry-point=GcpScimSyncHttp \
--trigger-http \
--no-allow-unauthenticated- Clone this repository locally
- Create
source.zipfile that contains ".go" and "go." matches
zip source.zip `find . -name "*.go"`
zip source.zip `find . -name "go.*"`- Login to Google Console
- Create a new function
- Set
KSM_CONFIG_BASE64to the content of the KSM configuration file generated at the previous step - Set
KSM_RECORD_UIDto configuration record UID created for Commander'sscim pushcommand
- Set
- Click
NEXT - Set "Entry point" to
GcpScimSyncHttp - Upload the source code using
source.zip. "Destination bucket" can be any.
- Click
DEPLOY




