🐥

GoogleグループをNotion上で可視化する

2023/06/29に公開

はじめに

株式会社TERASSのコーポレートエンジニアをしているHayashiと申します。

弊社ではGoogle Workspace(以下、GW)の権限管理にGoogleグループを活用しており、今回それらをNotionで可視化しました。

そもそもGoogleグループとは何か

Googleグループとして組織内のユーザーをグループ化することで、以下のようなことができます。

  • メーリングリストの作成
  • Googleドライブにおいて、グループ単位での権限設定

例えばgrp_engineer@sample.comというグループを作成し、そこへメンバーを追加することでエンジニアのメーリスとして利用できます。

なぜ可視化しようと思ったのか

前提として、Googleグループは以下のような仕様になっています

  • 通常メンバーは自身が所属しているグループの情報を確認することができる
  • しかしグループがネストされている場合、直接紐づいているグループの情報しか確認できない

例えばグループprj-product1@sample.comのメンバーが以下のように設定されているとします。

これで下記グループに所属するメンバーは、同時にprj-product1@sample.comのメンバーにもなります。

  • grp-engineer@sample.com
  • grp-pdm@sample.com

しかしgrp-engineer@sample.comのメンバーが所属グループ一覧を確認すると
prj-product1@sample.comが表示されません。

つまり間接的に所属しているグループを確認することができないのです。

社内からの要望

上記仕様のこともあり、実際にメーリスを扱う運用担当者から「自分が直接所属しているグループしか確認できないのは困る。組織内のグループを閲覧できるようにしたい」という要望がありました。

この課題を解決するべく、Notion上で一覧化するという手段を選択しました。

作ったもの

管理者以外のメンバーが組織内のグループをすべて確認できるように
NotionのDBへ一覧化しました。

一覧ページ

各ページの表示内容

活用例 - 自分が所属しているグループを確認する

Notionのフィルター機能を使って、「すべてのメンバー:{自身のメールアドレス}」で検索をかけます。

間接的に所属しているグループについても、検索でヒットします。

実現方法

Typescriptで、GWのDirectory APIとNotion APIを呼び出しています。
インフラにはまだ乗せていませんが、今後はGoogle Cloud Runで定期実行していく予定です。

最後に

Googleグループを可視化するという一番の目的は達成できましたが・・
コーポレートエンジニアとしては、このリストを使って「グループ及びそれらに関連する権限を適切に管理する」というところに注力したいと思っております。

(おまけ)Googleアカウントの一覧化

同様に、組織内のGoogleアカウントも一覧化してみました。

最終ログイン日時でソートして、退職者のアカウント削除漏れを発見できたりと、使い道はいくらでもありそうです。

Terass Tech Blog

Discussion