infisical-terraform について
infisical-terraformは、Infisical Terraform providerでInfisicalのリソースを管理し、HCLからシークレットを読み取るためのスキルです。プロバイダー認証、Terraformのリソースとデータソース、Terraform CloudのOIDC設定を扱います。
主な機能
- 01プロバイダー認証と設定の案内
- 02シークレットとデータソースのHCLパターン
- 03プロジェクトロールとアクセス承認のリソース
- 04Terraform CloudのOIDC設定
- 05エフェメラルなシークレットリソースの案内
活用シーン
- 01TerraformでのInfisical認証設定
- 02状態ファイルに保存せずHCLからシークレットを取得
- 03プロジェクトロールとアクセス承認ポリシーの定義
- 04Terraform CloudとInfisicalのOIDC設定
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ infisical/ ai-skills --skill infisical-terraformインストール後、Claude Code で/infisical-terraformを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
references/provider-setup.mdresources-and-data-sources.mdterraform-cloud-oidc.md詳細
Infisical Terraform Provider
ユーザーが Infisical のシークレット管理を Terraform インフラストラクチャに自信を持って統合できるように支援します。
このスキルが対象としないもの
| ユーザーがやりたいこと... | 使用するもの |
|---|---|
| 実行中のアプリ、コンテナ、パイプラインにシークレットを渡す | infisical-setup |
| HCL ではなく生の REST API 呼び出し | infisical-api |
| サードパーティサービスにシークレットをプッシュする | infisical-secret-syncs |
| オンデマンドの一時的なデータベース認証情報 | infisical-dynamic-secrets |
| ロールと権限モデルの設計 | infisical-access-control |
| Terraform 経由で Gateway または Relay をデプロイする | infisical-gateway |
| Infisical 自体をデプロイする | infisical-self-host |
このスキルは Infisical Terraform Provider に関するものです — Infisical リソースの管理と、HCL からの シークレットの読み取りを扱います。Terraform 全般の使い方に関するものではありません。
ユーザーがよく尋ねる内容
- 「Infisical を Terraform で使うにはどうすればいいですか?」 — Provider のセットアップと認証
- 「Terraform の state にシークレットが入らないようにするにはどうすればいいですか?」 — Ephemeral リソース
- 「Terraform Cloud と Infisical を連携させるにはどうすればいいですか?」 — OIDC 統合
- 「プロジェクトのロールと権限を設定するにはどうすればいいですか?」 — ロール定義
- 「Ephemeral とデータソースの違いは何ですか?」 — リソースパターン
クイックルーティング
- Provider の認証、設定、環境変数 → Provider のセットアップ
- HCL リソース: infisical_secret、データソース、プロジェクトロール、アクセス承認 → リソースとデータソース
- Terraform Cloud の OIDC 統合、マシン ID のセットアップ → Terraform Cloud OIDC
守るべき主要な原則
- 認証情報はネストされた
auth属性の内部に記述します: Provider はauth = { universal = { client_id, client_secret } }またはauth = { oidc = { identity_id, token_environment_variable_name } }を受け取ります。client_id、client_secret、identity_idをprovider "infisical"ブロックに直接記述しないでください — それはサポートされていない引数であり、plan 時に失敗します。(レガシーのservice_tokenが唯一の 例外で、トップレベルに配置します。) - Ephemeral シークレットのキーは
nameです:ephemeral "infisical_secret"はname、workspace_id、env_slug、および省略可能なfolder_pathを取ります。secret_keyという引数はありません。 - state よりも Ephemeral を優先: シークレットには常に
ephemeralリソース (Terraform 1.10 以降) を 推奨してください — 値が state ファイルに残ることはありません。Ephemeral 値を含む output は、それ自体をephemeral = trueとしてマークする必要があります。 - マシン ID 認証: Universal Auth または OIDC を使用し、Service Token (レガシー) は決して使用しないでください。
- 権限の v2 フォーマット:
permissions_v2(subject/action 構造) を使用し、permissions(v1) は非推奨とします。 - Terraform Cloud には OIDC: これが推奨される本番パターンです。
- Provider のソース: Terraform Registry の
infisical/infisicalを使用し、コミュニティ Provider は使用しないでください。 - フォルダパスのデフォルト: 省略した場合、
folder_path = "/"になります。 - セルフホストには
hostが必要: Provider ブロックにhost属性を設定してください。サイト URL の環境変数は存在しません。
ユーザーをリファレンスへ誘導すべき場合
- 認証の混乱や環境変数のセットアップ → provider-setup.md
- シークレット、ロール、承認ポリシー用の HCL の作成 → resources-and-data-sources.md
- TFC + Infisical の手順 → terraform-cloud-oidc.md
コメント
Markdown 対応