弊社では、Vertex AI を利用した生成AIによる社内ドキュメント検索アプリケーションの自社開発をいたしました。開発の詳細については、以下の記事をご参照ください。
>開発記事:【Google Cloud 事例】Vertex AI を利用した生成AIによる社内ドキュメントの検索と要約を開発ー自社開発
開発エンジニアのDAIKI.Aです。
本記事では、上記のアプリケーションにおける開発技術の中で、Google Apps Script とGoogleサイトを用いたアクセス制御の仕組みと構築の手順を、開発者向けに深堀して詳しくご紹介します。
【システム構成】
Google Apps Script から Vertex AI にアクセスし、検索に利用する HTML 画面を作成します。
作成したHTML画面をGoogleサイトに埋め込む流れになります。
<システム構成>
【アクセス制御について】
Googleサイトのアクセス権限は、Google ドライブの権限に依存する為、サイトにアクセスできる人がVertex AIを利用できる人になります。
弊社の使い方としては、Googleサイト自体に部内のメンバー全員にアクセス権限を設定しているため、Vertex AIの利用も同時に制御できる仕組みです。
【開発手順】
■ドメインのホワイトリスト化
Vertex AIをGUIで構築からデプロイまでできるAgent Builderを用いて開発を行います。
※デプロイまでの流れは割愛させていただくため、以下の公式リファレンスを参照ください。
Vertex AI Agent Builder | Google Cloud
加えて、Agent BuilderでデプロイしたVertex AIは、ウィジェットからアクセスすることができます。
Add the search widget to a web page | Vertex AI Agent Builder | Google Cloud
Googleサイト、Google Apps Scriptでウィジェットを利用するには、認証タイプとドメインを以下のように指定します。
アクセスを公開にして、ドメインには「googleusercontent.com」を指定することで、ウィジェットを経由してGoogle Apps Script、GoogleサイトからVertex AIを利用することができます。
■GoogleサイトからGoogle Apps Script経由でVertex AIを利用する為の手順
次にウィジェットをGoogle Apps Scriptに配置します。以下のように生成されたコード全てをGoogle Apps Scriptのhtmlファイルに貼り付けます。
Google Apps Scriptの作成が完了したら、ウェブアプリとしてデプロイを行い、ウェブアプリのURLを取得します。
取得したGoogle Apps ScriptのウェブアプリURLをGoogleサイトに埋め込みます。
ここまで行うと、以下のようにGoogleサイトからGoogle Apps Script経由でVertex AIを利用できるようになります。
■Googleサイトの共有権限の設定
最後にGoogleサイトの共有権限を設定します。
Googleの共有権限に、Vertex AIを利用させたい人を設定します。
ここまでの設定でGoogleサイトへのアクセスがVertex AIへのアクセスに紐づいているので、共有権限の設定のみでVertex AIのアクセスを制御することができます。
【まとめ】
Google Apps ScriptとGoogleサイトを用いることで、Vertex AIへのアクセス制御を実現しました。弊社では部署ごとにGoogleサイトの権限を管理していたこともあり、簡単に実装することができました。
Google Apps Script側にHTMLを用意したことで、メンテナンス管理もGoogleサイトの修正と切り分けることができ、さらにGoogle Apps Scriptの中でCSSやjavascript(gs)を活用することで表現の幅を広げられるメリットがあります。
気になったことがありましたら、ぜひお気軽にお問い合わせください。
上記の記事に関するご質問や、Google Cloud ・ Google Workspace に関するお困りごとがございましたらお問い合わせください。