この単元で出てくる秘密は、ほぼ全部が「書き込み専用」です。 パスワード・カード番号・セキュリティコードは、保存すると、画面にもボットにも二度と表示されません。Vault(ボット用の金庫)ではパスワードが隠れたままで、カードは下4桁だけが見えます。
全部が隠れるわけではありません。連絡先と、どのログインを保存したかは、ボットに見えます。連絡先は、設定画面で足したり直したりできます。
読めないので、値を変えたい時は「置き換え」しかありません。 共有ボットの Secrets(この後の第1章)なら、Replace を押して新しい値を貼ります。古い値を読み戻すことはできません。
空欄になっていても、消えた証拠にはなりません。 公式にもそう書かれています。 No.06 で見た「値はモデルを通らない」の図は、この書き込み専用の性質の上に成り立っています。
受講生には「パスワードの置き場は1か所」と思われがちです。 実際は、中身と使う人によって置き場が分かれていて、「誰が読めるか」「どこに住むか」がそれぞれ違います。 ボットに値を見せない道は、Vault・1Password・Secure Form・秘密カード・共有ボットの Secrets です。Team Secrets は、ボットのためでなくスクリプトのための置き場です。 これらを混ぜないことが、この単元のすべてです。
| 置き場 | 入れる物 | 誰が使えるか | ボットには |
|---|---|---|---|
| Vault | ログイン・カード・連絡先 | アカウント全体。自分の全ボットが使える。1つのボットに限定はできない。共有ボットでは使えない | パスワード・カード番号・セキュリティコードは見えない。連絡先と「どのログインを保存したか」は見える |
| 秘密カード | APIキーなどログインでもカードでもない秘密 | ボットが求めた時に入力欄が出る | 値は伏せ字で、チャットにも transcript(会話の記録)にも残らず、モデルに見せない |
| 共有ボットの Secrets | 環境変数名+説明+値 | 共有ボットで、オーナーか管理者が追加する。そのボットとチャットする全員の会話で使われる | 説明は見える。値は見えない |
| Team Secrets | Team Setup Script が使う認証情報(ライセンスキーなど) | Enterprise のみ。チーム管理者がダッシュボードで管理 | 直接は渡らない |
環境変数は、プログラムに渡す名前つきの設定値のことです。
表にない2つにも触れます。1Password は、連携していれば Vault の次に使われる、すでにあなたが使っている金庫です。Secure Form は、ボットに見せずにページへ直接入れる欄です。 「Securely save to Bot's vault」にチェックを入れなければ、その会話だけの値になります。
No.06 の図を、秘密の種類ごとに広げます。
手元のアプリ ──→ Cursorのサーバー ──→ クラウドの計算機(ページに入力)
│ │
│ Vault/Secure Form │ 値はページへ直接入る。モデルには渡らない
│ 秘密カード │ 伏せ字で保存。transcript に残らない
│
共有ボットの Secrets: 名前+説明はボットに見える/値は見えない
Team Secrets: Setup Script の実行中だけ環境変数になる
└→ ボットには直接渡らない
どの経路でも、値がモデルの手前で止まっている点は同じです。 違うのは、止まる場所と、そこに誰がアクセスできるかです。
共有ボットの Secrets は、環境変数名・短い説明・値を入れて保存します。 説明はボットに見えて、値は見えません。後から一覧に出るのも名前と説明だけで、値は Shell(計算機で命令を打つ道具)の中でも読めません。
ここで落とし穴があります。 オーナーが入れた Secrets は、そのボットとチャットする全員の会話で使われます。公式は「全員に使わせてよい鍵だけを入れる」と書いています。
Vault は共有ボットで使えません。公式は理由を書いていません。 公式が示す手段は、共有ボットに鍵を足したい時に Vault ではなく Secrets に入れることです。
Team Secrets は Enterprise 限定です。 チーム全員の計算機に道具を入れる Team Setup Script(管理者が書く準備の台本)が、ライセンスキーや認証キーを読むための置き場です。台本の文面に値を書かずに済みます。
仕組みの要点は次のとおりです。
「私設網の入口になる認証キー」を入れたい、という相談も来ます。
その時の答えは、台本の本文に書かず Team Secret に入れて $名前 で読む、です(私設網は No.11 で扱います)。
No.03 の表のとおり、ソフトだけの Update は何も消しません。
計算機ごとの Update は、入れたアプリとパッケージを消します。Recover と Reset も同じです。/workspace のファイルは、保存されていれば残ります。
それでも公式は、ファイル・シェルの設定・入れた道具の中に自分で書いた秘密は、アプリやパッケージと一緒に消えうる(can disappear)と書いています。 公式は細かい理由を書いていないので、「計算機の中に書いた秘密は当てにしない」と覚えます。
一方、Vault・秘密カード・Secrets は別の場所に保存されています。 こちらは計算機を作り直しても残ります。
受講生の「アップデートしたら鍵が消えた」には、まず「どこに入れた鍵ですか」と聞きます。 計算機の中に書いたなら、消えた可能性があります。Secrets に入れたなら、名前が一覧に残っているかを見ます。残っていれば、値は保存されたままです。
次の場所には、パスワード・ワンタイムコード・APIキーを貼りません。
秘密は、上で挙げた、ボットに値を見せない道から入れます。 鍵を控えようとしてファイルに写すのも、避けます。
共有ボットの Secrets の名前が、自分で削除していないのに消えた時は、まずアプリを完全に終了して開き直します。 次に、同じ Cursor アカウントの別の端末で開いて確かめます。それでも無ければ入れ直します。続けて消える時は、サポートに連絡します。その時はメールアドレスと Secrets の画面だけを送り、値は送りません。
○ よくある勘違い 「Vault に入れたから、共有ボットでも使える」→ 使えません。共有ボットでは Secrets に入れます
○ よくある勘違い 「Secrets が空欄だから消えた」→ 空欄は消えた証拠ではありません。名前が残っているかを見ます
○ 関係する単元:No.03(Reset で消える物)/No.05(連携アプリの鍵の置き場)/No.06(ログインの順番)/No.11(Team Setup と私設網)
保存する置き場は Vault・秘密カード・共有ボットの Secrets・Team Secrets の4つで(ほかに 1Password と Secure Form)、誰が読めるかが違う。パスワード・カード番号などの保存した値は二度と読めず、空欄は消えた証拠ではない。消えうるのは、計算機の中(シェルの設定や入れた道具など)に自分で書いた秘密だけ。
問1 受講生が「共有ボットの Secrets に入れた鍵は、チームの誰がボットと話しても使われますか」と聞いてきました。答えは?
問2 計算機を Reset したあと、「鍵が使えなくなった」と相談が来ました。まず確かめるべきことは?
問3 Team Secrets について正しいのは?
出典:https://docs.x.ai/grok-bot/vault / https://docs.x.ai/grok-bot/teams-and-enterprises / https://docs.x.ai/grok-bot/private-networks / https://docs.x.ai/grok-bot/approvals-security-and-privacy / https://docs.x.ai/grok-bot/security