シークレット【secret】

概要

シークレットとは、「秘密」という意味の英単語。情報システムやソフトウェアの開発・運用では、外部に漏洩してはならない認証情報など秘密のデータの総称として用いられる。パスワードAPIキー暗号鍵秘密鍵)、アクセストークンデータベースの接続情報などがこれに該当し、情報セキュリティ上の重要な管理対象とされている。
シークレットのイメージ画像

シークレットは、主にシステムが特定のサービスやリソースへアクセスする権限を証明するために用いられる。第三者に漏洩すると、不正ログインや機密データの窃取、なりすまし­などの被害につながるため、厳重な管理が求められる。

Web APIクラウドサービスなどにシークレットを用いてプログラムから自動的にアクセスする手法が広まった初期には、ソースコード上これに直接記述する手法が見られた。しかし、コードを共有・公開した際に誤って流出する事故が多発したため、現在はシークレットをコードから切り離して管理する方式が定着している。

代表的な方法として、プログラムの実行時に環境変数としてシークレットを渡す方式がある。また、「HashiCorp Vault」や「AWS Secrets Manager」などシークレット管理専用のツールやクラウドサービスを利用し、必要なときだけ安全に取り出す仕組みも広く採用されている。こうしたサービスは暗号化保管やアクセス制御監査ログの記録といった機能を備える。

開発・検証・本番の各環境でそれぞれ異なる認証情報を使い分けるのが一般的であり、環境ごとの適切な制御が必要となる。クラウド環境やDevOpsの普及に伴い、一つのシステムで管理するシークレットの数は増加する傾向にある。マイクロサービスアーキテクチャでは、多数のサービスがそれぞれ独自の認証情報を持つため、管理対象が膨大になることもある。

シークレットの漏洩リスクを下げる手段として、有効期限を設けて定期的に更新する「ローテーション」がある。近年ではソースコードへのシークレットの混入を自動検知するツールも普及しており、開発フローに組み込むことで人為的なミスによる流出を未然に防ぐ体制が整えられつつある。

(2026.6.15更新)
 
この記事の著者 : (株)インセプト IT用語辞典 e-Words 編集部
1997年8月より「IT用語辞典 e-Words」を執筆・編集しています。累計公開記事数は1万ページ以上、累計サイト訪問者数は1億人以上です。学術論文や官公庁の資料などへも多数の記事が引用・参照されています。