新しいガイド:評判を損なわずに専用IPをウォームアップする方法。 続きを読む →
MigoSMTP
SMTPとAPI更新日 2026/10/16

APIキーのセキュリティ:権限、保管、ローテーション、漏えい時の対応

メール送信用のAPIキーやSMTP認証情報が漏えいすると、数分のうちにあなたの名義でスパムが送信され、ドメインとIPの評価が損なわれるおそれがあります。本ガイドでは、各キーに必要最小限の権限だけを与える方法、保管場所、ダウンタイムなしのローテーション、そして漏えい後の最初の1時間にすべきことを解説します。

JL
Security Engineer
レビュー Karan Malhotra
  • 公開済み2026/08/04
  • 読了時間1 分
  • 文字数52 語
このガイドを共有

APIキーのセキュリティは、四つの習慣に集約されます。各キーに必要最小限の権限だけを与えること、適切なシークレットストアに保管すること、ダウンタイムなしでローテーションすること、そしていつか漏えいする日に備えた計画を用意しておくことです。漏えいした送信用キーは誰にでもあなたとしてメールを送らせてしまうため、データだけでなく送信者の評価も危険にさらします。

1アプリケーションと環境ごとのキー数
90日一般的なローテーション間隔
< 1時間漏えいしたキーを無効化するまでの目標時間

お使いのアカウントの権限名を確認してください。 本ガイドに出てくる権限名は、パターンを示す例です。MigoSMTPのアカウントで実際に提供されているオプションを使用し、機能する中で最も狭いものを選んでください。

キーが漏えいする理由

漏えいの経路例予防策
リポジトリにコミットされるキーを含む設定ファイルが公開または共有リポジトリにプッシュされる環境変数、無視ファイル、シークレットスキャンを使う
クライアントに配布されるJavaScriptやモバイルアプリの中にあるキー代わりに自社のサーバーを呼び出す
チャットやチケットで共有されるサポートのやり取りに貼り付けられたキーシークレットマネージャー経由で共有し、露出した場合はローテーションする
退職者のアカウントに残る元の業務委託先がまだキーを持っている人が離れるときにローテーションする
誤ってログに出力されるデバッグログがリクエストヘッダーを出力するログ内のシークレットをマスクする
サーバーが侵害されるマルウェアが環境変数を読み取るサーバーにパッチを適用し、各サーバーが到達できる範囲を制限する

ステップ1:アプリケーションと環境ごとに1つのキー

本番、ステージング、メールを送信するすべてのアプリケーションごとに、別々のキーを作成します。監査ログで見分けられるように名前を付けてください。

キー名使用元権限
shop-productionオンラインストア、注文メール送信のみ
shop-stagingテスト環境送信のみ(テスト用アドレス宛て)
crm-productionCRM、キャンペーン送信送信と自身の連絡先の管理
webhooks-readerレポート用のジョブイベントの読み取りのみ
ops-admin特定の担当者、まれな作業二要素認証付きのフルアクセス

ステップ2:最小権限を適用する

それぞれのキーについて、必要な最小限のことは何かを問いかけます。メールの送信に、連絡先リストの読み取り、DNSの変更、請求の管理は必要ありません。また、レポート用のジョブは送信できてはいけません。

  • メッセージを配信するだけのシステムには、送信専用のキーを優先して使います。
  • アカウント、請求、ユーザー管理は、キーではなく二要素認証を設定した人間のために残します。
  • 四半期ごとに権限を見直し、不要になったものを削除します。
  • アカウントでIPアドレス、ドメイン、レートによる制限が使える場合は、利用してください。使える内容はアカウントのセキュリティ設定をご覧ください。

ステップ3:キーを安全に保管する

キーは実行時に環境またはシークレットマネージャーから読み込みます。最小限のパターンを以下に示します。

# .env  (never commit this file)
MIGOSMTP_API_KEY=replace-with-your-key

