
# keenauth_api_key

La ressource `keenauth_api_key` suit une clé de l'API de gestion et la révoque à la destruction.

## Pourquoi le fournisseur ne crée pas de clés

L'API ne renvoie la clé brute qu'une seule fois, dans la réponse qui la crée. Une clé créée par le fournisseur serait soit perdue, soit à écrire dans le fichier d'état. Le fournisseur ne crée donc jamais de clés d'API et ne voit ni ne stocke jamais la clé brute. Un plan qui créerait une clé échoue au moment de la planification.

## Créer avec la CLI, puis importer

1. Créez la clé avec `keenauth api-keys create`.
2. Stockez la clé brute dans votre gestionnaire de secrets, par exemple Vault ou un gestionnaire de secrets cloud.
3. Importez la clé par son identifiant :

```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"
}
```

Ne passez jamais la clé brute comme identifiant d'importation.

## Les clés ne se modifient pas

Tous les attributs sont facultatifs. Si vous en définissez un, il doit correspondre à la clé ; écrivez `expires_at` en UTC avec `Z` et en secondes entières. Pour modifier une clé, créez-en une nouvelle avec la CLI (ou faites-la tourner avec `keenauth api-keys rotate`), importez la nouvelle clé et supprimez l'ancienne ressource.

## Ce qui se passe au fil du temps

- `tofu destroy` (ou la suppression de la ressource) révoque la clé.
- Une clé révoquée ou expirée est retirée de l'état lors du prochain rafraîchissement.
- L'état ne contient ni clé brute, ni les quatre derniers caractères, ni le préfixe d'IP de la dernière utilisation, ni le créateur.
