自動化厨のプログラミングメモブログ │ CODE:LIFE

Python/VBA/GAS/JavaScript/Raspberry Piなどで色んなことを自動化

Google Workspace管理者必須のCLIツール GAM の設定手順を画像多めで解説(Windows編)

Google Apps Manager(GAM)は、Google Workspaceの管理業務を効率化するためのコマンドラインツールです。これを使うことで管理コンソールのGUIではポチポチ手作業でやっていた業務をコマンド1行でできるよう自動化し、大量のタスクを短時間で処理できます!

だけど難点はセットアップ手順が地味にハードル高いこと。特権管理者権限を持たせるんですから簡単すぎても困るんですが、だからといって手作業は…。ということでこの記事ではなるべく分かりやすくセットアップ手順を解説していきます。

↓macの方はこちら↓

codelife.cafe

GAMの概要と主要機能

何ができる?で言うとGoogle WorkspaceのAPIで出来ることはほとんど出来ると言って良いくらい多機能です。

GAMでできること

  • ユーザー管理:アカウントの作成・更新・削除、一括処理など
  • グループ管理:グループの作成、メンバーの追加・削除・一覧出力
  • セキュリティ確認:2段階認証(2SV)の設定状況を一覧化・監視
  • デバイス管理:組織内のモバイル端末やChromeデバイス情報の取得
  • 共有ドライブ管理:ドライブの作成やメンバー管理をコマンドで実行

これだけだとピンと来ないかもしれませんが、

外部共有されているアイテムだけリストアップしてスプレッドシートに出力

gam all users print filelist query "visibility='anyoneCanFind' or visibility='anyoneWithLink'" todrive

とか

全ユーザーのGmailにフィルタを新規作成する

gam all users create filter query "from:system@alert.co.jp" label "システムアラート"

とかも出来るといえばすごさが伝わるでしょうか。

GAMの利点

  • 業務効率化:大量のタスクを短時間で処理
  • 自動化:定期的な作業をスクリプト化して自動実行
  • エラー削減:手作業によるミスを防止
  • 無料で利用可能:オープンソースツール
  • 信頼性: 公式のヘルプページでも紹介されている

サードパーティ製とは言えGoogle公式ヘルプで紹介されるくらい信頼されている割と昔からあるツールです。Google Workspaceの管理を楽にするにはGASでツールを作って…と思いがちですが、実行時間の制限やスプレッドシートのセル数上限も気にせずローカルで長時間実行できるのはツヨイ。

まだ試したことはないですがPython版もあるので、Lambdaとかで構築してスケジュール実行させればいろんな業務が完全自動化できそうですね。

前提条件と準備

GAMを利用するには、いくつかの技術的な要件と管理者権限が必要になります。

アカウントと権限に関する要件

  • Google Workspace アカウント:
    • 有料版のGoogle Workspace(Business、Enterpriseなど)またはEducation/Non-profit版が必要です。
    • 従来の無償版G Suite Legacy Free EditionではAPIのサポートが限定的なため一部のコマンドしか機能しません。
  • 管理者権限:
    • GAMの初期設定を行うには特権管理者 (Super Admin) の権限を持つアカウントが必須です。

技術的な要件

  • 実行環境 (OS):
    • Windows, macOS, LinuxのいずれかのOSがインストールされたコンピュータが必要です。
    • Windows向けにはMSIインストーラーが、macOSおよびLinux向けにはインストール用のシェルスクリプトが提供されています。
  • Google Cloud Platform (GCP) プロジェクト:
    • GAMがGoogleの各種APIと通信するために、GCPプロジェクトが必要になります。
    • 通常、このプロジェクトはGAMのセットアッププロセス中に表示される指示に従うことで、半自動的に作成されます。
  • APIの有効化と承認:
    • Google Workspace管理コンソールにログインし、GAMが必要とするAPIへのアクセスを許可する必要があります。
    • セットアッププロセスで、GAMが生成したクライアントIDを使用して、APIクライアントアクセスを承認する作業が含まれます。
    • ユーザーデータ(Gmail、ドライブ、カレンダーなど)を操作するためのサービスアカウントの承認も必要です。

WindowsへのGAM7インストール手順

PCにコマンドをインストールすること自体は実は超簡単でインストーラーを実行するだけです。

しかし、その後のGWSやGCPの設定とプロンプト入力が結構しんどいです。画像多めで手順を記載するのでくじけずやってみましょう。

1. インストーラー

https://github.com/GAM-team/GAM/releases にアクセスして gam-7.xx.xx-windows-x86_64.msi のようなファイルをダウンロード。※数が多いと非表示になっているかもしれないので見つからない場合は「Show all 15 assets」のリンクをクリックします。

ダウンロードの警告が表示された場合は右クリック→保存。

インストーラーを実行。基本的には特に設定変更すること無くNextで進めていく。

2. ターミナルでgamコマンドを実行して各種設定

インストールが完了したらgamコマンドが使えるようになっています。順にコマンドを叩いて設定していきましょう。

  1. ターミナル(PowerShellでもコマンドプロンプトでも可)を開く
  2. gam create project を実行

