コンテンツにスキップ

シークレット

Restorm のプロジェクトはコミットされることを前提に作られています。 一方、シークレットは決してその中に入ってはいけません。 Secret という値の型がこの要求に応えます。 変数はソースへの 参照 だけを保存し、値そのものは保存しません。

変数の型に Secret を選び、続いてソースを指定します。 プロジェクトファイルに残るのは、ソースの識別子とそのパラメーターだけです。 値は 実行時にメインプロセス内で 解決されます。

Secret 型の環境変数が 2 つ(petstore_auth_token、api_key)。セルには $= マーカーと、更新・取得方法の編集・ロックの各ボタンが並んでいます。その隣には文字列型の変数があります

シークレットは アプリケーションから引き続き参照できます。 環境エディター、解決済みの値を表示する各ビュー、内部コンソール、コードスニペットには、その値が表示されます。 それはあなた自身のシークレットであり、すでにご存じのものです。Secret 型はそれをあなたから隠そうとするものではありません。

Secret 型が保証するのは、その値が次のとおりであることです。

  • お使いのマシンから出ていくファイルには決して入らない — 値は .restorm プロジェクトに書き込まれないため、コミットされることも、リポジトリにプッシュされることも、 エクスポートに含まれることもありません。
  • 許可されていない第三者のサービスには送信されない — 送信先は ファイアウォール を経由します。

オペレーティングシステムの環境変数を読み取ります。 パラメーターは変数の 名前 ひとつだけです。

継続的インテグレーションで優先すべきソースです。 シークレットは CI のシークレットストアから注入され、Restorm はそれを読むだけです。

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

シークレットファイル(envFileSecret

Section titled “シークレットファイル(envFileSecret)”

プロジェクトの隣 に置かれた restorm.env ファイルを読み取り、書き込みもします。 こちらはローカル向けのモードです。ファイルはお使いのマシンに残るので、.gitignore に追加してください。

前述のソースと違い、こちらは 書き込み可能 です。 Restorm から値を入力できますし、その値はプロジェクトではなくシークレットファイルに保存されます。

解決された値はキャッシュされます。 外部でシークレットを変更した後(トークンのローテーション、.env ファイルの編集など)は、 環境を更新 を使ってキャッシュを空にし、すべてのソースを読み直してください。

Restorm は、ディスクに書き出すもの からシークレットを除去します。

  • 認証リクエスト が生成したトークンは、 ボディとヘッダーを含めて レスポンス履歴 から除去されます。
  • アプリケーションのログからも同様に除去されます。

一方で MCP ツールは、アプリケーションの他の部分と同じように 解決済みの値 を受け取ります。エージェントはあなたに代わって、あなた自身のシークレットで Restorm を操作するからです。上記の保証は変わりません。 値がプロジェクトやエクスポートに書き込まれることはなく、許可されていない第三者のサービスへ 送られることもありません。

  1. restorm.env*.responses.zip.gitignore に追加してください。
  2. CI では、シークレットファイルではなく envVar を使ってください。
  3. ネイティブなプロトコル(MQTT、AMQP、Redis、Kafka)のパスワードも Secret 型の値を受け付けます。これらのパスワードをリクエストに平文で書かないでください。