Tovább a tartalomhoz

Titkok

A Restorm-projekt arra készült, hogy commitolható legyen. A titkoknak viszont soha nem szabad bekerülniük. A Titok értéktípus éppen erre az igényre válaszol: a változó egy hivatkozást ment el egy forrásra, sosem magát az értéket.

A változón a Titok típust kell választani, majd a forrást. A projektfájl ezután már csak a forrás azonosítóját és annak paramétereit tartalmazza. Az érték a főfolyamatban, a futtatás pillanatában oldódik fel.

Két Titok típusú környezeti változó (petstore_auth_token, api_key): a cella a $= jelölőt, valamint a frissítés, a lekérés szerkesztése és a zárolás gombokat hordozza — egy karakterlánc típusú változó mellett

A titok továbbra is megtekinthető az alkalmazásból: a környezetszerkesztő, a feloldott értéket mutató nézetek, a belső konzol és a kódrészletek egyaránt megjelenítik az értékét. Ez a felhasználó saját titka, amelyet amúgy is ismer — a Titok típusnak nem célja elrejteni előle.

Amit garantál, az az, hogy az érték:

  • soha nem kerül bele a gépet elhagyó fájlokba — nem íródik bele a .restorm projektfájlba, így sem commitba, sem egy tárolóba felküldött változatba, sem exportba nem kerül;
  • nem jut el jogosulatlan külső szolgáltatáshoz — a kimenő célpontok a tűzfalon haladnak keresztül.

A rendszer környezeti változója (envVar)

Section titled “A rendszer környezeti változója (envVar)”

Az operációs rendszer egyik környezeti változóját olvassa. Egyetlen paramétere van: a változó neve.

Folyamatos integrációban ez az előnyben részesített forrás: a titkot a CI páncélszekrénye injektálja, a Restorm csak beolvassa.

Terminal window
export API_TOKEN=""
restorm --open projet.restorm --run "Tests" --headless

Egy a projekt mellé helyezett restorm.env fájlt olvas — és ír is. Ez a helyi mód: a fájl a gépen marad, és felkerül a .gitignore fájlba.

Az előző forrással szemben ez írható: az érték a Restormból is megadható, és a titokfájlba kerül mentésre, nem a projektbe.

A feloldott értékek gyorsítótárba kerülnek. Ha egy titok kívülről megváltozott (tokenrotáció, a .env fájl módosítása), a Környezet frissítése művelettel üríthető a gyorsítótár, és olvasható újra minden forrás.

A Restorm abból szűri ki a titkokat, amit a lemezre ír:

Az MCP-eszközök ezzel szemben a feloldott értéket kapják meg, ugyanúgy, mint az alkalmazás többi része: az ügynök a felhasználó nevében, a saját titkaival vezérli a Restormot. A fenti garanciák változatlanok — az érték sem a projektbe, sem exportba nem íródik bele, és nem jut el jogosulatlan külső szolgáltatáshoz.

  1. A restorm.env és a *.responses.zip felvétele a .gitignore fájlba.
  2. CI-ben inkább az envVar használata a titokfájl helyett.
  3. Egy natív protokoll (MQTT, AMQP, Redis, Kafka) jelszava szintén elfogad Titok típusú értéket — ezeket a jelszavakat nem szabad nyílt szövegként a kérésbe írni.