> For the complete documentation index, see [llms.txt](https://docs.kiloiot.io/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.kiloiot.io/kilo-docs-fr/kilo-iot-server/settings/api-keys.md).

# Clés API

Créez, limitez, faites tourner et révoquez des clés API dans Kilo IoT — identifiants par intégration pour l’accès REST et gRPC.

Les clés API donnent aux systèmes externes un accès programmatique au serveur Kilo IoT. Utilisez-les pour intégrer des pipelines CI/CD, synchroniser des données avec des plateformes de gestion d’entrepôt, alimenter des scripts d’analytique ou de reporting personnalisés, connecter des systèmes SCADA, ou automatiser la configuration via vos propres outils. Chaque clé est limitée exactement aux autorisations dont elle a besoin — pas plus. Si une clé est un jour compromise, vous la révoquez ou la faites pivoter sans affecter les autres intégrations.

> **Vous cherchez comment&#x20;*****utiliser*****&#x20;l'API ?** Les protocoles (REST et gRPC), l’authentification et les exemples sont abordés dans la [API](/kilo-docs-fr/kilo-iot-server/api.md) section. Cette page concerne la création et la gestion des clés avec lesquelles ces intégrations s’authentifient.

***

## Navigation

Allez à **Paramètres → Clés API** dans la barre latérale.

***

## Création d'une clé

1. Cliquez sur **Créer une clé API** dans le coin supérieur droit.
2. Saisissez un **Nom** pour la clé. C’est obligatoire. Choisissez un nom qui décrit l’intégration — par exemple « WMS-Sync-Production » ou « Analytics-Pipeline-Staging ». Vous identifierez et gérerez cette clé par son nom.
3. Définissez éventuellement une **Date d'expiration** date à l’aide du sélecteur de date. La date la plus ancienne sélectionnable est aujourd’hui. Si elle est laissée vide, la clé reste active indéfiniment. Définissez une date d’expiration pour l’accès des prestataires ou les intégrations temporaires.
4. Sélectionner **Étendues** — au moins une étendue est requise. Cochez uniquement les autorisations dont l’intégration a réellement besoin. Voir la [Référence des étendues](#scope-reference) ci-dessous.
5. Cliquez sur le bouton de confirmation pour créer la clé.

### Affichage unique

Après la création, la valeur complète de la clé est affichée **une seule fois** avec un bouton de copie. Un avertissement indique :

> **« Copiez cette clé maintenant. Vous ne pourrez plus la voir. »**

Stockez immédiatement la clé dans un gestionnaire de secrets ou un coffre-fort. Une fois cette boîte de dialogue fermée, la clé complète disparaît — seul le préfixe de la clé reste visible dans le tableau. Si la clé est perdue, le seul moyen de la récupérer est la rotation.

***

<figure><img src="https://3675309505-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FtNQh1wBSHSaknslMdOXm%2Fuploads%2Fgit-blob-4725a12b257b391994fb76d3c5b538b1b708dac7%2Fapi-key-create.jpg?alt=media" alt="The Create API Key dialog with the name, expiry and the scrollable list of read and write scopes"><figcaption></figcaption></figure>

## Référence des étendues

Les étendues contrôlent ce que la clé peut accéder. Chaque étendue a une **Lecture** variante Lecture (récupérer des données) et une **Écriture** variante (créer, mettre à jour ou supprimer). Accordez uniquement l’ensemble minimal requis par votre intégration.

Les étendues disponibles peuvent dépendre de votre organisation et de votre formule. Capteur **historique** et **dernière vue** utilisent une étendue de télémétrie distincte plutôt que *Appareils : Lecture* — consultez la [référence de l'API](/kilo-docs-fr/kilo-iot-server/api.md) pour connaître l’étendue exacte requise par chaque point de terminaison.

| Étendue              | Lecture donne accès à                                                     | Écriture donne accès à                                                  |
| -------------------- | ------------------------------------------------------------------------- | ----------------------------------------------------------------------- |
| **Commandes**        | Voir les définitions des commandes d’appareil et l’historique d’exécution | Créer et modifier des commandes, et les envoyer aux appareils           |
| **Connexions**       | Voir l’état et la configuration des connexions                            | Créer et modifier des connexions                                        |
| **Tableaux de bord** | Voir les tableaux de bord et les données des widgets                      | Créer, modifier et supprimer des tableaux de bord et des widgets        |
| **Dispositifs**      | Voir la liste des appareils et l’état du jumeau numérique                 | Enregistrer des appareils, mettre à jour la configuration des appareils |
| **Événements**       | Voir l’historique des événements des appareils                            | —                                                                       |
| **Journaux**         | Voir les journaux système et ceux des appareils                           | Exporter les journaux                                                   |
| **Organisations**    | Voir les détails de l’organisation et les membres                         | Modifier les paramètres de l’organisation et l’appartenance             |
| **Règles**           | Voir les définitions des règles et l’état de déploiement                  | Créer, modifier, déployer et supprimer des règles                       |
| **Capteurs**         | Voir les définitions des métriques de capteurs et les modèles             | Créer et modifier des modèles de capteurs                               |
| **Utilisateurs**     | Voir la liste des utilisateurs et les données de profil                   | Inviter, mettre à jour et supprimer des utilisateurs                    |

**Principe du moindre privilège :** accordez uniquement les étendues réellement utilisées par chaque intégration — un script qui lit la configuration d’un appareil n’a besoin que de *Appareils : Lecture*, pas *Appareils : Écriture* ou toute étendue d’organisation. Un cloisonnement strict limite l’impact si une clé est un jour exposée.

***

## Tableau des clés API

La page Clés API répertorie toutes les clés de votre organisation. Les colonnes du tableau sont :

| Colonne                  | Description                                                                                                                       |
| ------------------------ | --------------------------------------------------------------------------------------------------------------------------------- |
| **Nom**                  | Le libellé attribué à la création.                                                                                                |
| **Préfixe de clé**       | Un court préfixe de la valeur de la clé — suffisant pour confirmer que vous regardez la bonne clé sans exposer le secret complet. |
| **Étendues**             | Pastilles d’autorisations indiquant les étendues accordées à cette clé.                                                           |
| **Statut**               | **Active** (vert), **Pivotée** (jaune), ou **Révoquée** (rouge).                                                                  |
| **Créée**                | Horodatage de la première création de la clé.                                                                                     |
| **Date d'expiration**    | La date d’expiration, ou « Jamais » si aucune expiration n’a été définie.                                                         |
| **Dernière utilisation** | L’horodatage de l’appel API authentifié le plus récent utilisant cette clé.                                                       |

Les clés sont triées par défaut de la plus récente à la plus ancienne. Les icônes de rotation et de révocation n’apparaissent que pour les clés actives — une icône de rotation pour faire pivoter, et une icône de corbeille pour révoquer.

***

## Rotation d’une clé

La rotation génère une nouvelle valeur de clé et désactive immédiatement l’ancienne. L’état de l’ancienne clé passe à **Pivotée** et elle ne peut plus authentifier aucune requête.

Utilisez la rotation à intervalles réguliers, ou chaque fois qu’une clé a pu être exposée — par exemple, si elle a été accidentellement journalisée, ajoutée à un dépôt ou partagée via un canal non sécurisé.

1. Cliquez sur l’icône de rotation sur la ligne de clé que vous souhaitez faire pivoter.
2. Une boîte de dialogue de confirmation apparaît :

   > **« Faire pivoter la clé API — Cela générera une nouvelle clé et marquera la clé actuelle « \[name] » comme pivotée. L’ancienne clé cessera de fonctionner. »**
3. Confirmez la rotation.
4. La nouvelle valeur de la clé est affichée **une seule fois**. Copiez-la immédiatement. Mettez à jour tous les systèmes utilisant l’ancienne clé avant qu’ils n’essaient d’effectuer leur prochain appel API.

La clé pivotée reste visible dans le tableau avec l’état **Pivotée** pour des raisons de piste d’audit.

***

## Révocation d’une clé

La révocation désactive définitivement une clé. Cette action est irréversible.

1. Cliquez sur l’icône de corbeille sur la ligne de clé.
2. Une boîte de dialogue de confirmation apparaît :

   > **« Révoquer la clé API — Cela révoquera définitivement la clé API « \[name] ». Cette action est irréversible. »**
3. Confirmez la révocation.

L’état de la clé passe à **Révoquée** (rouge) et reste visible dans le tableau. Les clés révoquées ne peuvent authentifier aucune requête. Elles apparaissent dans la piste d’audit, afin que vous disposiez d’un historique complet des clés ayant existé et de leur date de désactivation.

***

## Résultats attendus

Après la création d’une clé :

* La clé apparaît immédiatement dans le tableau avec **Active** statut.
* Les **Dernière utilisation** la colonne affiche un tiret jusqu’à ce que la clé effectue son premier appel API authentifié, puis se met à jour à chaque utilisation ultérieure.
* Les clés affichent une date d’expiration définie à la création ; vérifiez l’état actuel de la clé dans la **Statut** colonne.

***

## Dépannage

**Pas d’autorisation pour créer des clés API :** La gestion des clés API nécessite des droits d’accès suffisants dans votre organisation. Contactez l’administrateur de votre organisation si le **Créer une clé API** bouton n’est pas disponible.

**La clé a été perdue avant d’être copiée :** La valeur complète de la clé ne peut pas être récupérée. Cliquez sur **Faire pivoter** sur la ligne de clé pour générer une nouvelle valeur. Mettez à jour toutes les intégrations avec la nouvelle clé.

**Intégration renvoyant des erreurs d’authentification :**

* Vérifiez que l’état de la clé est **Active** (pas Pivotée ni Révoquée).
* Vérifiez que la clé n’a pas dépassé sa date d’expiration.
* Vérifiez que l’intégration utilise la bonne valeur de clé — comparez le préfixe affiché dans le tableau avec celui de la clé utilisée.
* Vérifiez que la clé dispose de l’étendue requise pour l’opération qu’elle tente d’effectuer. Une *Appareils : Lecture*clé en lecture seule échouera sur les opérations d’écriture.

**Clé révoquée ou pivotée acceptant encore des requêtes :** Les changements prennent effet immédiatement. Si une intégration semble toujours s’authentifier après révocation, vérifiez qu’elle n’utilise pas une autre clé ou une session en cache.

***

## Bonnes pratiques

* **Moindre privilège** — Accordez uniquement les étendues réellement utilisées par chaque intégration. Auditez régulièrement.
* **Nommées selon leur usage** — Utilisez des noms comme « Warehouse-Sync-Prod », « Audit-Export-Script » ou « CI-Pipeline-Staging » afin que tout membre de l’équipe puisse identifier d’un coup d’œil le propriétaire et le rôle de la clé.
* **Définissez des dates d’expiration pour les accès temporaires** — Les intégrations de prestataires, les scripts de preuve de concept et les projets à durée limitée devraient toujours avoir une expiration. Ainsi, nul besoin de penser à révoquer manuellement.
* **Faites pivoter selon un calendrier** — Considérez la rotation comme une maintenance de routine plutôt que comme une réponse à incident. Un cycle de rotation trimestriel constitue une base raisonnable pour les clés de production.
* **Stockez dans un gestionnaire de secrets** — Ne codez jamais les clés en dur dans le code source, les fichiers de configuration ou les variables d’environnement commises dans le contrôle de version. Utilisez un gestionnaire de secrets ou un coffre-fort et injectez-les à l’exécution.
* **Une clé par intégration** — Des clés séparées permettent de révoquer l’accès d’un système sans perturber les autres. Les clés partagées multiplient l’impact d’une seule compromission.


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://docs.kiloiot.io/kilo-docs-fr/kilo-iot-server/settings/api-keys.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
