For the complete documentation index, see llms.txt. Markdown versions of documentation pages are available by appending .md to the page URL.
メインナビゲーション
Theme

Terraform プロバイダー

Infrastructure as Code で OpenAI 組織のリソースを管理します。

公式の OpenAI Terraform プロバイダーを使うと、Infrastructure as Code で OpenAI 組織のリソースを管理できます。このプロバイダーは管理 API を使って、プロジェクト、ユーザー、グループ、ロール、サービスアカウント、証明書、レート制限、利用額アラート、および関連するプロジェクト設定を管理します。

このガイドでは、OpenAI プロジェクトを作成します。プロジェクトへのアクセス、サービスアカウント、運用上の制限、プロジェクトの制御設定、インポートについては、用途別ガイドに進んでください。

前提条件

以下を用意してください。

  • Terraform 1.0 以降(インポートの例には Terraform 1.5 以降が必要です)
  • OpenAI 組織と、その組織で管理 API キーを作成する権限

管理 API のエンドポイントには管理 API キーが必要です。このキーは、管理 API 以外の OpenAI API エンドポイントでは使用できません。キーは環境変数またはシークレットマネージャーに保存してください。Terraform の設定に書き込んだり、バージョン管理システムにコミットしたりしないでください。

プロバイダーの設定

新しいディレクトリを作成し、次の内容の main.tf ファイルを追加します。

terraform {
  required_version = ">= 1.0"

  required_providers {
    openai = {
      source  = "openai/openai"
      version = ">= 1.0.0"
    }
  }
}

provider "openai" {}

resource "openai_project" "example" {
  name = "terraform-managed"
}

output "project_id" {
  value = openai_project.example.project_id
}

このバージョン制約では、プロバイダーのバージョン 1.0.0 以降を使用できます。アップグレードする前に、プロバイダーのリリース情報を確認してください。

管理 API キーを環境変数に設定します。

export OPENAI_ADMIN_KEY="<your-admin-api-key>"

プロバイダーはデフォルトで OPENAI_ADMIN_KEY を読み取ります。OPENAI_ORG_ID と OPENAI_PROJECT_ID を設定すると、API リクエストに OpenAI-Organization ヘッダーと OpenAI-Project ヘッダーを含めることもできます。これらの任意の環境変数を設定しない場合、OpenAI は API キーから組織とプロジェクトを特定します。Terraform の設定で管理する組織やプロジェクトを明示したい場合は、該当する環境変数を設定してください。使用できる引数の一覧は、プロバイダー設定のリファレンスを参照してください。

初期化と設定の適用

作業ディレクトリを初期化してから、設定ファイルを整形し、内容を検証します。

terraform init
terraform fmt
terraform validate

Terraform はプロバイダーをダウンロードし、.terraform.lock.hcl を作成します。以降の実行でも同じバージョンのプロバイダーが選択されるように、ロックファイルをバージョン管理システムにコミットしてください。terraform init -upgrade を実行すると、バージョン制約を満たす最新のプロバイダーが選択されます。

Terraform が適用する変更内容を確認します。

terraform plan

実行計画には、追加対象として openai_project リソースが 1 つ表示されるはずです。必ず実行計画を確認してから、設定を適用してください。

terraform apply

確認を求められたら、設定の適用を承認します。Terraform がプロジェクトを作成し、project_id の出力値としてプロジェクト ID を表示します。

用途別ガイド

ガイド 用途
プロジェクトとアクセス管理 プロジェクトを作成し、ロールやグループに基づくアクセス制御を設定します。
サービスアカウント ワークロード ID または API キーを使った認証用のサービスアカウントを作成します。
レート制限と利用額 既存のレート制限と Terraform の設定を照合して差分を解消し、利用額アラートを設定します。
モデル、ツール、データの制御 モデルへのアクセス、ホスト型ツール、データ保持を設定します。
インポートと差分の解消 既存のリソースを Terraform の管理下に置き、設定のドリフトを検出します。

個々の引数やインポート形式については、プロバイダーのリソースとデータソースのリファレンスを参照してください。