Ga naar inhoud

Geheimen

Een Restorm-project is gemaakt om gecommit te worden. Geheimen mogen daar nooit in terechtkomen. Het waardetype Geheim lost dat op: de variabele slaat een verwijzing naar een bron op, nooit de waarde zelf.

Kies het type Geheim voor een variabele en daarna de bron. Het projectbestand bevat dan alleen de identificator van de bron en haar parameters. De waarde wordt in het hoofdproces, op het moment van uitvoeren opgelost.

Twee omgevingsvariabelen van het type Geheim (petstore_auth_token, api_key): de cel draagt de markering $= en de knoppen vernieuwen, ophaling bewerken en vergrendelen — naast een variabele van het type tekenreeks

Een geheim blijft raadpleegbaar vanuit de applicatie: de omgevingseditor, de weergaven met de opgeloste waarde, de interne console en de codefragmenten tonen de waarde ervan. Het is uw geheim, u kent het al — het type Geheim probeert het niet voor u te verbergen.

Wat het wél garandeert, is dat de waarde:

  • nooit terechtkomt in bestanden die uw machine verlaten — ze wordt niet in het .restorm-project geschreven en wordt dus niet gecommit, niet naar een repository gepusht en niet in een export meegenomen;
  • niet naar een niet-geautoriseerde dienst van derden wordt gestuurd — de uitgaande bestemmingen lopen via de firewall.

Omgevingsvariabele van het systeem (envVar)

Section titled “Omgevingsvariabele van het systeem (envVar)”

Leest een omgevingsvariabele van het besturingssysteem. Er is één parameter: de naam van de variabele.

Dit is de bron die u in continue integratie het beste gebruikt: het geheim wordt geïnjecteerd door de kluis van uw CI, Restorm leest het alleen.

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

Leest — en schrijft — een bestand restorm.env dat naast het project staat. Dit is de lokale modus: het bestand blijft op uw machine en zet u in de .gitignore.

Anders dan de vorige bron is deze beschrijfbaar: u kunt de waarde vanuit Restorm invoeren, waarna die in het geheimenbestand wordt opgeslagen en niet in het project.

De opgeloste waarden worden gecachet. Nadat u een geheim buiten Restorm hebt gewijzigd (een token rouleren, het .env-bestand aanpassen), gebruikt u Omgeving vernieuwen om de cache te legen en alle bronnen opnieuw te lezen.

Restorm schoont geheimen uit wat het naar schijf schrijft:

De MCP-tools daarentegen krijgen de opgeloste waarde, net als de rest van de applicatie: de agent bestuurt Restorm namens u, op uw eigen geheimen. De bovenstaande garanties blijven ongewijzigd — de waarde wordt niet in het project geschreven, niet in een export, en gaat niet naar een niet toegestane derde dienst.

  1. Voeg restorm.env en *.responses.zip toe aan uw .gitignore.
  2. Gebruik in CI envVar in plaats van het geheimenbestand.
  3. Het wachtwoord van een native protocol (MQTT, AMQP, Redis, Kafka) accepteert ook een waarde van het type Geheim — schrijf die wachtwoorden niet leesbaar in het verzoek.