この記事でやること
Infisicalの設定からFlaskでの実装までを順を追って解説します。
背景
- infisicalは2025年10月時点で日本語での解説ドキュメントが少ない
- .env ファイルによる環境変数管理では、チーム間での運用に課題があった
infisicalとは
Infisicalは、APIキーやデータベース接続情報などの機密情報(Secrets)を安全に管理・共有するためのプラットフォームです。
Web UIやCLI、SDKを通じて環境変数を簡単に取得でき、チームや環境ごとの権限管理も行えます。
infisical を使用する手順
flask でinfisicalに登録した環境変数を読み込めるまでのステップを示します。
0. 前提条件
- Flaskが動作するPython環境が整っていること
- Infisicalのアカウント登録が完了していること
1.プロジェクトの作成
- Infisicalのダッシュボードから Overview → Add new Project をクリックします
- 「Project Type」は Secrets Management に設定します
作成が完了すると、Overviewページに新しいプロジェクトが表示されます。
次に、Project Settings に移動し、Project ID をコピーしておきます。


2. secretの追加
- プロジェクトページで Add Secret をクリックします
- 以下のように入力します:
- Key: NAME
- Value: 任意の値(例: "Infisical User")
- Environment: Development
3. Access コントロール設定
次に、アプリケーションがInfisicalにアクセスできるように認証情報を設定します。
(ここは公式ドキュメントでも分かりづらい部分なので、詳しく説明します。)
- Organization Access → Identities に移動します
- 新しいIdentityを作成します
- 作成したIdentityの詳細ページで Authentication タブを開きます
- 作成した Client ID と Client Secret を控えておきます
4. FlaskでInfisicalを利用する
Infisical SDKをPythonにインストールします。
pip install infisicalsdk
ローカルサーバーを起動してアクセスすると、Infisicalに登録した値が表示されます。
from flask import Flask
from infisical_sdk import InfisicalSDKClient
app = Flask(__name__)
client = InfisicalSDKClient(host="https://app.infisical.com")
client.auth.universal_auth.login(
"your_client_id",
"your_client_secrets"
)
@app.route("/")
def hello_world():
name = client.secrets.get_secret_by_name(
secret_name="NAME",
project_id="your_project_id",
environment_slug="dev",
secret_path="/"
)
return f"Hello! My name is: {name.secretValue}"
終わりに
Infisicalなどのシークレット管理ツールを使用すれば環境ごとの設定ミスなども防げそうで、安全にシークレット管理できそうですね。







