環境変数による設定とシークレット管理
認証情報をハードコードせずに設定を読み込みます。
「環境変数による設定とシークレット管理」は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フィードバックを取得できます。ローカル設定は不要です。
このコースのすべてのレッスン
- 階層型サーバーアーキテクチャ
- 環境変数による設定とシークレット管理
- 冪等性と副作用を考慮したツール
- ツールとスキーマのバージョン管理