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

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

 

APIキー管理

クラウドサービスや生成AIの利用が当たり前になり、社内システムでは多数の「APIキー」がやり取りされています。しかし「APIキーって何?」「そんなに重要なの?」という認識の中小企業も多いのではないでしょうか。

実は、APIキーの漏えいは中小企業ほど発生しやすく、被害も大きくなりがちです。本記事では、APIキーが漏れる本当の理由と、明日から実践できる管理方法を、Google Cloudの標準サービスを使った具体例とともに解説します。

そもそもAPIキーとは?なぜ厳重管理が必要なのか

APIキーとは、ChatGPT、Google Cloud、AWS、各種SaaSなど、外部サービスを利用するときの「会社の鍵」です。プログラムやサーバーがサービスにアクセスする際に、本人確認の代わりとして使われます。

この鍵が外部に漏れると、以下のような被害が一瞬で発生します。

  • 不正利用による高額請求(実例:1日で数百万円のAI API利用請求)
  • 顧客データベースへの不正アクセスと情報漏えい
  • サーバーの乗っ取り、暗号資産マイニングへの悪用

クラウド利用が一般化した今、APIキーは銀行口座の暗証番号と同じ重みを持つ情報です。「IT担当だけが扱うもの」と軽視せず、全社的な管理ルールが必要です。

なぜAPIキーが漏れるのか?中小企業に多い3つのパターン

APIキー漏えい

パターン1:.envファイルをGitHubに誤コミット

開発者が使う「.env」ファイルにAPIキーを書いたまま、GitHubの公開リポジトリへコミットしてしまうケースです。「.gitignoreに書いたつもりだった」「過去のコミット履歴に残っていた」が定番の事故パターンです。

GitHubは公開リポジトリを自動スキャンして警告してくれますが、検知から数分以内にボットがそのキーで攻撃を始めます。「すぐに消したから大丈夫」は通用しません。

パターン2:チャットや社内Wikiにキーを貼って共有

「とりあえずSlackで送る」「Chatworkで共有しておく」「Notionに書いておく」がよくある落とし穴です。チャットや社内Wikiは退職者にも見えていたり、外部共有設定の見落としで第三者に渡る危険があります。

パターン3:退職者アカウントの権限放置

退職者のGoogleアカウントは削除したのに、その人が作成した「サービスアカウントの鍵」が残っているケースです。一度発行されたAPIキーは、発行者のアカウントを消しても無効化されません。退職時に鍵をローテーションしていない企業がほとんどです。

漏えいで何が起きる?想定される被害

APIキーの漏えいで実際に起きている被害を、具体例で紹介します。

漏れた鍵の種類 想定される被害
AI API(OpenAI等) 数時間で月額上限突破。気づいたら100万円超の請求
クラウド管理キー 仮想マシンの大量起動、マイニングに悪用
データベース接続キー 顧客情報の流出、損害賠償リスク
SaaS管理者キー 業務システムの操作・データ改ざん

中小企業はサイバー保険未加入のケースが多く、被害が出ても全額自社負担となります。「うちには関係ない」と考えるのは危険です。

今日から実装できる3つの対策

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なのか?中小企業に向く理由

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キー棚卸しから始めてみてください。

お問合せはこちら➡