GoogleFormとGASでGoogleアカウントのパスワードリセットを自動化した

こんにちは。某自治体の教育委員会でICT基盤整備を担当しています。
GoogleFormとGASで児童生徒に払い出しているGoogleアカウントのパスワードリセットを自動化したので紹介します。

本市の状況

本市では、児童生徒にGoogleWorkspace for Educationのアカウントを払い出しています。数にすると数万のオーダーです。
日頃から使っていると、そうそうパスワードを忘れましたという事態にはならないのですが、まだまだ日常的にログインして使っている状況ではありません。端末がiPadで学習支援ソフトがロイロノートだと日常の学習でGoogleアカウントにログインしなくても困らない状態が出来上がっています。
ただ、ときどきというか、年に数回、Googleサービスを使いたい場面が出てきます。例えば、キャリアパスポート、小学校を卒業して中学校に上がる場合にそのデータを持ち上がるためにGoogleドライブに保存する、という使い方をしたりします。
そして、そのタイミングで「パスワードがわかりません」のオンパレード、最悪です。そういった経緯から、パスワードリセットを自動化しました。
ちなみに、「児童生徒のGoogleアカウントがわかりません」も多々ありました。特に小学校から中学校への連携で。うんざりしたので、作成した後、校務支援システムに登録するようにしました。※こちらは自動じゃないです。

仕組み

次のとおりです。

Googleアカウントのパスワードリセットフォームの模式図

Googleフォームで学校とリセットしたいアカウント(メールアドレス)、初期パスワードを入力、送信します。
Googleフォームに回答が記録されたイベントを検出してGASを起動して、GoogleのAdmin SDK APIから対象のアカウントのパスワードをリセット、設定ファイルから学校の管理職のアドレスを取得して、申請者と学校管理職と管理権限ユーザ(証跡用)に処理結果をメール送信。メール送信はGmail SDK APIを使用しています。
同様に市外から転入生が入った場合のアカウントの新規作成フォームと何らかの理由で姓名が変わった場合の姓名変更のフォームも作成しています。

運用してみて

かなり業務負荷が減らせたと思っています。
しかし、時々「クラス全員のパスワードがわかりません」とか話が入ってきて管理コンソールでCSV流し込みとか、間違って知らない子のパスワードを初期化しましたとか、いろいろ飛んできます。別にその人だけの問題ではないんですが、それぞれがやるべきタイミングでやるべきことをやってれば業務負担ってここまであがらないのでは?と思うこともあります。
こんなフォーム作らなくても、学校単位でOU作って、アカウントの管理権限をつけた学校用アカウントを渡せばいいのでは?という話もあるかと思いますが、学校数が多く、渡した先で何が起こるか見えなくなるし、使わない学校も出てきそうなのでその案は却下でした。

今後

現在、児童生徒のみ対応していますが、今後、教職員版を作成するのと、Googleアカウント→AppleIDへのフェデレーションで、児童生徒にAppleIDを付与ということを考えています。
ASMは外部からのAPI操作がユーザからは如何ともし難く、初期パスワードもASMが設定するランダムな文字列になるんで、児童生徒に払い出すとなると運用負荷が非現実的でした。
ちなみにMSからのフェデレーションも諸般の事情でボツになっていました。
IDパスワードをGoogleに寄せることができるのようやく何とかなりそうです。

この記事が気に入ったらサポートをしてみませんか?