サービスアカウント
サービスアカウントとは、人ではなく、プログラムやシステムが他のシステムに接続するために使うアカウントのことです。
別表記:サービスアカウント/Service Account/システムアカウント/機能ID/マシンアカウント/非人間アカウント
何に使うのか
夜中に自動で動く集計処理が、売上データベースからデータを読む。Webサイトの裏側のプログラムが、顧客管理システムに問い合わせる。監視ツールが、各サーバーの状態を取りに行く。こうした場面では、誰か特定の社員がログインしているわけではありません。プログラムが、プログラムとして接続しています。
このときに使うのがサービスアカウントです。人のアカウントと同じようにIDと権限を持ちますが、持ち主は人ではなく、特定の処理やシステムです。
人のアカウントとの違い
人のアカウントは、パスワードを人が入力し、多要素認証を人が承認します。サービスアカウントには、それをする人がいません。代わりに、APIキーや証明書といった、プログラムが自動で提示できる認証の手段を使います。
人のアカウントは、入社・異動・退職という人事の動きに合わせて管理されます。サービスアカウントには、対応する人事の動きがありません。作ったきり、誰も見直さない、ということが起きやすい性質があります。
人のアカウントは、何かあれば本人に聞けます。サービスアカウントは、作った人が異動や退職でいなくなると、何のために存在するのか誰も分からなくなります。
管理が緩くなりがちな理由
人のアカウントに比べて、サービスアカウントは数が把握されていない、権限が必要以上に広い、認証の手段(APIキーなど)が長期間変えられていない、という状態になりやすい領域です。
理由は単純で、人の目に触れないからです。毎日ログインする人のアカウントは、問題があれば本人が気づきます。裏側で黙って動いているサービスアカウントは、動いているかぎり誰も見ません。
権限が広いまま放置されたサービスアカウントのAPIキーが漏れると、人のアカウントが乗っ取られるより大きな被害になることがあります。多要素認証もなく、広い権限で、24時間動けるからです。
AIエージェントとの関係
AIエージェントは、この「人以外のアカウント」の仲間として入ってきます。既存のID管理の中では、サービスアカウントと同じ扱いになるのが自然です。
ただ、従来のサービスアカウントと違う点があります。
従来のサービスアカウントは、決まった処理を決まった手順で実行します。夜間の集計処理が、ある日突然メールを送り始めることはありません。AIエージェントは、指示の解釈によって動きが変わります。読み込んだ資料に引きずられて、想定していなかった操作をすることがあります。同じ「人以外のアカウント」でも、挙動の予測しやすさがまったく違います。
従来のサービスアカウントは、たいてい一つの処理に一つ割り当てられ、長く使われます。AIエージェントは、業務のたびに生成され、終われば消えることもあり、必要な権限も業務ごとに違います。年単位で管理する前提と合いません。
そして、サービスアカウントには「誰の代理か」という概念がありません。夜間の集計処理は、誰の代理でもなく、システムとして動いています。AIエージェントは、誰かの指示を受けて、その人の代わりに動きます。「誰の委任で動いているのか」を表す仕組みが、従来のサービスアカウントの枠にはありません。
VC(Verifiable Credentials)は、この「誰の委任で、何をどこまで、いつまで」をAIエージェントに持たせる仕組みです。サービスアカウントとしての基本的な管理の上に、委任の情報を乗せる、という関係になります。
よくある誤解
AIエージェントはサービスアカウントとして管理すれば十分か。 出発点としては正しいです。IDを割り当て、権限を絞り、APIキーを管理する。ここまでは従来どおりです。足りないのは、委任の情報と、短い期限での細かい権限の出し入れです。
サービスアカウントは人のアカウントより安全か。 むしろ危険になりやすい領域です。多要素認証がなく、権限が広く、長期間見直されないためです。
人の共有アカウントとは違うのか。 違います。複数の人が一つのIDを使い回す共有アカウントは、誰が操作したか分からなくなるので避けるべきものです。サービスアカウントは、人ではなくプログラムに割り当てるもので、特定の処理に紐づけて管理します。
