Skip to content

Not My Root

本番DBの参照権限がない。APIのスコープが足りない。仕事をしているとよくある。

面倒だが、少しほっとする。ここから先はわたしの責任じゃない。権限とは責任だ。ないならないで、それは境界線が引かれているということだ。

rootを渡しますね、と言われたことがある。ノータイムで断った。rootを持ったら、そのサーバーで起きるすべてがわたしの責任になる。壊しても、壊されても。触りたいのはアプリケーション層であって、カーネルパラメータではない。

昔読んだUNIXの本に、頑固な管理者からrootを取り返す話があった。PATHにトラップを仕込んで、管理者が普段使うコマンドを実行した瞬間に権限を奪い取る。正攻法で渡してもらえないなら、裏口から取る。権限は結局、技術か信頼か、どちらかに帰着する。

NHIという言葉を最近よく聞く。Non-Human Identity。サービスアカウント、APIキー、OAuthトークン。人間じゃないものに与えるIDだ。企業の中では人間のIDの10倍以上あるらしい。大半は作ったまま放置されている。スコープは過剰で、誰が作ったかもわからない。人間のIDにはSSOもMFAも整えたのに、人間じゃないIDは野放し。2024年にはMicrosoftが廃止し忘れたテスト用のOAuthアプリ経由で社内メールに侵入された。

AIエージェントがAPIを叩き、データベースに繋ぎ、外部サービスと連携する時代だ。エージェントは退職しない。引き継ぎもしない。権限を返上することもない。

rootを渡しますねと言われてノータイムで断れるのは、重さを知っているからだ。重さを知らないものに権限を渡したとき、責任はどこにいくのだろう。