お問い合わせ

Home/Blog/技術ブログ/AI・テクノロジー

内製アプリを安全に使い続けるための3つの仕組み(GCP編)

SI事業本部 部長

お疲れ様です!SI事業本部部長の島田です。

さて今回は、AI駆動開発で社内アプリを作ったあとの「守り方」と「回し方」について、経験談をご紹介いたします。

作るのは、むっちゃ速くなりました

弊社では、営業本部向けの案件・人材の管理アプリ「SalesNavi」と、管理本部向けのタスク管理アプリ「task-navi(仮名、絶賛募集中)」を内製しています。コードはほとんどClaude Codeに書いてもらいました。

task-naviは、もともと使っていた外部のタスク管理サービスの後継です。SES業態だと、外に出てるエンジニアはあまりタスク管理ツールを使う頻度はなく、使用必須なメンバーが限定されますよね。

そこでもう少しミニマムなサービス・プランでいいよねって検討していたところ、じゃあ作ってみるねって趣味の時間でやっちゃいまして。それを社内チャットで投稿したら管理本部がノってきてくれて。追加で出してくれた要望を取り込んだり安全弁を入れたりして本番で使い始めるまで、2週間くらいでしたかね。(作り始めてから育っていく様子は、以前の記事に書いています)

正直、作るところはもう難しくないです。AIのモデルは日進月歩どころではない速度で洗練されていってますし、バイブコーディングで誰がやってもかなりのところまで作り込めると思います。

とはいえ、私とて曲がりなりにもエンジニア。作りながら気にしなきゃならんこともあります。セキュリティと保守・運用です。本当に大変なのは、作った後なんですよね。

作った後に出てくるであろう3つの不安

自作のアプリを社内で使い始めると、だいたい次の3つが気になってきます。

  • 誰でも入れてしまわないか。 社員だけが使えるはずのアプリに、外の人が入ってこられたらダメですよね
  • 作った人しか直せないのでは。 何かトラブルが起きた時に作った人が忙しかったり、退職しちゃってたら保守が止まっちゃいます。作業自動化した秘伝のタレ エクセルVBAなんかで起きがち。
  • 古くなったまま放っておかれないか。 アプリが使っている部品には、毎週のように「穴が見つかったので直しました」という更新が出ます。追いかけ続けるのは、人の手ではまず無理です。

これ、ホームページを外注の制作会社さんに任せている会社さんや士業の方々でも、まったく同じ悩みだと思います。作ってもらったけど、その後の更新は誰がどうやってやっているのか分からない。そんな話もよく聞きます。

弊社では、Google WorkSpace(以下、GWS)にお世話になっていることもあって、GoogleのクラウドサービスであるGoogle Cloud Platform(以下、GCP)を土台にして、この3つにひとつずつ手を打ちました。

1. 玄関で、会社のアカウントを確かめる

1つ目は「誰が入れるか」です。

ビルに例えると、まず受付があります。アプリの画面を開こうとすると、会社のGoogleアカウントでログインしているかどうかを、GCPの受付の仕組みが確かめます。ログインしていない人は、アプリの玄関にすらたどり着けません。受付を通っても、まだ終わりではありません。アプリの中に名簿があって、名簿に載っている人だけが使えます。

task-naviと照らし合わせてご説明します。受付では管理本部のGoogleグループの人だけを通し、さらにアプリ側の名簿に載っている人だけが使える、という具合です。退職や異動のときは、名簿から外せば済むのはもちろんですが、退職する場合は大体GWSのユーザーを削除するでしょうから、退職フローを踏むことで自動でアプリへのアクセスができなくなります。

もう1つ、パスワードや外部サービスの鍵は、アプリの中には配置せずに、GCPの金庫(鍵を預ける専用のサービス)に入れています。アプリを更新する仕組みにも、長く使える合鍵は持たせていません。毎回、使い捨ての通行証を発行する形です。

人事や給与の情報も扱うであろうことが予想されてましたので、ここは最初からガチガチにしました。

2. 人は「OKかNGか」だけを決める

2つ目は「作った人しか直せない問題」です。

SalesNaviでは、営業本部のメンバーがSlackで普段どおり「ここをこう直してほしい」と書きます。実際にはAIエージェント的なものをSlackに招待し、そのエージェントにメンションを宛てて依頼する形ですね。

こちらが実際に依頼した際のキャプチャ

するとAIがその依頼を読んで整理し、作業の記録を作り、直し方を考えて手を動かします。別のAIが「これは壊れているはずだ」という前提でチェックして、通ったものだけが検証用の環境に反映されます。

営業本部のメンバーは、開発の道具を覚える必要がありません。私が毎朝、依頼を仕分けることも少なくなりました。

※正直なところ、営業本部のメンバーは、最近は私にメンション宛ててくれることの方が多いので、「仕分けることが無くなった」とは言い切れませぬ。まあAIエージェントに依頼するのもいいですが、やはり人間にメンションを宛てたいのでしょう。私もClaudeとばっかり話しているのも楽ではありますが、たまには人情というものに触れたくなりますしね!

