要約
はい、Postmanは、デフォルトで有効になっているクラウド同期を伴う環境変数にAPIキーやその他の認証情報を保存すると、それらを保存します。これはPostmanがあなたのキーを悪用しているという意味ではありませんが、あなたの認証情報がサードパーティのサーバーに存在することを意味します。このことを理解することで、Postmanのデフォルト設定があなたのセキュリティ要件に合致するかどうか、またApidogのようなローカルファーストのツールがより良い選択肢となるのはいつか、を判断するのに役立ちます。
💡 Apidogは、無料で利用できるオールインワンのAPI開発プラットフォームです。Apidogは、環境変数とAPIキーをデフォルトでローカルに保存するため、明示的にチーム同期を有効にしない限り、認証情報はデバイス上に留まります。Apidogを無料で試せます。クレジットカードは不要です。
はじめに
「Postmanは私のAPIキーを保存しているのか?」という疑問は、開発者コミュニティで頻繁に持ち上がります。Redditのr/webdevやr/programmingを検索すれば、セキュリティ監査の指摘やセキュリティチームとの会話がきっかけとなって、同様の質問をしている開発者のスレッドが見つかるでしょう。
この懸念は正当です。APIキーはサービスへのパスワードであり、漏洩すれば不正請求やリソース悪用のリスクがあります。多くの開発者がAPIクライアントツールにAPIキーを保存していますが、そのリスクや保存先を十分に把握しているとは限りません。
この記事では、PostmanでのAPIキー保存の動作と、その対策方法を具体的に解説します。
直接的な回答:はい、ただし重要な背景があります
Postmanは、以下のケースでAPIキーや認証情報を保存・同期します。
環境変数利用時
例:API_KEYという環境変数にsk-abc123...を格納すると、クラウド同期が有効なら自動的にPostmanクラウドに同期されます(デフォルト有効)。コレクション変数・グローバル変数
コレクションやグローバルスコープで保存した変数もクラウド同期対象です。リクエストボディやヘッダーに直書きした認証情報
たとえばAuthorization: Bearer sk-abc123...のように直接記述して保存した場合も同期されます。
デフォルトで同期されないもの
Postman Vaultに明示的に保存した値はクラウド同期されません。Vaultはローカル保存専用で、環境変数とは独立しています。
変数の保存例(環境変数)
{
"API_KEY": "sk-abc123..."
}
Postman UIで「環境」>「変数」から該当値を編集可能です。
「クラウド同期」が実際に意味するもの
Postmanのクラウド同期は、ワークスペースや変数、コレクションの変更が自動的にPostmanサーバーに反映される仕組みです。手動同期や保存操作は不要で、作業と同時にクラウドへ反映されます。
- メリット: デバイスの故障時も、データはクラウドから復元可能。複数デバイス間で自動的に同期。
- リスク: 認証情報がローカルPCだけでなく、Postmanクラウドにも常時存在します。
暗号化
- 保存時: AES-256で暗号化
- 転送時: TLSで保護
暗号化されているものの、Postmanサービス自体やアカウントが侵害された場合はアクセスされるリスクが残ります。
Postmanのプライバシーポリシーと認証情報
- データ管理者ではなくプロセッサ: Postmanはユーザーデータをサービス提供目的で処理します。
- マーケティング目的の利用なし: ワークスペースコンテンツの販売は行わないと明記。
- サブプロセッサ: インフラやサポート、分析目的で第三者サービスを利用。詳しくは公式サブプロセッサリスト参照。
- 法的要求: 米国法執行機関からの要請には応じる必要あり。
- 情報漏洩時の通知義務: 侵害時はユーザーに通知。
- データ削除: アカウント削除でデータも消去(バックアップ保持期間あり)
要点: Postmanが悪意を持って情報を販売・悪用することはありませんが、組織のセキュリティポリシーがクラウド保存を許可しているかは要確認です。
ワークスペースの可視性リスク
Postmanワークスペースには「Public」「Team」「Private」があり、Public設定だと誰でもアクセス可能です。
事例
2023年、CloudSEKは30,000超のPublicワークスペースから実際のAPIキーやトークンが漏洩している事例を発見。開発者がPublic設定にしたまま、認証情報を環境変数に保存していたことが原因です。
対策:
- 認証情報を含むワークスペースは必ず「Private」に設定
最もリスクが高いのは?
- 本番環境の認証情報を保存している
- チームワークスペースのアクセス範囲が広すぎる
- 規制業界(医療・金融・政府など)で利用している
- 高権限のAPIキーを登録している
- 請負業者・コンサルタントで顧客の認証情報を管理している
このような場合は、認証情報漏洩のインパクトが特に大きくなります。
Postman Vaultの使い方と注意点
Postman Vaultは、認証情報をローカルマシンのみに保存する新機能です。クラウド同期を避けたい認証情報はVaultに格納し、以下のように利用します。
{{vault:YOUR_SECRET_KEY}}
導入手順
- 環境変数から認証情報を削除
- Vaultに新しい秘密値を登録
- コレクションやリクエストで
{{vault:variable_name}}形式に置換
注意点:
- チーム共有には向かない(各自がローカルVaultを設定する必要あり)
- ヘッダー等に直書きしたキーや、既存のグローバル変数には適用されない
ローカルファーストツールの選択肢
ローカルファーストなAPIクライアントは、初期設定なしでデータをローカルのみに保持します。
- Postman: クラウド同期がデフォルトON。Vaultのみローカル保存。
- Apidog: 同期をONにしなければ全データがローカル保存。
- Bruno: すべてファイルシステム上に保存、クラウド同期機能なし。
ポイント:
安全なデフォルト設定が必要ならApidogやBrunoが有用。Brunoは完全ローカル、Apidogはローカル/クラウドの選択が可能です。
実践的な推奨事項
-
保存している認証情報を監査
- Postmanで「環境」「コレクション」「グローバル」変数を確認
- APIキーやトークン、パスワードを洗い出す
-
Vaultへの移行
- 秘密情報はVaultへ移動し、従来の変数や直書きは削除
- チームのドキュメントやオンボーディング手順も更新
-
権限の限定
- テスト用途のAPIキーは最小権限にする
- 本番や管理者権限のキーを登録しない
-
ワークスペースの可視性管理
- すべてのワークスペースをPrivateに設定
- Public設定になっていないか定期的に点検
-
脅威モデルの考慮
- 個人プロジェクトや低機密APIなら現状で十分な場合もあるが、本番や規制対象データはVaultやローカルファーストツールの利用を推奨
よくある質問
Q: Postmanは私のAPIキーやワークスペースデータを販売していますか?
A: いいえ。サービス提供と改善目的のみで使用されます。
Q: Postmanアカウント侵害時、攻撃者はAPIキーを取得できますか?
A: はい、クラウド同期されている環境変数等に保存していた場合は取得されます。Vault利用と多要素認証(MFA)の有効化が必須です。
Q: PostmanのMFA対応状況は?
A: 認証アプリ経由のMFA対応済み。必ず有効化しましょう。
Q: Vault保存のAPIキーは安全ですか?
A: ローカルマシン上のみ保存されます。マシンが侵害されない限りクラウドからアクセス不可です。
Q: どのクラウドツールにもAPIキーを保存できない場合は?
A: Brunoは完全ローカル。Apidogもローカルモードにすればクラウド非依存。HoppscotchやApidogのセルフホスト版も選択肢です。
Q: PostmanクラウドからAPIキーを削除するには?
A: Postmanの「環境」等から該当変数を削除し、必要ならVaultに移行。過去の同期データごと削除したい場合はワークスペース削除とアカウント設定で完全削除を行ってください。
「Postmanは私のAPIキーを収集しているのか?」
デフォルト設定・一般的な利用パターンでは「はい」となります。
重要なのは、製品の特性を理解し、Vaultやローカルファーストの代替ツールを適切に選ぶことです。
セキュリティ要件に応じた運用を心がけましょう。
Top comments (0)