安全な API キー管理のチェックリスト
API セキュリティは重要です。データ侵害の 65% は資格情報の侵害に関連しています。 API キーを不適切に管理すると、データ侵害が発生し、1 件あたり平均 $1.2M の損害が発生する可能性があります。このガイドでは、API キーを保護し、リスクを最大 78% 削減するための実用的な手順を説明します。
API キー セキュリティに関する重要なプラクティス:
- アクセス制御: ロールベースのアクセス (RBAC) と一時トークンを使用します。
- 安全な保管: AWS Secrets Manager や HashiCorp Vault などのツールにキーを保存します。
- 暗号化: 保存データには AES-256 を使用し、転送には TLS 1.3+ を使用します。
- キーローテーション: 30 ~ 90 日ごとにキーをローテーションし、プロセスを自動化します。
- モニタリング: 使用パターンを追跡し、異常を検出し、迅速に対応します。
- 安全な転送: 電子メールによるキーの共有は避け、SFTP などの安全なプロトコルを使用してください。
クイックヒント:
- API キーをコード リポジトリに保存しないでください。
- 追加の保護のために、IP ホワイトリストとレート制限を使用します。
- 専用のキー管理サーバーを備えた安全なホスティング環境。
このチェックリストに従うことで、侵害や不正アクセスから API を保護できます。
アプリケーションでプライベート API キーを保存および保護するためのベスト プラクティス
主要なセキュリティ標準
最新の API セキュリティは、強力な暗号化と厳格なアクセス制御によって、API キーを不正アクセスやサイバー脅威から保護することにかかっています。以下は、API キーのセキュリティを維持するための暗号化、アクセス管理、キー ローテーションの主要なプラクティスです。
暗号化標準
使用 AES-256 保存データの暗号化と TLS 1.3 以上 転送中のデータを保護するための完全な前方秘匿性を備えています。
| セキュリティレイヤー | 標準 | 実装 |
|---|---|---|
| 休息中 | AES-256 | HSM(ハードウェア セキュリティ モジュール)を使用してデータベース レベルでデータを暗号化します。 |
| 輸送中 | TLS 1.3 以上 | ECDHE(Elliptic Curve Diffie-Hellman Ephemeral)鍵交換を使用する |
アクセスルール
埋め込む ロールベースのアクセス制御 (RBAC) API キーの権限を効果的に管理します。特定のアクセス レベルを持つロールを割り当てます。例:
- フロントエンド開発者: 読み取り専用アクセス
- バックエンド開発者: 必要に応じて書き込み権限
長期間有効なキーの代わりに、一時的なスコープ付きアクセストークンを使用することでセキュリティを強化します。集中化された アイデンティティとアクセス管理 (IAM) このシステムは権限管理を簡素化し、許可されたユーザーのみがアクセスできるようにします。
主要更新スケジュール
頻繁にキーをローテーションすると、侵害のリスクが軽減されます。環境のセキュリティ要件に基づいてローテーション スケジュールを設定します。
| 環境タイプ | 回転周波数 | 追加アクション |
|---|---|---|
| 高いセキュリティ | 30~90日ごと | ローテーションを自動化し、アラートを有効にする |
| 中程度のセキュリティ | 90~180日ごと | 定期的なレビューを実施する |
| 低セキュリティ | 毎年 | 手動で回転する |
次のような自動化ツールを活用する ハシコープ ボールト または AWS シークレットマネージャー キーのローテーションを管理します。スケジュールを自動化し、有効期限 (TTL) 値を設定し、管理者向けのアラートを構成します。ダウンタイムを回避するには、ローテーション プロセス中に古いキーと新しいキーを 24 ~ 48 時間重ねます。これを継続的な監視と組み合わせることで、セキュリティを損なうことなくサービスの可用性を維持できます。
保管および転送方法
API キーを安全に管理するには、慎重な保管と安全な転送方法が必要です。2021 年の GitGuardian レポートでは、2020 年から 2021 年にかけて、GitHub の公開リポジトリで見つかったシークレットが 20% 増加したことが明らかになり、安全なプラクティスの重要性が高まっていることが強調されました。
ストレージオプション
ストレージ ソリューションによって、セキュリティと複雑さのレベルは異なります。インフラストラクチャとセキュリティのニーズに合わせて選択する必要があります。
| ストレージソリューション | セキュリティレベル | 使用事例 | 重要な考慮事項 |
|---|---|---|---|
| 環境変数 | 基本 | 発達 | セットアップは簡単だが、セキュリティは限られている |
| シークレットマネージャー | 高い | 生産 | 暗号化、アクセス制御、ログを含む |
| 暗号化されたデータベース | 高い | 企業 | 慎重な鍵管理と複雑な設定が必要 |
| ハードウェア セキュリティ モジュール | 最大 | 重要なシステム | 最高のセキュリティだがコストが高く複雑 |
安全に保存したら、API キーが同様に安全な方法を使用して送信されるようにします。
乗り換え安全ルール
API キーを安全に転送することは、保管することと同じくらい重要です。電子メールやメッセージング アプリ経由でキーを送信することは避けてください。代わりに、次のガイドラインに従ってください。
- 使用 TLS 1.3 以上 安全な通信のために、エンドツーエンドの暗号化を実施し、多要素認証 (MFA) を有効にします。
- 次のような安全なファイル転送プロトコルを選択してください FTPサーバー または 宇宙 リスクを最小限に抑えるため。
コードリポジトリの保護
2021 年に発生した Twitch のデータ侵害では、ソースコードが漏洩して API キーが公開され、堅牢なリポジトリ セキュリティの必要性が浮き彫りになりました。コードを保護するには、次のことを行います。
| 保護方法 | ツールの例 | 目的 |
|---|---|---|
| コミット前のフック | Git の秘密 | 偶発的なAPIキーコミットをブロックします |
| シークレットスキャン | ギットガーディアン | リポジトリ内の公開された秘密を特定します |
| ブランチ保護 | GitHub/GitLab | マージ前にコードレビューを実施 |
さらに、 .gitignore ファイルを使用して機密ファイルを除外し、秘密のスキャン ツールを使用して偶発的な漏洩を検出します。さらに保護を強化するには、コードの変更をマージする前に複数のレビュー担当者を必要とする分岐ルールを設定します。
セキュリティ監視
侵害を迅速に検出して阻止するために、API キーを注意深く監視してください。IBM の 2021 年データ侵害コストレポートによると、組織がデータ侵害を特定して封じ込めるには平均 287 日かかります。これは、潜在的な損害が明らかになるまでに長い時間です。
使用状況の追跡
主要な指標を監視するために詳細なログ記録と分析を設定します。追跡する内容は次のとおりです。
| メトリックタイプ | メトリック | 警告サイン |
|---|---|---|
| リクエストボリューム | 毎日または毎時間のAPI呼び出し | 突然の急上昇や異常なパターン |
| エラー率 | 認証失敗 | 複数回の失敗した試み |
| 地理的アクセス | アクセス場所 | 予想外の出身国 |
| データ転送 | アクセスされたデータの量 | データ転送の異常な増加 |
| タイミングパターン | アクセスタイムスタンプ | 営業時間外の活動 |
より高度な脅威検出のために、多くの企業が機械学習ツールを使用しています。たとえば、Google Cloud の Apigee プラットフォームでは、AI を利用して疑わしい API トラフィック パターンを識別し、確認のためにフラグを立てます。異常が検出された場合は、以下に概説する緊急対応手順に従ってください。
緊急対応手順
セキュリティ侵害が発生した場合、迅速な対応が重要です。確実なインシデント対応計画には、次の手順を含める必要があります。
- 即時封じ込め
侵害されたキーを取り消し、新しい資格情報をすぐに発行します。将来のレビューのためにすべてのアクションを文書化します。 - 影響評価
アクセス ログを調べて、不正アクセスの範囲を測定します。Salt Security によると、昨年、94% の組織が実稼働 API でセキュリティ問題に直面しました。 - 回復プロセス
侵害の影響を軽減するために、対応計画を定期的にテストしてください。たとえば、2022 年 6 月、Imperva はリアルタイムの監視と対応戦略を実装することで、e コマース プラットフォームが 30 日以内に 94% の不正な API アクセス試行を削減するのを支援しました。
一貫した監視とネットワークベースのアクセス制限を組み合わせて、保護を強化します。
IP アクセス制御
IP ベースの制限を使用すると、セキュリティ フレームワークが強化されます。検討すべき対策をいくつか紹介します。
| コントロールタイプ | 実装 | 利点 |
|---|---|---|
| IPホワイトリスト | 特定のIP範囲を許可する | 不正アクセスをブロック |
| 地理位置情報ルール | 国別の制限 | リスクの高いエリアへの露出を減らす |
| レート制限 | IPごとにリクエストしきい値を設定する | 不正使用やDDoS攻撃を軽減 |
より動的な設定には、適応型 IP 制御が賢明な選択です。これらのシステムは、脅威情報と使用傾向に基づいて自動的に調整され、追加の防御層を提供します。
sbb-itb-59e1987
ホスティングセキュリティ設定
安全なホスティングは、API キー保護の基盤です。ガートナーの報告によると、急速な成長が管理ツールのペースを上回ったため、2025 年までにエンタープライズ API の半分以下が管理されるようになるとのことです。このため、ホスティング環境のセキュリティ保護がこれまで以上に重要になっています。
個別のキー管理サーバー
API キー管理を別のサーバーで維持すると、リスクを最小限に抑えることができます。専用のセットアップにより、セキュリティとリソースの使用をより適切に制御できます。
| サーバータイプ | セキュリティ上の利点 | 実装要件 |
|---|---|---|
| 専用物理サーバー | 完全なハードウェア分離 | ハードウェア セキュリティ モジュール (HSM) のサポート |
| 仮想プライベートサーバー (VPS) | リソースの分離 | カスタムファイアウォール構成 |
| コンテナ化された環境 | サービスレベルの分離 | コンテナオーケストレーションプラットフォームが必要 |
例えば、 Serverion (https://serverion.com) は、API キーの管理に合わせてカスタマイズされた、安全で分離されたホスティング環境を提供します。
ネットワークのセグメンテーションも重要な戦略の 1 つです。インフラストラクチャ内でキー管理システムを分離すると、リスクを大幅に軽減できます。たとえば、2022 年 6 月に Cloudflare が大規模な HTTPS DDoS 攻撃を緩和することに成功したことは、このアプローチの重要性を浮き彫りにしています。
キー サーバーが分離されると、API エンドポイント間の安全な通信を確保することが次の優先事項になります。
SSL証明書の要件
API 通信を保護するには、強力な SSL/TLS 設定が不可欠です。API が次の標準を満たしていることを確認してください。
- HTTPSを使用する TLS 1.2以上
- 選択する EV または OV 証明書
- 埋め込む 256ビット暗号化
- SSL証明書の更新を自動化する
- 両方をサポート TLS 1.2 および 1.3
- 使用 ワイルドカード証明書 複雑な構造を持つAPI向け
適切に実装された SSL/TLS 設定により、エンドポイント間で暗号化された安全なデータ交換が保証されます。
ネットワーク保護対策
API を保護するには、ネットワーク セキュリティに対する階層型アプローチが重要です。考慮すべき重要な対策は次のとおりです。
| 保護層 | 目的 | 主な特徴 |
|---|---|---|
| DDoS保護 | サービスの中断を防ぐ | トラフィック分析と自動緩和 |
| ウェブアプリケーションファイアウォール | 悪質なリクエストをブロックする | API固有のルールセット |
| 侵入検知 | 不審な活動を監視する | リアルタイムの脅威アラート |
| レート制限 | リソースの乱用を防ぐ | リクエストしきい値の適用 |
さらに、信頼できる IP 範囲への API アクセスを制限し、レート制限を適用して DDoS 攻撃を防止します。これらの制限は、API の一般的な使用方法とビジネス ニーズに基づいて調整します。これらの手順は、API のセキュリティと可用性を維持するのに役立ちます。
セキュリティチェックリストの概要
API キーのセキュリティを確保するには、不正アクセスやデータ侵害を防ぐために複数の保護層が必要です。主要なセキュリティ対策の概要は次のとおりです。
| セキュリティレイヤー | 主な要件 | 優先度 |
|---|---|---|
| ストレージと暗号化 | AES-256暗号化とHSMを使用する | 高い |
| アクセス制御 | ロールベースのアクセスとMFAを強制する | 高い |
| モニタリング | リアルタイムのログ記録と異常検出を有効にする | 中くらい |
| 緊急対応 | キーのローテーションとインシデント処理の計画 | 高い |
| インフラ | ネットワークセグメンテーションとSSL/TLSを使用する | 中くらい |
これらの手順は、API キーを保護するための強固な基盤を提供します。セキュリティを維持するためには、慎重に実装することが不可欠です。
実装ガイド
API キーを段階的に保護する方法は次のとおりです。
- 現在のセキュリティを監査する
まず、すべての API エンドポイント、キーの保存場所、およびキーへのアクセス方法を確認します。 - コアセキュリティ対策を適用する
セキュリティを強化するために、次の重要な制御を導入してください。測定 実装手順 結果 安全な保管 HashiCorp VaultやAWS Secrets Managerなどのツールを使用する 集中鍵管理 アクセス制御 役割ベースの権限を設定する 不正アクセスを減らす 監視設定 DatadogやSplunkなどのツールを導入する 脅威をリアルタイムで検出 - 緊急事態に備える
以下の内容を含む詳細なインシデント対応計画を作成します。- キーを迅速に取り消すための自動化プロセス
- 明確なコミュニケーションと通知プロトコル
- 回復と法医学的分析の手順
- 計画をテストし改良するための定期的なセキュリティ訓練
2022 年の Uber の侵害は、一貫したキーのローテーションと厳格なアクセス制御がなぜそれほど重要なのかを思い出させてくれます。これらの手順を実行することで、システムとデータを潜在的な脅威からより適切に保護できます。
よくある質問
以下は、チェックリストの主なポイントを強調するよくある質問です。
API キーはどこに安全に保存すればよいですか?
次のようなツール ハシコープ ボールト そして AWS シークレットマネージャー API キーを安全に保存するには、これらが最適です。その理由は次のとおりです。
| セキュリティ機能 | なぜそれが重要なのか |
|---|---|
| 保存時の暗号化 | ストレージが侵害されてもキーを安全に保つ |
| アクセス制御 | 許可されたユーザーのみがキーにアクセスできるようにします |
小規模なプロジェクトでは、環境変数は実用的な選択肢です。ただし、 一度もない API キーをコード リポジトリまたはクライアント側アプリケーションに保存します。詳細については、「ストレージ オプション」セクションを確認してください。
API キーを保護するためのベストプラクティスは何ですか?
強力な API キー セキュリティには、複数の保護層が必要です。主な実践例を次に示します。
| 練習する | 何をするか |
|---|---|
| アクセス制限 | キーの使用を許可する IP、サービス、エンドポイントを指定する |
| キーローテーション | 自動化ツールを使用して30〜90日ごとにキーを変更する |
| モニタリング | 使用状況を追跡し、異常なアクティビティのアラートを設定する |
| 交通安全 | API通信には常にHTTPSを使用する |
これらの手順により、不正アクセスのリスクが軽減され、API キーの保護に役立ちます。