MCP Academy · レッスン

環境変数による設定とシークレット管理

認証情報をハードコードせずに設定を読み込みます。

レッスン 2/413 ステップ

「環境変数による設定とシークレット管理」はCoddyKit上の無料MCP Academyレッスンです。 これはレッスン2/4です。 下記で完全なレッスンを無料で読むことができます。その後、ブラウザ内の組み込みコードエディタと24時間対応のAIチューターでハンズオン演習できます。 これはMCP Academy学習パスの一部であり、ウェブとCoddyKitアプリ全体で進捗が同期されます。 MCP Academyコースには全4レッスンが含まれています。

秘密情報をハードコードしない

コードに直接入力したAPIキーは、Gitにpushした瞬間に漏洩する可能性があります。secretsはソースファイルから完全に排除してください。

環境変数に設定を保持する

設定値を置く標準的な場所はenvironmentです。サーバーはビルドに埋め込むのではなく、起動時に値を読み取ります。

import os
api_key = os.environ["WEATHER_API_KEY"]

同じコードをさまざまな環境で使う

環境変数から読み取ることで、周囲の変数を入れ替えるだけで、1つのbuildを開発、ステージング、本番で実行できます。

必須値と任意値

requiredな値にはインデックス記法を使い、キーがない場合に明確に失敗させます。任意の値にはデフォルト値を指定したgetenvを使います。

key = os.environ["DB_URL"]
timeout = int(os.getenv("TIMEOUT", "30"))

起動時に設定を検証する

最初のリクエスト時ではなく、サーバーがbootsするときにすべての設定を確認します。不足しているものを明示したメッセージを出して、早期に失敗させてください。

Settingsクラスに集約する

すべての値を1つのsettingsオブジェクトにまとめ、コードの各所に散らばったgetenv呼び出しではなく、整理された属性を読み取るようにします。

class Settings:
    db_url = os.environ["DB_URL"]
    timeout = int(os.getenv("TIMEOUT", "30"))

Pydantic Settingsを活用する

BaseSettingsクラスは環境変数を読み取り、型変換と検証を行います。未整理の文字列を検証済みの設定オブジェクトに変えてくれます。

from pydantic_settings import BaseSettings
class Settings(BaseSettings):
    db_url: str
    timeout: int = 30

ローカル開発では.envを使う

ローカルの.envファイルにマシン固有の値を保存しておくと便利ですが、値がリポジトリに入らないよう、必ずgitignoreに追加してください。

DB_URL=postgres://localhost/dev
TIMEOUT=15

秘密情報をログに記録しない

デバッグのために設定を出力するときは、機密フィールドをmaskしてください。ログ行に含まれるトークンも、コード内のトークンと同じように公開されます。

設定を注入し、直接取得しない

設定を一度読み込み、lifespanを通じてservicesに渡します。コードの深い場所にos.environの読み取りを散在させないでください。

すべての変数を文書化する

各変数をコメント付きで一覧にしたサンプル.env.exampleを用意します。新しいユーザーはそれをコピーすれば、何を入力すべきか正確に分かります。

クイックチェック

サーバーにAPIキーを渡す最も安全な方法は何でしょうか。

まとめ:設定と秘密情報

environmentから設定を読み取り、起動時に検証し、settingsオブジェクトに集約して、秘密情報をコミットもログ出力もしないようにします。次はべき等性です。🔑

無料で開始

AI チューターと学ぶ Python — 無料

ブラウザでリアルコードを書いて実行し、24/7 の AI チューターから瞬時にサポートを受け、ウェブまたはアプリで続きから学習できます。

コース
30
レッスン
120

よくある質問

「環境変数による設定とシークレット管理」レッスンは無料ですか?

はい。「環境変数による設定とシークレット管理」の完全なテキストはこのウェブで無料で読めます。インタラクティブに演習し(組み込みコードエディタと24時間対応のAIチューター)、MCP Academyコースの残りをアンロックするには、CoddyKit PROにアップグレードしてください。 MCP Academyコースには全4レッスンが含まれています。

「環境変数による設定とシークレット管理」で何を学びますか?

認証情報をハードコードせずに設定を読み込みます。 ブラウザで直接実行するハンズオンコードでMCP Academyを演習し、24時間対応のAIチューターがレッスンを進める中での質問に答えます。

MCP Academyを始めるのに経験は必要ですか?

事前経験は必要ありません。CoddyKitのMCP Academyは初級者から上級者向けに構成されているため、ここから始めるか最初から始めて、自分のペースで進むことができます。 これはレッスン2/4です。

「環境変数による設定とシークレット管理」レッスンにはどのくらい時間がかかりますか?

ほとんどのCoddyKitレッスンは約5~10分かかります。各レッスンはコンパクトでインタラクティブなので、着実に進歩し、ウェブとアプリ全体で正確に前回の場所から再開できます。

このMCP Academyレッスンでコードを書いて実行できますか?

はい。すべてのMCP Academyレッスンに組み込みコードエディタが含まれているため、ブラウザでリアルコードを書いて実行し、即座のAIフィードバックを取得できます。ローカル設定は不要です。

このコースのすべてのレッスン

  1. 階層型サーバーアーキテクチャ
  2. 環境変数による設定とシークレット管理
  3. 冪等性と副作用を考慮したツール
  4. ツールとスキーマのバージョン管理
← MCP Academyに戻る