😎

GAMアップグレードでパスが変わってしまった話

2024/12/22に公開

この記事はcorp-engr 情シスSlack(コーポレートエンジニア x 情シス)#1 Advent Calendar 2024の21日目の記事です。

はじめに

こんにちは
Google Workspace を運用していると、設定変更の依頼を大量にこなすことになります。その結果、特にGroup(いわゆるメーリス)の作成で、権限設定を会社ポリシーとして決めている場合、GUI(画面操作)では漏れが出る可能性が高くなります。

そこで、コマンドラインを利用することで、一律の設定を可能にする方法としてGAM(Google App Manager)があります。
CUI(コマンドライン)をシェルで運用し、作成時は同じ処理を行うことで、Groupのポリシーを一律の運用としています。

今回は、不用意にアップグレードをして、大慌てをしたお話をします。

GAMのインストール方法など

GAMはgithubでリポジトリが公開されています。
https://github.com/jay0lee/GAM
※ちなみにGAMはPythonで書かれています

インストール方法やドキュメント、リファレンスもgithub wikiで公開されていますので、今回の記事での説明は割愛させて頂きます。
https://github.com/jay0lee/GAM/wiki

アップグレードによる影響

デメリット

不用意にアップグレードした結果、コマンドが使えなくなった。。。

GAM がアップグレードしたという情報を入手して、早速アップグレードしました

bash <(curl -s -S -L https://raw.githubusercontent.com/taers232c/GAMADV-XTD3/master/src/gam-install.sh) -l

ところ、アップグレードしてから、コマンドが通らなくなった!!

業務はGAM前提で業務設計しているため、これないと詰むという自体に。。。
調べてみると、大規模な改修がかかりPATHが変わっているっぽい

PATHが変わるとなると、今後、コマンドを実行する際に、新旧どちらを実行するのかを考慮しながら対応の可能性が出てくるので、パソコンを初期化し環境を再構築しました。

オプションが変わってる

Google アカウントを削除する前に他の方にデータを移行してから削除しています。
移行しているデータの中に、LookerStudio も移行しています。
以前は以下コマンドで実行していました

gam create datatransfer ${delete_user} datastudio ${transfer_user} privacy_level shared,private

これが、アップグレード後では以下のエラーとなってしまいました

Command: /Users/hotaka.noda/bin/gam7/gam create datatransfer delete@user.jp >>>datastudio<<< transfer@user.jp privacy_level "shared,private"

ERROR: Invalid choice (google data studio): Expected <looker studio|calendar|drive and docs>
Help: Syntax in file /Users/hotaka.noda/bin/gam7/GamCommands.txt
Help: Documentation is at https://github.com/GAM-team/GAM/wiki

datastudio は、今のLooker Studioの全世代サービスで、今までの名残りでGAMで使っていましたが、ようやく今のサービス名でコマンドを指定する形になりました。
(Google Data Studio → Google Data Portal → Looker Studio)

gam create datatransfer ${delete_user} "looker studio" ${transfer_user} privacy_level shared,private

コマンド結果

Transfer Request Created
  Transfer ID: AKrEtIZ3u_Gs2Esdtg6UKzCRYTPdS_3HlIHmI8YnaEN4Jh4hJZknYQKS8gMvzZ0_B-oLsY2OWljQbTXkO2O0dvh7sudB56pCAQ
  Service: Looker Studio
  From: delete@user.jp
  To: transfer@user.jp

メリット

処理速度が早くなった

体感値になりますが、今まで処理速度早くなり、処理時間が1/3 ~ 1/4 程度になっている感覚です。
特に、Groupの作成はシェルで個別にポリシーを指定しているため、今まで1つのGroupを作成するシェルを投げると、3分程度かかっていたものが、40秒ほどで作成できるようになりました。そのため、Groupを大量に作成する場合に特に効果を発揮することができました。

終わりに

如何でしたでしょうか?
結果的に、アップグレードで処理が早くなりましたが、影響範囲が多いアップグレードでした
この内容がどこかの会社で活用され、Google Workspace管理者の負担軽減になることを願って締めようと思います。

参考文献

https://groups.google.com/g/google-apps-manager/
https://gamcheatsheet.com/

Discussion