APIキーの保護
認証情報を保護します
「APIキーの保護」はCoddyKit上の無料Cyber Security Academyレッスンです。 これはレッスン4/4です。 下記で完全なレッスンを無料で読むことができます。その後、ブラウザ内の組み込みコードエディタと24時間対応のAIチューターでハンズオン演習できます。 これはCyber Security Academy学習パスの一部であり、ウェブとCoddyKitアプリ全体で進捗が同期されます。 Cyber Security Academyコースには全4レッスンが含まれています。
APIキーとは
APIキーは、APIを呼び出すクライアントを識別し、認証する秘密の文字列です。
キーを持っている人は誰でもそのクライアントとして操作できるため、キーは秘密にしておく必要があります。
キーはパスワードと同じように扱う
APIキーはパスワードと同じように慎重に扱ってください。
キーが漏えいすると、攻撃者はリクエストを実行し、コストを膨らませ、信頼されたクライアントに見せかけたままデータにアクセスできます。
キーをハードコードしない
よくある間違いは、キーをコードに直接記述することです。
const apiKey = "sk_live_abc123"このキーはリポジトリや履歴に残るため、アクセス権を持つ人なら誰でも読み取れます。
環境変数を使う
キーは環境変数に保存し、コードの外で管理してください。
const apiKey = process.env.API_KEYシークレットはソースファイルではなく、環境内に保存されます。
キーをGitから除外する
シークレットファイルがコミットされないよう、.gitignoreに追加してください。
.env
*.keyキーを一度でもコミットした場合、後から削除するだけでは不十分です。キーをローテーションする必要があります。
キーはサーバー上で管理する
フロントエンドやモバイルのコードに秘密鍵を埋め込まないでください。
誰でもアプリを調査してキーを取り出せます。秘密鍵はサーバー上で管理し、そこからサードパーティAPIを呼び出してください。
シークレットマネージャーを使う
本番環境では、専用のシークレットマネージャーにキーを保存してください。
Vaultやクラウドのシークレットサービスなどのツールは、キーを暗号化し、アクセスを制御し、誰が読み取ったかを記録します。
スコープと最小権限
各キーには、必要な権限だけを付与してください。
読み取り専用のキーであれば、漏えいしてもデータを削除できません。スコープ設定によって、1つのキーが侵害された場合の被害を抑えられます。
キーを定期的にローテーションする
ローテーションとは、スケジュールに従ってキーを交換し、漏えいの疑いがある場合は直ちに交換することです。
有効期間の短いキーを使うと、盗まれたキーが攻撃者にとって有効であり続ける期間を短縮できます。
制限して監視する
特定のIPやドメインからのアクセスだけを許可して、キーをさらに厳しく制限してください。
そのうえで使用状況を監視します。予期しないトラフィックや新しい場所からのアクセスによって、キーの盗難に気づけることがあります。
漏えいに対応する
キーが漏えいした場合は、すぐに対応してください。
- 古いキーを直ちに無効化してください
- 新しいキーを発行してください
- 悪用されていないかログを確認してください
迅速に対応するほど、漏えいしたシークレットによる被害を抑えられます。
クイックチェック
本番環境のWebアプリでは、秘密のAPIキーをどこに保存すべきですか。
まとめ
APIキーはパスワードと同じように保護してください。コードやGitに含めず、環境変数またはシークレットマネージャーに保存し、最小権限に合わせてスコープを設定し、ローテーションし、使用を制限して監視し、漏えいしたキーは速やかに無効化します。
よくある質問
「APIキーの保護」レッスンは無料ですか?
はい。「APIキーの保護」の完全なテキストはこのウェブで無料で読めます。インタラクティブに演習し(組み込みコードエディタと24時間対応のAIチューター)、Cyber Security Academyコースの残りをアンロックするには、CoddyKit PROにアップグレードしてください。 Cyber Security Academyコースには全4レッスンが含まれています。
「APIキーの保護」で何を学びますか?
認証情報を保護します ブラウザで直接実行するハンズオンコードでCyber Security Academyを演習し、24時間対応のAIチューターがレッスンを進める中での質問に答えます。
Cyber Security Academyを始めるのに経験は必要ですか?
事前経験は必要ありません。CoddyKitのCyber Security Academyは初級者から上級者向けに構成されているため、ここから始めるか最初から始めて、自分のペースで進むことができます。 これはレッスン4/4です。
「APIキーの保護」レッスンにはどのくらい時間がかかりますか?
ほとんどのCoddyKitレッスンは約5~10分かかります。各レッスンはコンパクトでインタラクティブなので、着実に進歩し、ウェブとアプリ全体で正確に前回の場所から再開できます。
このCyber Security Academyレッスンでコードを書いて実行できますか?
はい。すべてのCyber Security Academyレッスンに組み込みコードエディタが含まれているため、ブラウザでリアルコードを書いて実行し、即座のAIフィードバックを取得できます。ローカル設定は不要です。
このコースのすべてのレッスン
- API攻撃対象領域
- 認可の不備
- レート制限と不正利用
- APIキーの保護