# .gitignore
.env
*.pem
<?php
$key = getenv('MIGOSMTP_API_KEY');
if (!$key) {
    throw new RuntimeException('API key is not configured');
}

シークレットスキャンを追加しましょう。 コードホストでシークレットスキャンを有効にし、ビルドパイプラインでもスキャナーを実行してください。共有ブランチに届く前にキーを検出し、すり抜けた場合にもアラートで知らせてくれます。

ステップ4:ダウンタイムなしでローテーションする

  1. 新しいキーを作成する。 同じ権限を付与し、日付やバージョンを含む名前を付けます。
  2. 保管する。 シークレットマネージャーまたは環境設定に追加します。
  3. デプロイする。 変更をリリースし、キーを読み込むサービスを再起動します。
  4. 確認する。 配信ログで、通信が新しいキーを使っていることを確かめます。
  5. 古いキーを無効化する。 通信が移行してから行ってください。少し待って、失敗が出ていないかを確認します。
  6. 記録する。 日付、理由、実施者を書き留めます。

ステップ5:不正利用を監視する

兆候考えられる意味対応
送信量が通常よりはるかに多いキーの漏えい、またはコード内のループキーを一時停止して調査する
新規または見慣れない宛先あなたのキーでスパムやフィッシングが送信されているキーを無効化し、メッセージを確認する
異常な時間帯の送信自動化された不正利用送信元IPを確認し、アクセスを制限する
バウンスや苦情の増加不適切な宛先、または不正利用抑制リストと送信元を確認する。スパムチェックリストを参照
新しいIPアドレスからのリクエスト自社のサーバー以外でキーが使われている許可リストを追加してローテーションする

キーが漏えいしたら:最初の1時間

経過時間(分)実施すること
0〜10キーを無効化する。まだ代替をデプロイできなくても、不正利用が続くより短い停止を受け入れる
10〜30新しいキーを作成してデプロイする。通常の送信を確認する
30〜60配信ログで、身に覚えのないメッセージがないか確認する。苦情率、バウンス率、ブロックリストを確認する
その後漏えいの経緯を突き止め、原因を取り除き、関連するシークレットをローテーションして、学んだことを書き残す

あなたの名義でメールが送信された場合は、ブロックリスト解除ガイドに従い、アカウントの審査に経緯が伝わるよう、サポートにもご連絡ください。

キーが露出した可能性がありますか? まずキーを無効化し、その後キーの名前と時刻を添えてご連絡ください。直近の送信内容の確認をお手伝いします。

サポートに問い合わせる

参考資料と出典

よくある質問

メール送信用のAPIキーが特に重要なのはなぜですか?

送信用のキーを持つ人は誰でも、あなたとして送信できます。攻撃者は漏えいしたキーを使って数分のうちにフィッシングやスパムを送信し、その結果、ドメインとIPがブロックリストに載り、アカウントが停止されることがあります。被害は評判に及び、その回復には数週間かかります。

APIキーにおける最小権限とはどういう意味ですか?

各キーに、その役割に必要なことだけを許可し、それ以上は許可しないということです。Webフォームからメールを送信するためのキーは、連絡先の閲覧、ドメインの変更、請求の管理ができるべきではありません。漏えいしても、被害はそのキーに許可されていた範囲に限られます。

すべてに1つのキーを使ってもよいですか?

いいえ。アプリケーションと環境ごとに別々のキーを使ってください。1つが漏えいしても、そのキーだけを無効化でき、ログからどのシステムが送信したメッセージかが分かります。キーを共有すると、インシデント対応が遅くなり、リスクも高まります。

APIキーはどこに保管すべきですか?

環境変数またはシークレットマネージャーを使い、実行時に読み込んでください。キーをソースコード、Webサイトやモバイルアプリのフロントエンド、公開リポジトリ、チケット、チャットに入れないでください。シークレットを含む設定ファイルは、無視ファイルに追加してください。

