Súgó és útmutatókFiók biztonság › API tokenek biztonságos használata

API tokenek biztonságos használata

3 perc olvasás · Fiók biztonság

Az API token egy kulcs, amely teljes programozott hozzáférést ad a fiókjához a REST API-n keresztül. Ha kiszivárog, egy támadó ugyanazt teheti meg, amit Ön. Az alábbi ajánlások csökkentik annak kockázatát, hogy ez megtörténjen.

Kezelje a tokent jelszóként

  • Soha ne illessze be a tokent nyilvános repozitóriumokba (GitHub, GitLab).
  • Ne küldje el a tokent Discordon, Slacken vagy e-mailben hibakeresés közben.
  • Tárolja a tokent környezeti változóban vagy titokkezelőben (HashiCorp Vault, AWS SSM Parameter Store, Doppler és hasonlók).
  • A CI/CD pipeline-ban (automatizált build/deploy rendszerben) használja a "masked secret" funkciót, hogy a token ne jelenjen meg olvasható formában a logokban.
Az API tokenek listája az utolsó használat idejével
Minden tokennél látja az utolsó használat idejét - segítség a rotációhoz és a váratlan tevékenység felderítéséhez.

Tokenek rotációja

Az alábbi helyzetek mindegyikében azonnal vonja vissza a régi tokent, és generáljon újat:

  • Egy alkalmazott, akinek hozzáférése volt, távozik.
  • A vezérlőpultban minden token mellett lát egy Utoljára használva időbélyeget - ha váratlan tevékenységet lát, azonnal vonja vissza a tokent.
  • Legalább 90 naponként, rutinszerű higiéniaként, akkor is, ha semmi sem történt.

Egy token = egy cél

Ne tegye ugyanazt a tokent öt különböző szkriptbe. Hozzon létre külön tokent minden integrációhoz:

  • epulzio_xxxxxxxxxxxxxxxx - csak GitHub Actions általi telepítéshez
  • epulzio_xxxxxxxxxxxxxxxx - csak Terraformhoz vagy Pulumihoz (infrastruktúra-kezelő eszközök)
  • epulzio_xxxxxxxxxxxxxxxx - metrikákat letöltő Grafana vezérlőpulthoz

Ha egy token kiszivárog, csak az adott egyet vonja vissza, a többi integráció pedig tovább működik.

Hová mentse biztonságosan a tokent

KörnyezetAjánlott módszer
Helyi CLIA ~/.config/epulzio/token fájl chmod 600 jogosultsággal (csak az Ön felhasználója olvassa)
DockerDocker secret vagy --env-file (nem fixen beégetve az ENV útján a Dockerfile-ban)
KubernetesKörnyezeti változóként vagy fájlként csatolt Secret objektum
GitHub ActionsSettings -> Secrets -> EPULZIO_TOKEN
Felhőfunkciók (AWS Lambda, GCP Functions)AWS SSM Parameter Store vagy Google Secret Manager

Token vs. aláírási titok a webhookokhoz

A bejövő webhookok (az Önnek küldött értesítések) ellenőrzéséhez használjon külön aláírási titkot (HMAC signing secret), ne az API tokent. Ez két különböző dolog. A részleteket az API token generálása cikkben találja.

Hasznos volt ez az útmutató?