3. GAMプロジェクト作成ツールにアクセス権を付与

次はGAMプロジェクトを自動で作成してくれるツールを有効化します。

以下のように表示されるので https://admin.google.com/ac/owl/list?tab=configuredApps にアクセスします。

※この段階ではまだEnterを押さないようご注意ください

セキュリティ > API の制御 > アプリのアクセス制御 が開いたら「新しいアプリを設定」

検索バーに 297408095146-fug707qsjv4ikron0hugpevbrjhkmsk7.apps.googleusercontent.com を入力して検索し、GAM Project Creationを選択。

すべてのユーザー を選択したまま「続行」

信頼できる にチェックを入れて「続行」

内容を確認して「完了」

ターミナルに戻ってEnterを入力すると特権管理者のメールアドレスを求められるので入力

ブラウザが開いてアクセス許可を求められるので「許可」

もし自動で開かなかった場合はhttps://gam-shortn~のURLをコピーして開きます

アクセス許可できたら自動的にGAM Projectが作成され、必要なAPIがどんどん有効化されていきます。

4. GAMプロジェクトのクライアントを作成

GAMプロジェクトが無事に生成されたら再びURLと設定手順を案内されます。

https://console.cloud.google.com/auth... で始まるURLをコピーしてアクセスしましょう。

まずは「開始」ボタンをクリック

アプリ名とユーザーサポートメールを設定

対象は「内部」を選択

連絡先メールアドレスを入力

4項目全て☑になったら「作成」

左側のメニューから「クライアント」に移動

アプリケーションの種類=デスクトップアプリ

名前=GAM

「作成」ボタンをクリック

クライアントIDとシークレットが表示されるのでコピーしておく

※閉じたら再表示できないので注意

ターミナルに移動してIDとSecretそれぞれに入力

5. Google Workspace側にGAMアプリでのAPI実行許可設定

今度はGAMプロジェクト本体をGoogle Workspaceに設定していきます。

手順3のときと同様に https://admin.google.com/ac/owl/list?tab=configuredApps にアクセスしてアプリを検索します。

※今回もまだEnterは入力しないようにご注意ください

ターミナルからコピーしたクライアントIDを検索バーに入力し表示されたGAMを選択します。これが手順4で設定したクライアントです。

すべてのユーザーを選択

信頼できるを選択

内容を確認して「完了」をクリック

ここまでたどり着いたらターミナルに戻ってEnterを入力。

OAuth認証の設定ファイルが生成されていきます。

上手く行けば緑の文字で「Project creation complete.」と表示されるので、次のステップ(管理者アカウントでの認証)に進みます。

コマンド gam oauth create を実行。

どのAPIを使うか聞かれるので必要なAPIを選択します。

デフォルト設定の場合は s でOKです。その後 c を入力して認証に進みます。

特権管理者メールアドレスを求められた場合は入力

ブラウザが自動で開いて「GAMにログイン」という画面に遷移します。「次へ」

めちゃめちゃ大量の権限が付いてます

一番下までスクロールして「許可」

ブラウザに次のように表示されれば成功です

ターミナル側にはoauth2.txt, Createdと表示されているはず。

6. Google Workspaceでドメイン全体の委任設定

いよいよ最後の工程です。

設定を継続するため gam user admin@domain.com update serviceaccountコマンドを実行。

※メールアドレスは実際のユーザーに置き換えてください。

再度利用するAPIを聞かれた場合は s c を入力してEnter。

ここで各種APIが利用できるかテストが行われ、全項目 FAIL と表示されますが正常動作です。

下の方を見るとURLがあるのでここにアクセスします。

ドメイン全体の委任設定を行う権限スコープが入っているので下までスクロールして「承認」

ターミナルに戻って再度 gam user admin@domain.com update serviceaccount を入力すると今度は全部 PASS となるはず!

動作確認

お疲れ様でした!セットアップ工程めっちゃ長いですよね。でも、やる価値あると思います。

最低限の動作確認をしてみましょう。

GWSの情報を取得できるか確認するために gam print users を実行。

全ユーザーが表示されれば成功です!

まとめと今後の展開

以上、WindowsでのGoogle Apps Manager(GAM)セットアップ手順をご紹介しました。

macOS版に比べるとインストール完了後の案内や各ステップのコマンドの案内が無く迷子になりやすそうだなと思いました。この記事が少しでも役に立ってれば嬉しいです。

設定は少し複雑ですが、一度セットアップしてしまえば、Google Workspace管理業務の自動化に非常に役立つツールです。

このツールを使いこなすことで、ユーザー管理や組織単位の設定、グループ管理など、日々の管理業務を大幅に効率化できます。また、APIを通して実行するため、管理コンソールから手動で行うよりも、一括処理や繰り返し作業において特に威力を発揮します。

今後の予定記事

  • GAMコマンド実験シリーズ:来週から開始予定
  • GAM実用コマンドチートシート:近日作成予定

皆さんもぜひGAMを導入して、Google Workspace管理業務の効率化にお役立てください!