企業におけるID管理は、これまでは従業員など人に割り当てられるID(Human Identity)が主な対象であった。しかし、近年、主にシステム間連携に用いられるID(NHI:Non-Human Identity)の管理が新たな課題として浮上している。NHIが悪用されると、クラウドサービスなどの連携先システムが侵害され、不正アクセスや情報漏洩のリスクが生じる。本稿では、Git環境を代表とするコードリポジトリ環境におけるNHI管理の実態や攻撃傾向を整理し、管理強化に向けたセキュリティ対策を紹介する。
NHI(Non-Human Identity)の特徴
NHIとは、システムに割り当てられるサービスアカウントなど、人間以外に割り当てられるIDを指す。近年では、クラウドサービスの普及に加え、生成AIやAIエージェントの活用が進む中、システム間連携やAPI呼び出しが急増し、NHIの利用機会が大きく拡大している。これに伴い、NHI自体、そしてAPIキーやトークンなどのNHIの認証に用いられる情報の適切な管理が強く求められ始めている。
NHIの管理の難しさは、Human Identityとの特徴の違いに起因するところが大きい。図1に、Human IdentityとNHIの主な特徴を比較する。
出典:ITR
なかでも、管理方法の違いに特に注目すべきである。Human Identityは、管理方法が明確である場合が多く、IDのライフサイクル管理や定期的な棚卸しを通じて、適切な運用が可能である。一方、NHIは、所有者や管理者が不明確なまま利用されることも多く、有効期限のないトークンが放置されるなど、適切に管理されていない場合も多い。
また、NHIは、ソースコード管理やCI/CDパイプライン上で広く利用されており、開発者が連携用のAPIキーやサービスアカウントをコードに埋め込んだり、環境変数として定義する過程で、NHIやその認証情報が意図せずGit環境などのコードリポジトリ環境上に蓄積・露出している実態がある。