APIキーが漏れる本当の理由|中小企業が今すぐやるべき”脱.env”とSecret Manager入門

クラウドサービスや生成AIの利用が当たり前になり、社内システムでは多数の「APIキー」がやり取りされています。しかし「APIキーって何?」「そんなに重要なの?」という認識の中小企業も多いのではないでしょうか。
実は、APIキーの漏えいは中小企業ほど発生しやすく、被害も大きくなりがちです。本記事では、APIキーが漏れる本当の理由と、明日から実践できる管理方法を、Google Cloudの標準サービスを使った具体例とともに解説します。
そもそもAPIキーとは?なぜ厳重管理が必要なのか
APIキーとは、ChatGPT、Google Cloud、AWS、各種SaaSなど、外部サービスを利用するときの「会社の鍵」です。プログラムやサーバーがサービスにアクセスする際に、本人確認の代わりとして使われます。
この鍵が外部に漏れると、以下のような被害が一瞬で発生します。
- 不正利用による高額請求(実例:1日で数百万円のAI API利用請求)
- 顧客データベースへの不正アクセスと情報漏えい
- サーバーの乗っ取り、暗号資産マイニングへの悪用
クラウド利用が一般化した今、APIキーは銀行口座の暗証番号と同じ重みを持つ情報です。「IT担当だけが扱うもの」と軽視せず、全社的な管理ルールが必要です。
なぜAPIキーが漏れるのか?中小企業に多い3つのパターン

パターン1:.envファイルをGitHubに誤コミット
開発者が使う「.env」ファイルにAPIキーを書いたまま、GitHubの公開リポジトリへコミットしてしまうケースです。「.gitignoreに書いたつもりだった」「過去のコミット履歴に残っていた」が定番の事故パターンです。
GitHubは公開リポジトリを自動スキャンして警告してくれますが、検知から数分以内にボットがそのキーで攻撃を始めます。「すぐに消したから大丈夫」は通用しません。
パターン2:チャットや社内Wikiにキーを貼って共有
「とりあえずSlackで送る」「Chatworkで共有しておく」「Notionに書いておく」がよくある落とし穴です。チャットや社内Wikiは退職者にも見えていたり、外部共有設定の見落としで第三者に渡る危険があります。
パターン3:退職者アカウントの権限放置
退職者のGoogleアカウントは削除したのに、その人が作成した「サービスアカウントの鍵」が残っているケースです。一度発行されたAPIキーは、発行者のアカウントを消しても無効化されません。退職時に鍵をローテーションしていない企業がほとんどです。
漏えいで何が起きる?想定される被害
APIキーの漏えいで実際に起きている被害を、具体例で紹介します。
| 漏れた鍵の種類 | 想定される被害 |
|---|---|
| AI API(OpenAI等) | 数時間で月額上限突破。気づいたら100万円超の請求 |
| クラウド管理キー | 仮想マシンの大量起動、マイニングに悪用 |
| データベース接続キー | 顧客情報の流出、損害賠償リスク |
| SaaS管理者キー | 業務システムの操作・データ改ざん |
中小企業はサイバー保険未加入のケースが多く、被害が出ても全額自社負担となります。「うちには関係ない」と考えるのは危険です。
今日から実装できる3つの対策

対策1:「.envをリポジトリに置かない」をルール化
まず、ソースコードと一緒にAPIキーを置かない運用に切り替えます。具体的には次の3点です。
- ローカル開発用の.envは作ってよいが、必ず.gitignoreに追加してGit管理外にする
- GitHubリポジトリに「Secret Scanning」を有効化する
- 過去にコミットしたキーは即座にローテーション(消すだけではNG。一度Web上に出たキーは漏れたものとして扱う)
対策2:シークレット管理サービスに集約する
APIキーは「Secret Manager」のような専用サービスに集約します。Google Cloudの「Secret Manager」、AWSの「Secrets Manager」、Azureの「Key Vault」などが代表例です。
Google Cloud(GCP)での構築例は以下の通りです。基本的なコマンド数本で暗号化基盤が完成します。
gcloud kms keyrings create my-keyring \
--location=asia-northeast1
gcloud kms keys create secret-encryption-key \
--keyring=my-keyring \
--location=asia-northeast1 \
--purpose=encryption \
--rotation-period=90d
あとはSecret Managerに値を登録するだけで、暗号化・アクセス制御・90日自動ローテーションまで標準で備わります。
対策3:監査ログとローテーションを仕組み化
「誰が」「いつ」「どのキー」にアクセスしたか、すべての履歴が残るようにします。Google CloudではAudit Logs機能を有効化するだけで、自動で記録が始まります。
また退職者発生時には、その人が触れていたキーを即座にローテーションする手順を運用ルールに組み込みましょう。月次でアクセスログをレビューする運用を始めれば、不審なアクセスにも気づけます。
なぜSecret Managerなのか?中小企業に向く理由

シークレット管理サービスは大企業向けと思われがちですが、実は中小企業にこそ向いています。
- 無料枠が大きい:Google Cloud Secret Managerはシークレット6件、月10,000回アクセスまで無料
- 既存のGoogle Workspaceアカウントで管理可能:新規アカウント作成不要
- 監査ログが自動で記録:別途SIEM導入不要
- 退職者対応が一発:その人のアカウント権限を剥奪するだけで、関連キーへのアクセスがすべて遮断される
「便利だが安全じゃない」「安全だが高い」の二択ではなくなりました。クラウドの標準機能を組み合わせるだけで、大企業並みの鍵管理が低コストで実現できる時代です。
よくある質問(FAQ)
Q1:APIキーって、そんなにたくさんあるんですか?
A:ChatGPT、Google Workspace、各SaaSツール、決済サービス、開発ツールなど、思ったよりたくさんあります。中小企業でも50〜100個保持しているケースが珍しくありません。
Q2:Secret Managerの導入って難しくないですか?
A:初期設定は1日あれば完了します。コマンド数本で構築可能で、運用ルールさえ整えれば、専門知識がなくても安全に使えます。
Q3:コストはどれくらいかかりますか?
A:中小企業の利用量なら月数百円〜数千円が目安です。Google Cloud Secret Managerはシークレット6件・月10,000回アクセスまで無料枠があり、まずは無料で試せます。
Q4:今すでに社内のどこにAPIキーがあるか分からない場合は?
A:まず「APIキーの棚卸し」から始めましょう。GitHub・Slack・Notion・社内Wikiを「sk-」「AKIA」などのプレフィクスで検索すると、放置されている鍵が見つかります。
まとめ
APIキーは「会社の鍵」です。.envをGitに置く、チャットで共有する、退職者の鍵を放置する、これらが漏えいの三大原因です。今日からできる対策として、「.envルール化」「Secret Manager集約」「監査ログとローテーション」の3つを実装すれば、中小企業でも大企業並みの鍵管理が実現できます。
クラウドの標準機能を活用すれば、専門知識がなくても始められます。まずは社内のAPIキー棚卸しから始めてみてください。