LOGBREW_PROJECT_ID avec l’UUID du projet. Définissez
LOGBREW_API_URL sur https://api.logbrew.co. Les exemples utilisent Bash,
curl 7.76.0 ou plus récent, et jq.
Pour un renouvellement planifié, créez, déployez et testez la nouvelle clé
avant de révoquer l’ancienne. Fixez la fréquence de renouvellement dans votre
politique de sécurité. Si une clé a une date d’expiration, remplacez-la avant
cette date.
1
Créer la clé de remplacement
POST /api/projects/{project_id}/ingest-keys accepte un label non vide
de 120 caractères au plus. kind vaut cli, sdk, browser, server ou
artifact. Une clé artifact ne peut pas envoyer de télémétrie. Le champ
facultatif expires_at doit être une heure RFC3339 future.Utilisez le même kind que l’ancienne clé. La CLI utilise sdk si vous
omettez --kind, et CLI-created SDK key si vous omettez --label. La
CLI n’a pas d’option d’expiration. Pour définir expires_at, utilisez
l’API.La CLI enregistre le jeton, affiché une seule fois, dans un nouveau fichier
accessible à son seul propriétaire et hors du dépôt de code. Elle
affiche les métadonnées, pas le jeton :NEW_KEY_ID avec
la valeur ingest_key.id renvoyée.Si le résultat est incertain, relancez exactement la même commande. La CLI
réutilise sa clé de nouvelle tentative en attente. N’utilisez pas
--abandon-retry pour cette nouvelle tentative.Un client qui appelle directement l’API reçoit le jeton une seule fois,
dans la réponse. Pour réessayer, envoyez le même en-tête Idempotency-Key
avec le même corps. Pendant 24 heures, cette nouvelle tentative renvoie la
même clé. N’affichez jamais le jeton, ne le committez jamais et ne le
partagez jamais.2
Déployer la nouvelle clé en gardant l’ancienne active
Placez le nouveau jeton dans le paramètre de déploiement protégé. Déployez
l’application. Gardez l’ancienne clé active. Gardez les deux jetons hors du
code source, des sorties de build et des logs.
3
Envoyer un signal synthétique
Chargez le nouveau jeton dans la variable shell Ne continuez que si la lecture renvoie ce log avec le même
new_ingest_key. Ne
l’affichez pas. Envoyez un log synthétique avec la nouvelle clé, puis
relisez-le :occurred_at.
Un ancien log de vérification de renouvellement ne prouve pas que la
nouvelle clé fonctionne. Vérifiez aussi que l’application déployée envoie
de la télémétrie. Si une commande échoue, arrêtez-vous et lisez la réponse.
Gardez l’ancienne clé active, sauf si elle est exposée.4
Lister les métadonnées des clés, sans secret
Définissez La réponse est un tableau de métadonnées de clés, sans les jetons. Le
statut vaut
LOGBREW_ACCOUNT_BEARER à partir de l’authentification de votre
compte. Trouvez l’ID de l’ancienne clé. Vérifiez que NEW_KEY_ID
est active :active, expired ou revoked. Une clé est expired quand
l’heure expires_at est passée.5
Révoquer uniquement l’ancienne clé
Définissez
OLD_KEY_ID à partir de la liste. La commande ne révoque
l’ancienne clé que si les deux ID sont différents :DELETE est idempotent. Il renvoie les métadonnées de la clé avec
status: "revoked" et revoked_at renseigné. Vous pouvez le répéter sans
risque après une réponse incertaine.Exécutez unset new_ingest_key. Traitez le fichier de clé selon votre
politique de gestion des secrets.Corriger sans risque
Si le renouvellement échoue encore,
signalez un problème. Ne partagez que les
métadonnées des clés. N’incluez ni identifiants, ni en-têtes, ni télémétrie
brute, ni données client, ni chemins locaux, ni code source.