キーはどのくらいの頻度でローテーションすべきですか?

本番用のキーは90日ごと、そしてアクセス権を持つ人が退職したとき、ノートパソコンを紛失したとき、漏えいが疑われるときにはすぐに、というのが一般的な基準です。間隔より重要なのは、すでに実践したことのあるローテーションの手順を持っていることです。

ダウンタイムなしでキーをローテーションするにはどうすればよいですか?

新しいキーを作成し、シークレットストアに追加し、変更をデプロイして、通信が新しいキーを使っていることを確認してから、最後に古いキーを無効化します。先に無効化してはいけません。デプロイ中に障害が発生します。

キーが漏えいした場合はどうすればよいですか?

ただちにキーを無効化し、代わりのキーを作成してデプロイし、直近の送信に身に覚えのないメッセージがないかを確認し、ブロックリストへの登録や苦情の急増がないかを調べます。そのうえで、どのように漏えいしたのかを突き止め、その経路をふさいでください。

キーが悪用されていることはどうすれば分かりますか?

急な送信量の増加、新規または普段と異なる宛先、深夜などの異常な時間帯の送信、バウンスや苦情の増加、見慣れないIPアドレスからのリクエストに注目します。送信量とバウンス率のアラートを設定しておくと、早期に気づけます。

SMTP認証情報はAPIキーと違うものですか?

どちらも送信が許可されていることを証明するという同じ目的を持ち、同じ注意が必要です。SMTPのユーザー名とパスワードはAPIキーと同様に扱い、アプリケーションごとに1組を使い、シークレットとして保管し、定期的にローテーションしてください。接続の詳細はSMTP設定ガイドをご覧ください。

モバイルアプリやWebページのJavaScriptにAPIキーを入れてもよいですか?

いいえ。デバイスやブラウザに配布されたものは、すべて取り出される可能性があります。メールは自社のサーバーから送信し、アプリやページにはそのサーバーを呼び出させて、サーバーがキーを使ってメールAPIを呼び出すようにしてください。

トピック#APIキー#セキュリティ#権限#ローテーション#認証情報#シークレット
このガイドは役に立ちましたか?いただいたご回答は、ドキュメントの改善に役立てます。

関連記事

SMTPとAPI本番環境でのメールAPI連携:冪等性、リトライ、一括送信のパターンHTTP APIで1通のメールを送るのは簡単です。本当に難しいのは、二重送信や欠落、リトライの集中を起こさずに数百万通を送ることです。本ガイドでは、冪等性と自前の重複排除テーブル、アウトボックスパターン、キューとワーカー、バッチ処理、4xx・5xx・ネットワークエラー別のリトライ判定、メッセージIDの保存、レート制限への配慮、機能縮退、テストを取り上げます。ガイドを読む →到達率メール到達率インシデント対応ランブック:急激な低下への対処法配信率が突然低下したとき、最初の1時間が被害の大きさを左右します。本ランブックでは、30分トリアージの手順、症状から原因を探る判断表、収集すべき証拠、封じ込めと復旧の手順、関係者・サポート向けの連絡テンプレート、事後レビューの形式、そしてご自身のトラフィックに合わせて調整できるガードレールとアラートしきい値の例をご紹介します。ガイドを読む →ドメインとDNSメール用DNSレコードのトラブルシューティング:TXTの長さ、TTL、伝播、レジストラ固有の癖メール認証の失敗の多くは、公開しようとしたレコード自体の誤りではなく、DNS管理画面がレコードを保存する際の癖が原因です。分割されていない長いDKIM鍵、二重に追加されたドメイン名、値に貼り付けられた引用符、2つ目のSPFレコード、有効になったプロキシ、古いキャッシュなどが典型です。本ガイドでは、それぞれの見つけ方と直し方を解説します。ガイドを読む →

数分で送信を始めましょう。

アカウントを作成し、ドメインを追加して、最初のメールを送信します。

無料で始める 営業に相談