IT用語
人ではなく、アプリケーションや自動処理が使うためのアカウント。クラウドのAPIを呼び出すときなどに使う。
サービスアカウントは、人がログインするためではなく、アプリケーションやバッチ処理、CI/CD などの自動処理が使うためのアカウントです。Google Cloud などのクラウドや Kubernetes では、この名前の仕組みが用意されています。
人のアカウントと分ける理由
- 担当者の異動や退職で、システムが止まらないようにする
- 自動処理に必要な権限だけを付け、人のアカウントの強い権限を使い回さない
- どの処理が何をしたかを、監査ログ で区別できるようにする
認証の方法
サービスアカウントは、パスワードの代わりにキーや アクセストークン で認証することが多くあります。クラウドの中で動く処理には、キーを発行せずに一時的な認証情報を受け取れる仕組みが用意されていることもあり、キーの漏えいを防ぐために推奨されています。
注意点
- 長期間有効なキーは漏えいすると悪用されやすい。発行は必要な場合に限り、定期的に ローテーション する
- キーをソースコードや リポジトリ に含めない(シークレット として管理する)
- 最小権限 にし、使っていないサービスアカウントは無効にする
- 攻撃者がサービスアカウントの権限を足がかりに、権限を広げる手口が報告されている









