API キー管理ガイド: SendGrid の具体例で学ぶ推奨構成

API キー管理ガイド: SendGrid の具体例で学ぶ推奨構成

API キーは漏出すると不正利用や設定改竄といった重大な被害につながります。この記事は SendGrid を例に、API キー管理における推奨構成を紹介します。
2025.10.15

はじめに

本記事では、SendGrid を例に、 API キー漏出時のリスクと、推奨されるキーの扱い方を整理します。

API キーとは

API を呼び出す権限を与える秘密情報の総称です。本人確認の代替となるため、第三者に取得されると正規ユーザーになりすまされます。生成・保管・受け渡し・失効の各工程を管理すること、および、権限の最小化と、監査できる状態の担保が重要です。

SendGrid とは

SendGrid は、トランザクションメールとキャンペーン配信を提供するクラウド型メール配信基盤です。Mail Send API や管理系 API を備え、ドメイン認証、レピュテーション管理、イベント計測を通じて配信のオブザーバビリティを提供します。

対象読者

  • API キーを利用してシステムを開発・運用している方
  • セキュリティ運用の担当者

参考

API キーが漏出するとどうなるのか

API キーが漏出してしまうと、攻撃者は正規ユーザーになりすまして API を呼び出せます。たとえば SendGrid の API キーは Mail Send API や管理系 API への入口です。漏出すると、攻撃者は正規の送信者になりすましてメールを大量送信するなどの操作を行えるようになります。その結果として、次のような問題が生じる可能性があります。

  • 不正送信の急増によるブロックやスパム判定の増加
  • アカウントが審査対象になり、状況によっては一時停止される
  • 送信ドメインと送信 IP のレピュテーション低下
  • 課金超過の発生

ハードコーディングの禁止

API キーをコードに埋め込まないことが重要です。

なぜハードコーディングが危険か

  • 履歴からの再現: Git の履歴やバックアップに残り、削除後も過去コミットから復元可能
  • 意図せぬ公開: 個人リポジトリや検証用ブランチの公開、スクリーンショット共有、エラーログ貼付からの漏出
  • 監査不能: 誰がいつ触れたか不明瞭で、退職や委託終了後に追跡ができない

安全な置き場所と渡し方

  • 置き場所: クラウドのシークレットマネージャに保管し、用途別と環境別で分割し、名称とラベルによる識別を行う
  • 渡し方: 実行ロールに最小権限を付与し、起動時にランタイムが環境変数として一時注入
  • 記録と可視化: 取得イベントの監査ログ化

コード上の API キーはゼロ・保管は金庫・受け渡しは環境変数・参照は最小権限、という四点を揃えることが重要です。これで、API の漏出リスクが大きく下げられます。

API キーの権限設定とローテーション

API キーに最小権限と定期ローテーションを適用することで、被害範囲を局所化することができます。

  • 権限スコープの最小化
    API キーを使ってアクセスできる機能の範囲を適切に設定します。SendGrid では API Key Permissions を Custom Access に設定します。たとえば送信だけが必要なら Mail Send のみを許可します。
    API キーの権限設定

  • 定期ローテーション
    定期的に新しい鍵を発行し、旧鍵を無効化することで、漏出時の悪用可能期間を短縮し、権限変更や担当者異動に伴う問題を回避できます。

IP 制限でつくる第二の防壁

特定の IP にのみアクセスを制限することで、鍵が漏れても外部から使えない状態を作ることが可能です。SendGrid では IP 許可リストでアクセス可能な IP アドレス範囲を設定できます。

なぜ IP 制限が有効か

  • 盗難前提の多層防御: API キーが漏れても、許可外ネットワークからの呼び出し遮断
  • 影響範囲の局所化: 本番と検証の送信元を分離しリスクを減らす
  • 誤用の早期検知: 許可外アクセスの拒否ログ、異常兆候の可視化

SendGrid での設定方法

  1. Settings > IP Access Management を開く
    IP Access Management
  2. Add IP Addresses で IP を登録

この設定で、認証は API キー、認可は IP 許可リストという二段構えになります。鍵が漏れても、許可外の場所からは実害に至りにくい状態を維持できます。

ログの取得とアラート設定

継続的な監視を行うことで、異常を早期に検知することができます。SendGrid では下記のような方法で監視が可能です。

  • ログ収集: Email Activity API 等を使用し定期取得
  • アラート設定: Settings > Alert Settings で Email Credit Usage を有効化
    Alert Setting

もし不正アクセスが起きたら

下記の対処方法が有効です。

  • 当該 API キーの無効化
  • IP 許可リストの最小化
  • 管理アカウントのパスワードリセット
  • MFA 再登録

CSV の取得

SendGrid では、 Activity メニューから、該当期間やイベント種別を指定して過去の Activity ログをエクスポートできます。調査のために役立てることができます。

export logs

まとめ

本記事では、API キー全般の扱いに関する指針を整理しました。記事の中で紹介した手法を実践することで、認証情報の悪用による不正操作のリスクを下げられます。今回は特に SendGrid を例に、具体的な設定方法を記載しました。利用するサービス次第で手順は異なるため、自組織に合わせて読み替え、定期的な見直しを行ってください。

この記事をシェアする

FacebookHatena blogX

関連記事