Infisical

API キーやパスワードなどの秘密情報を 1 か所に保管し、アプリや CI に実行時に渡すシークレット管理基盤。クラウド版と自前で動かす版がある。

cat infisical/meta.yml確認日 2026-10-25

安全性

影響範囲 手元だけ自分の端末の中で完結し、外には何も送らない
管理者権限
不要
検証環境
不要

使い方

用途
防御
難易度
中級
形態
サーバーで動かす
対応環境
Linux / macOS / Windows / Docker / Web

信頼性

リポジトリ
infisical/infisical
ライセンス
要確認MIT(ee ディレクトリは商用の Enterprise ライセンス)
GitHub
スター29,9812026-10-25 時点
メンテ状況
更新が続いている最終更新 2026-10-25
目次
  1. はじめに
  2. Infisical でできること
  3. クラウド版と自前で動かす版
  4. 安全な試し方:自分のパソコンで動かす
  5. 主な使い方:CLI で値を渡す
  6. 注意点
  7. 次に読む
  8. 出典

Infisical を使うと、API キーやデータベースのパスワードを 1 か所に保管し、アプリを起動するときに環境変数として渡せます。最初は自分のパソコンに Docker Compose で立ち上げ、ダミーの値だけを入れて試すと安全です。

この記事は、.env ファイルで秘密情報を管理していて、もっと安全な方法を探している開発者に向けています。読み終えると、次のことができるようになります。

  • Infisical を自分のパソコンで動かし、ダミーの秘密情報を登録する
  • CLI でアプリを起動し、登録した値を環境変数として渡す
  • infisical scan で、リポジトリに秘密情報が紛れていないか調べる

Infisical でできること

公式ドキュメントと README には、秘密情報の管理について次の機能が載っています。

  • 環境ごとの管理:プロジェクトの中で、開発用・本番用などの環境ごとに値を分けて持てます。変更のたびに新しい版が残り、前の状態に戻せます
  • 実行時の受け渡し:CLI、SDK、エージェント、Kubernetes、CI/CD から値を取り出せます。GitHub や Vercel、AWS Secrets Manager などへ同期する機能もあります
  • ローテーション:データベースの認証情報などを、決めた間隔で自動的に新しい値へ入れ替えます
  • アクセス制御:ロール(RBAC)で、人と機械(マシン ID)がどの値を読み書きできるかを決めます
  • 監査ログ:誰が何をしたかを記録します。ただし公式ドキュメントでは Pro 以上の有料プランの機能で、自前運用では Enterprise ライセンスが必要とされています
  • シークレットスキャン:GitHub・GitLab・Bitbucket のリポジトリを継続して調べる機能と、手元のファイルや Git の履歴を CLI で調べる機能があります。CLI のスキャンは手元で動き、Infisical へのログインは要りません

秘密情報の管理のほかに、証明書の発行、暗号鍵の管理(KMS)、特権アクセス管理も同じ基盤に入っています。

.env ファイルを置くより安全な理由

公式ドキュメントは、Infisical の秘密情報管理を「.env ファイル、コードへの直書き、Slack などでの共有」を置き換えるものと説明しています。漏えいがよく起きる例として、.env ファイルをリポジトリにコミットしてしまうことや、環境変数を CI のログに出してしまうことを挙げています。Infisical を使えば値はサーバー側に暗号化して保管され、アプリは起動時に必要な分だけ受け取ります。手元に .env を置かずに済むので、うっかりコミットする元がなくなります。誰がどの環境の値を読めるかも、ロールで絞れます。

しないことInfisical は秘密情報を預かって配る仕組みです。他人のサーバーを調べたり、攻撃したりする機能はありません。すでに漏れてしまった値を無効にする作業は自分で行います。漏れた鍵は、発行元で無効にするか入れ替えてください。

クラウド版と自前で動かす版

Infisical には、運営元が管理する Infisical Cloud(app.infisical.com)と、自分の環境で動かす版があります。公式ドキュメントでは、どちらも中心となる機能は同じです。クラウド版は更新や運用を任せられます。自前で動かす版はデータを自分で持てる代わりに、更新・監視・バックアップを自分で担います。自前で動かす方法として、Docker、Docker Compose、Kubernetes、Linux パッケージが用意されています。

ライセンスはディレクトリで分かれています。リポジトリの大部分は MIT ライセンスです。ee ディレクトリ(有料の Enterprise 機能)だけは別の Enterprise ライセンスで、本番で使うには有効な契約が必要です。開発やテストの目的なら、契約なしでコピーや改変ができると書かれています。

安全な試し方:自分のパソコンで動かす

