
# keenauth_api_key

Die Ressource `keenauth_api_key` verfolgt einen Management-API-Schlüssel und widerruft ihn beim Löschen.

## Warum der Provider keine Schlüssel erstellt

Die API gibt den Klartext-Schlüssel nur einmal zurück, in der Antwort, die ihn erstellt. Ein vom Provider erstellter Schlüssel ginge entweder verloren oder müsste in die State-Datei geschrieben werden. Der Provider erstellt daher nie API-Schlüssel und sieht oder speichert den Klartext-Schlüssel nie. Ein Plan, der einen Schlüssel erstellen würde, schlägt bereits bei der Planung fehl.

## Mit der CLI erstellen, dann importieren

1. Erstellen Sie den Schlüssel mit `keenauth api-keys create`.
2. Speichern Sie den Klartext-Schlüssel in Ihrem Secret-Manager, zum Beispiel Vault oder einem Cloud-Secret-Manager.
3. Importieren Sie den Schlüssel über seine ID:

```terraform
import {
  to = keenauth_api_key.ci
  id = "key_01j9zq3v8c5m2x7k4t6r1n0b3d"
}

resource "keenauth_api_key" "ci" {
  name        = "ci"
  type        = "restricted"
  permissions = ["applications:read", "users:read"]
  expires_at  = "2027-01-31T00:00:00Z"
}
```

Übergeben Sie den Klartext-Schlüssel niemals als Import-ID.

## Schlüssel lassen sich nicht ändern

Alle Attribute sind optional. Wenn Sie eines setzen, muss es zum Schlüssel passen; schreiben Sie `expires_at` in UTC mit `Z` und ganzen Sekunden. Um einen Schlüssel zu ändern, erstellen Sie mit der CLI einen neuen (oder rotieren Sie ihn mit `keenauth api-keys rotate`), importieren Sie den neuen Schlüssel und entfernen Sie die alte Ressource.

## Was im Laufe der Zeit passiert

- `tofu destroy` (oder das Entfernen der Ressource) widerruft den Schlüssel.
- Ein widerrufener oder abgelaufener Schlüssel wird beim nächsten Refresh aus dem State entfernt.
- Der State enthält keinen Klartext-Schlüssel, keine letzten vier Zeichen, keinen Präfix der IP-Adresse der letzten Nutzung und keinen Ersteller.