ただし、全部を自動にはしていません。次の4つに触れる変更は、AIが勝手に進めないように決めています。

  • メールの送受信
  • ログインや権限、パスワードまわり
  • 外部へのデータ送信や支払い
  • データベースの作りを変えること

どれも、間違えたら取り返しがつかないものです。それと、本番の環境に出す最後の承認は私が実行しています。作業はAIに任せて、正しいかどうかの判断は人間がやる。 ここは譲れないところですな。

ちなみに、最初からうまくいったわけではありません。一度、AIがチェックを素通りして、検証用の環境に直接書き込んでしまったことがありました。「やっちゃダメ」と指示で縛るだけでは足りませんでした。そこで、決められた手順を通らない書き込みを、仕組みの側で物理的に弾くようにしました。そこの扉開けないでねってお願いするのではなく、もう扉に鍵をかけておくイメージです。これで止まるようになりました。

3. 毎朝のセキュリティ点検を、AIが下ごしらえする

3つ目は「古くなったまま放っておかれる問題」です。今回いちばん紹介したかったのはここです。

毎朝7時ごろ、点検役のAIエージェントが、弊社のアプリが使っている部品と、世の中に出ている「穴が見つかった」という緊急情報を照らし合わせて、レポートを私のSlackのDMに送ってくるようにしました。この点検役を作った経緯は、こちらの記事でご紹介しています。

そのレポートを、別のAIエージェントが読んで3つに仕分けます。

  • AIが自分で進めてよいもの: 小さな部品の更新など、前もって「これは任せる」と決めておいたもの。修正して、動くか確かめて、「これで直しました」という変更の提案(プルリクエスト)まで作ります
  • 私に上げるもの: 大きな作り替えや、サーバーやアカウントの設定を変えるもの
  • 記録だけ残すもの: すぐ直さなくてよいもの

全部の指摘は、台帳に1件ずつ残します。いつ見つかって、誰が判断して、いつ直ったか。後から見返せます。

11/12ですかね、アプリの土台の部品(Node.js)に更新が出たときは、担当のAIが作業を始めてから、修正の提案が上がるまで約6分でした。私は中身を見て承認するだけで、その日のうちに本番まで反映できました。翌朝のレポートで「解消」と出ていたのを見たときは、セッコを褒めるチョコラータのような気分でしたね。あとで角砂糖をあげておきます。

ここでも、AIが自分で本番に出すことはしません。提案を作って止まるところまでです。それと、レポートに書かれていることも鵜呑みにせず、更新する版が本当に公開されているかを、公式の情報で確かめてから手を動かすようにしています。

パクれるポイント

ここまで読んで「うちはそんな仕組みは作れない」と思われた方もいるかもしれません。でも、考え方は真似していただいてよろしいかと。

  • 入れる人を、会社のアカウントにひもづけましょう。 個別のIDとパスワードを配るよりも、退職や異動のときに漏れにくいです
  • 自動でやってよいことを、先に文章で決めましょう。 「小さな更新は任せる、設定変更は人が判断する」のような線引きです。AIに任せるにしても、人に任せるにしても、これがあると迷いません。
  • 最後の扉は人が持ちましょう。 本番に出す承認だけは、必ず人が実行!
  • 点検と記録を毎日の習慣にしましょう。 見つけて、直して、記録に残す。これを人の気合いではなく、仕組みで回す。

外部の制作会社さんにお任せしている場合でも、「部品の更新は誰が、どのくらいの頻度でやっていますか」「点検の記録は見せてもらえますか」と聞いてみるだけで、だいぶ見え方が変わると思います。

作る速さより、使い続けられること

生成AIのおかげで、アプリを作るハードルは非常に下がりました。これからは、どの企業でも自分たちで欲しいものを作る文化が広がると思います。社内のツールをインスタントに、その時だけ欲しいツールを使い捨ててもAIは文句を言いませんからね。

だからこそ、差が出るのは作った後です。安全に入れること、作った人がずっと張り付かなくても回ること、古くならないこと。ここに力をかけていきたいですね。(あと論点が散らかるので申し上げませんでしたが、エクセルVBAやGASが無秩序に作られて放置されていってしまう問題もありますね。使い捨てでいいツールと、使い続けるツールを分けて考えねば、です。)

弊社もまだ道半ばで、完璧ではありません。同じようなことで悩んでいる会社さんがいらっしゃったら、気軽に声をかけていただけたら嬉しいです。

まとめ

  • 作るのは速くなった。大変なのは作った後。 誰がアクセスできるか、誰が不備を直すか、古くなったときに誰がメンテするか
  • 入口は会社のGoogleアカウントで確かめ、中では名簿で絞る。 鍵はアプリに書かず金庫へ。
  • 作業はAIに任せ、判断は人がする。 取り返しのつかない変更と本番への反映は、必ず人が承認する。
  • 毎朝のセキュリティ点検をAIが下ごしらえする。 やるべきことを仕分けて、直す提案まで作り、台帳に残す。ここまで全自動。
  • 真似できるのは仕組みより考え方。 任せる範囲を先に決めて、最後の扉は人が持つ。

技術ブログの一覧へ

Contact

まずは、話を
聞かせてください。

開発のご相談、協業、採用。どんなことでもお気軽にお問い合わせください。

お問い合わせ