For the complete documentation index, see llms.txt. Markdown versions of documentation pages are available by appending .md to the page URL.
Hauptnavigation

Terraform-Provider

Verwalte die Ressourcen deiner OpenAI-Organisation mit Infrastructure as Code.

Mit dem offiziellen OpenAI Terraform-Provider kannst du die Ressourcen deiner OpenAI-Organisation mit Infrastructure as Code verwalten. Der Provider nutzt die Administration API, um Projekte, Nutzende, Gruppen, Rollen, Dienstkonten, Zertifikate, Ratenlimits, Ausgabenwarnungen und zugehörige Projekteinstellungen zu verwalten.

In diesem Leitfaden erstellst du ein OpenAI-Projekt. In den weiterführenden Leitfäden zu einzelnen Anwendungsfällen erfährst du mehr über Projektzugriff, Dienstkonten, betriebliche Limits, Projektsteuerung und Importe.

Bevor du beginnst

Du benötigst:

  • Terraform 1.0 oder neuer. Die Importbeispiele erfordern Terraform 1.5 oder neuer.
  • Eine OpenAI-Organisation, in der du berechtigt bist, einen Admin-API-Schlüssel zu erstellen.

Die Endpunkte der Administration API erfordern Admin-API-Schlüssel. Diese funktionieren nicht mit OpenAI-API-Endpunkten außerhalb der Administration API. Speichere den Schlüssel in einer Umgebungsvariable oder einem Secret-Manager. Nimm ihn weder in deine Terraform-Konfiguration noch in die Versionsverwaltung auf.

Provider konfigurieren

Erstelle ein neues Verzeichnis und füge eine Datei namens main.tf mit folgender Konfiguration hinzu:

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
}

Die Versionsbeschränkung lässt die Provider-Version 1.0.0 und neuere Versionen zu. Sieh dir vor einem Upgrade die Versionen des Providers an.

Setze deinen Admin-API-Schlüssel als Umgebungsvariable:

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

Der Provider liest standardmäßig OPENAI_ADMIN_KEY. Du kannst außerdem OPENAI_ORG_ID und OPENAI_PROJECT_ID setzen, um die Header OpenAI-Organization und OpenAI-Project bei API-Anfragen mitzusenden. Sind diese optionalen Variablen nicht gesetzt, ermittelt OpenAI die Organisation und das Projekt anhand des API-Schlüssels. Setze sie, wenn du ausdrücklich angeben möchtest, welche Organisation oder welches Projekt deine Terraform-Konfiguration verwaltet. Alle verfügbaren Argumente findest du in der Referenz zur Provider-Konfiguration.

Initialisieren und anwenden

Initialisiere das Arbeitsverzeichnis, formatiere anschließend die Konfiguration und überprüfe sie:

terraform init
terraform fmt
terraform validate

Terraform lädt den Provider herunter und erstellt .terraform.lock.hcl. Nimm die Lockdatei per Commit in die Versionsverwaltung auf, damit bei künftigen Ausführungen dieselbe Provider-Version ausgewählt wird. Führe terraform init -upgrade aus, um die neueste Provider-Version auszuwählen, die die Versionsbeschränkung zulässt.

Überprüfe die Änderungen, die Terraform vornehmen wird:

terraform plan

Der Plan sollte eine hinzuzufügende Ressource vom Typ openai_project anzeigen. Wende die Konfiguration erst an, nachdem du den Plan überprüft hast:

terraform apply

Bestätige das Anwenden, wenn du dazu aufgefordert wirst. Terraform erstellt das Projekt und zeigt dessen ID über die Ausgabe project_id an.

Leitfaden für einen Anwendungsfall auswählen

LeitfadenDamit kannst du
Projekte und ZugriffProjekte erstellen und rollen- sowie gruppenbasierten Zugriff konfigurieren.
DienstkontenDienstkonten für die Authentifizierung per Workload-Identität oder API-Schlüssel erstellen.
Ratenlimits und AusgabenBestehende Ratenlimits abgleichen und Ausgabenwarnungen konfigurieren.
Steuerung von Modellen, Tools und DatenModellzugriff, gehostete Tools und Datenaufbewahrung konfigurieren.
Import und AbgleichBestehende Ressourcen übernehmen und Konfigurationsabweichungen erkennen.

Details zu einzelnen Argumenten und Importformaten findest du in der Referenz zu Ressourcen und Datenquellen des Providers.