試すときは、本物のパスワードや API キーを入れないでください。test-1234 のようなダミーの値だけを使います。公式の Docker Compose 構成は試用や小規模向けで、高可用性の本番には向かないと書かれています。

  1. Docker と Docker Compose を入れます。公式の最小要件は CPU 2 コア、メモリ 4 GB、ディスク 20 GB です。

  2. 作業用のフォルダで、構成ファイルと設定ファイルを取得します。

    curl -o docker-compose.prod.yml https://raw.githubusercontent.com/Infisical/infisical/main/docker-compose.prod.yml
    curl -o .env https://raw.githubusercontent.com/Infisical/infisical/main/.env.example
  3. .env の ENCRYPTION_KEY と AUTH_SECRET は見本の値で、本番では使わないよう注記されています。試用でも、openssl rand -hex 16(ENCRYPTION_KEY)と openssl rand -base64 32(AUTH_SECRET)で作った値に置き換えておくと安心です。

  4. 起動します。

    docker compose -f docker-compose.prod.yml up -d
  5. ブラウザで http://localhost:80 を開き、管理者アカウントを作ります。最初に登録した人がインスタンスの管理者になるので、他の人に公開する前に済ませます。

  6. プロジェクトを作り、Development 環境に DUMMY_API_KEY のようなダミーの値を 1 つ登録します。

主な使い方:CLI で値を渡す

CLI は OS ごとに公式のパッケージがあります。

OS インストールのコマンド
macOS brew install infisical/get-cli/infisical
Windows winget install infisical(Scoop も可)
Debian/Ubuntu 公式のセットアップスクリプトを入れてから sudo apt-get install -y infisical
その他 npm(npm install -g @infisical/cli)、RedHat 系、Alpine、Arch Linux 用の手順が公式にあります

入れたら infisical --version で確かめます。続けて、次のように使います。

やりたいこと コマンド
ログインする(自前の Infisical なら --domain で宛先を指定) infisical login --domain http://localhost:80
今のフォルダをプロジェクトにひも付ける infisical init
値を環境変数として渡してアプリを起動する infisical sm run -- npm run dev
環境を指定して、渡される値を確かめる infisical sm run --env=dev -- printenv DUMMY_API_KEY
リポジトリの履歴を調べる infisical scan --verbose
コミット前に自動で調べるフックを入れる infisical scan install --pre-commit-hook

CLI が 0.43.145 以前だと sm がありません。その場合は infisical sm run の代わりに infisical run を使うか、CLI を新しくします。

infisical scan は漏れを見つける側の道具です。Gitleaks や TruffleHog も同じ側にあります。Infisical の秘密情報管理は、そもそも値をリポジトリに置かずに済ませる側なので、2 つを組み合わせると漏えいの防止と発見の両方に備えられます。

注意点

  • 自前で動かす場合、ENCRYPTION_KEY はすべての秘密情報を守る鍵です。公式ドキュメントは、この鍵がなければデータベースを復元しても秘密情報を復号できないと注意しています。データベースと一緒にバックアップしてください。
  • 自前運用の .env には、この鍵などの重要な値が入ります。公式の指示どおり、バージョン管理にコミットせず、chmod 600 .env などで読める人を絞ります。
  • PostgreSQL のボリューム(pg_data)には暗号化された秘密情報がすべて入っています。消すとデータを失います。
  • CLI は http:// の宛先には秘密情報を暗号化せずに送ります。http://localhost で試すのは自分のパソコンの中だけにして、他の機器から使うときは https:// にしてください。
  • 試すときに入れる値はダミーだけにします。本物の鍵を入れて試した後は、その鍵を入れ替えてください。
  • 監査ログなど一部の機能は有料プランか Enterprise ライセンスが必要です。使いたい機能がどのプランに入っているかは、公式の料金ページで確かめてください。

次に読む

出典

  1. GitHub:LICENSEgithub.com/Infisical/infisical/blob/main/LICENSE
  2. GitHub:ee ディレクトリの Enterprise ライセンスgithub.com/Infisical/infisical/blob/main/backend/src/ee/LICENSE.md
  3. ドキュメント:クラウド版と自前運用の違いinfisical.com/docs/documentation/getting-started/concepts/deployment-models
  4. ドキュメント:Docker Compose で動かすinfisical.com/docs/self-hosting/deployment-options/docker-compose
  5. ドキュメント:自前運用の環境変数infisical.com/docs/self-hosting/configuration/envars
  6. ドキュメント:CLI のインストールinfisical.com/docs/cli/install
  7. ドキュメント:CLI リファレンスinfisical.com/docs/cli/reference
  8. ドキュメント:ローカル開発で .env の代わりに使うinfisical.com/docs/documentation/guides/local-development
  9. ドキュメント:秘密情報の管理infisical.com/docs/documentation/getting-started/choose-a-product/secrets-management/overview
  10. ドキュメント:シークレットのローテーションinfisical.com/docs/documentation/platform/secret-rotation/overview
  11. ドキュメント:監査ログinfisical.com/docs/documentation/platform/audit-logs
  12. ドキュメント:ロールによるアクセス制御infisical.com/docs/documentation/platform/access-controls/role-based-access-controls
  13. ドキュメント:漏れた秘密情報を見つけるinfisical.com/docs/documentation/getting-started/choose-a-product/secret-scanning

確認日 2026-10-25

似たツール

Gitleaks

影響範囲 手元だけ
gitleaks/gitleaks

Git リポジトリやファイルに紛れ込んだパスワード、API キー、トークンなどの秘密情報を見つけるコマンドラインツール。

用途
防御
形式
コマンドライン
難易度
初級
ライセンス
自由に使えるMIT
分類
脆弱性スキャン
更新が続いているスター30,315最終更新 2026-10-23
Gitleaksの解説を読む