#shell #google-workspace #gam
#оболочка #google-workspace #gam
Вопрос:
Мне нужно запустить некоторые скрипты GAM в двух доменах во время миграции клиента; возможно ли это? Я пытался найти какую-либо документацию по установке, но, похоже, ее нет :/
Любая помощь приветствуется!
Примечание: Это не вопрос о первичных или вторичных доменах — если вам нужна дополнительная информация о первичном / вторичном переключении, я нашел GAM3DirectoryCommands очень полезными и описательными!
Ответ №1:
Напрямую это невозможно; однако вы можете достичь этого следующим образом:
- создайте папку CONFIGS (на самом деле вы можете называть это как угодно, что для вас имеет смысл) и подпапку для каждого домена
- переместите ваш client_secrets.json, oauth2.txt и файлы oauth2service.json из вашей папки установки GAM в вашу недавно созданную папку домена
- запустите
gam info domain
иgam info user
, чтобы увидеть, как это повлияло на вашу установку gam - чтобы создать новую настройку домена, запустите
gam create project
- после завершения запустите
gam info domain
иgam info user
еще раз, чтобы увидеть разницу - не забудьте сохранить ваш новый конфиг в папку CONFIGS и для этого нового домена!
- когда вы заменили файлы конфигурации, запустите
gam user <your_admin_account_for_the_current_domain> check serviceaccount
перед выполнением любых команд, иначе вы, вероятно, получите некоторые ошибки 😉
Теперь вы можете переключаться между доменами, заменив client_secrets.json, oauth2.txt и oauth2service.json в вашей папке установки GAM (и не забудьте check serviceaccount
).
Очевидно, что есть много более элегантных способов сделать это — но это в любом случае ляжет в основу вашего сценария powershell; P
Надеюсь, это поможет!
Ответ №2:
Это довольно просто, на самом деле проще, чем текущий ответ. gam считывает переменную среды OAUTHFILE, которая указывает на учетные данные для доступа (oauth2.txt по умолчанию). Это все, что имеет значение, поскольку вы можете использовать один и тот же проект GCP для нескольких доменов.
Итак, все, что вам нужно, это простой способ обойти изменение переменной OAUTFILE. Лично я использую этот псевдоним gam (вместо псевдонима по умолчанию в .bash_profile):
gam() { export OAUTHFILE=~/.local/share/gam/auth-$1.txt; shift; "~/.local/share/gam/gam" "$@" ; unset OAUTHFILE }
Итак, мой синтаксис gam теперь
gam <something> info domain
Нет, что выше, я использую ~/.local/share /gam /… ваши пути могут отличаться. Также вам могут понадобиться $ HOME /.gam-secrets и поместить их туда.
Что-то — это простая строка для уникальной идентификации каждого домена (она будет использоваться для создания OAUTHFILE в псевдониме.
НЕ забудьте предоставить своей учетной записи службы GCP доступ ко всем доменам (https://admin.google.com/AdminHome?#OGX:ManageOauthClients ).
Я не могу придумать более короткого пути к созданию многодоменной gam.