認証情報
資格情報 ペインは、マシン(設定エディタではワークスペース)に、そのエージェントが必要とする秘密情報――git トークン、SSH キー、クラウドの認証情報、データベースのパスワード――を、VM に一切入れることなく渡すための場所です。すべての値は Mac 上に暗号化して保存されます。VM 内のエージェントに見えるのは代用値(たとえば brm_…)だけで、リクエストが Mac を出るときにプロキシが代用値を本物の値に差し替えます。それも、その認証情報が属するホストに対してだけです。
このページはフィールドごとのリファレンスです。仕組み――ワイヤ境界、代用値、ホストによる範囲制限、AWS の再署名、侵害アラート――は認証情報とワイヤ境界で説明しています。認証情報を使う前にあなたの承認が必要かどうか、どんな書き込みを許すかはガードレールで設定します。
メモ: コーディングエージェントのモデルプロバイダー(Anthropic、OpenAI、xAI、Moonshot、z.ai、Bedrock、OpenRouter、カスタムサーバー)の API キーとサインインは、ここでは設定しません。それらは 環境設定 › モデル、またはマシン独自のモデルの上書きにあります。
Git アイデンティティ
上部の 2 つのフィールドは、VM 内の ~/.gitconfig に書き込まれる作者の ID を設定します。
- user.name — プレースホルダーは Your Name。
- user.email — プレースホルダーは [email protected]。
「VM の ~/.gitconfig に書き込まれます。両方空のままにすると git のデフォルトを保持します。」これらは秘密情報ではなく、差し替えもされません。変更は 保存 した時点で実行中のマシンに反映されます。
取り込んだ設定ファイル
初回セットアップで Mac の設定ファイルをこのマシンに取り込んだ場合、それらは 取り込んだ設定ファイル の下に表示されます。それぞれ ~/<パス> の形で、含まれる設定の数、除外された秘密情報の数、無効にされた設定が示されます。「そのまま VM にコピーされます。秘密情報は含まれません。上の資格情報として渡されるため、VM にはダミーだけが見えます。」マイナスボタンでファイルをマシンから取り除けます。
認証情報の一覧
その下には、このマシンが実際に持っている認証情報だけが、カテゴリ見出しの下に並びます。
| ヘッダー | その下に表示されるもの |
|---|---|
| GIT | GitHub、GitLab、Bitbucket、またはセルフホストのフォージ用の個人アクセストークン。 |
| CLOUD | AWS、DigitalOcean、Linear、Twilio、Kubernetes のコンテキスト、コンテナレジストリ。 |
| DATABASES | MongoDB、ClickHouse、Elasticsearch のエンドポイント。 |
| SSH | マシン自身の鍵と、取り込んだすべての鍵。 |
| OTHER | 「Other API key」の差し替えルール。 |
各行にはアイコン、名前、その認証情報が適用される 1 つまたは複数のホストが表示されます。行の ⋯ メニュー(または行のクリック)には 編集… と 削除 があります。保存 をクリックするまで、ディスクからは何も削除されません。
モデルプロバイダーがモデルに移る前から独自のエージェント API キーを持っているマシンでは、AGENTS グループが表示されることもあります。これらの行には 削除 がなく、メニューの 「モデル」で編集… で 環境設定 › モデル が開きます(環境設定そのもの、またはリモートマシンのエディタでは、そのエディタの モデル ペインに切り替わります)。
認証情報がないとき、ペインには 資格情報はまだありません ――「API キー、トークン、SSH キーを追加するか、env ファイルを読み込みます。実際の値は Mac 上に留まり、VM が保持するのは常にダミー値だけです。」と表示されます。
認証情報の追加
認証情報を追加 で認証情報の種類の一覧が開きます。それぞれ専用の編集シートが開き、完了 で閉じます。
| 種類 | サブタイトル |
|---|---|
| Git token | GitHub、GitLab、Bitbucket 用の個人アクセストークン |
| SSH key | 秘密鍵を取り込むか、ワークスペースごとの鍵を使う |
| AWS credentials | 静的な IAM キーまたは SSO ――通信経路上で SigV4 署名 |
| DigitalOcean token | doctl/API 用の個人アクセストークン |
| Linear API key | Linear の個人 API キー |
| Twilio API key | アカウント/API キーの SID +シークレット――通信経路上では HTTP Basic |
| Kubernetes | クラスターのコンテキスト(トークン、クライアント証明書、または exec プラグイン) |
| Container registry | Docker Hub、ghcr.io などのレジストリへのログイン |
| Database | MongoDB Data API、ClickHouse、または Elasticsearch |
| Other API key | そのほかのトークン――環境変数とホストを自分で選ぶ |
エージェントの API キー(Anthropic、OpenAI、xAI、Moonshot)はこの一覧にはありません。環境設定 › モデル で設定します。
env ファイルのインポート
env ファイルを読み込む… は、既存の .env ファイルや ~/.bashrc から認証情報を読み取ります。パーサーは KEY=VALUE と export KEY=VALUE の行を読み、引用符と行末の # コメント を取り除き、同じ名前が繰り返されている場合は最後の代入を採用します。シェルは一切実行しません。展開が必要な値($VAR、$(…))は誤って取り込むのではなくスキップされるので、実際の .bashrc を使っても安全です。
変数は、すべての値が伏せられた確認シート Import from ファイル名 に表示されます。
認識済み の変数は、次のように認証情報の種類に対応します。
| 変数 | 変換先 |
|---|---|
GH_TOKEN、GITHUB_TOKEN | GitHub トークン(Git ユーザー名 を尋ねます) |
GITLAB_TOKEN、GLAB_TOKEN | GitLab トークン(Git ユーザー名 を尋ねます) |
AWS_ACCESS_KEY_ID、AWS_SECRET_ACCESS_KEY、AWS_SESSION_TOKEN | AWS の静的キー |
DIGITALOCEAN_ACCESS_TOKEN、DIGITALOCEAN_TOKEN、DO_TOKEN | DigitalOcean トークン |
LINEAR_API_KEY | Linear API キー |
TWILIO_ACCOUNT_SID、TWILIO_API_KEY_SID、TWILIO_API_KEY | Twilio の SID |
TWILIO_AUTH_TOKEN、TWILIO_API_SECRET、TWILIO_API_KEY_SECRET | Twilio のシークレット |
ANTHROPIC_API_KEY、OPENAI_API_KEY、XAI_API_KEY、MOONSHOT_API_KEY、KIMI_API_KEY | モデル設定の対応するプロバイダー(Anthropic、OpenAI、xAI、Moonshot)の API キー |
エージェントのキーは、エージェントがプロバイダーのキーを取得する場所へ入ります。この Mac では 環境設定 › モデル に入るので、グローバル設定を引き継ぐすべてのマシンがそれを受け取ります。また、そのボード上のほかの変更と同じく、取り込んだ時点で保存されます。ミラーウインドウから編集するリモートマシンの場合は、そのマシン独自の モデル の上書きに入り、保存 で保存されます。リモートの環境設定では、その Mac のグローバル設定に入ります。プロバイダーがすでにキーを持っている場合、そのキーには Already configured の印が付きます。
マシンがすでに持っているものと一致する変数には Already configured — check to overwrite. の印が付き、チェックが外れた状態になります。そのため、取り込み直しで秘密情報が黙って置き換えられることはありません。
未認識 の変数は、Other API key のエントリとして取り込めます。それぞれに ホスト フィールドがあり、代用値を差し替えるホストをカンマ区切りで指定します。空欄はすべてのホストを意味します。変数名は、エントリの名前と、代用値をエクスポートする変数名の両方になります。
1Password の参照(op://vault/item/field)である値は、秘密情報そのものではなく参照を保存する Other API key として取り込まれます(その他の API キーを参照)。
ボタンには Import N credentials と表示されます。取り込むと選択したものがペインに追加されます。残すには 保存 をクリックします。
SSH キー
秘密鍵が VM に入ることはありません。署名は Mac 上の ssh-agent がプライベートな仮想ソケット経由で提供するので、VM は署名を依頼できても鍵を読むことはできません。
- マシン自身の ed25519 鍵。 新しいマシンでは ed25519 鍵ペアを生成 にチェックが入っています(デフォルトのテンプレートがすでに鍵を提供している場合を除く)。鍵ができると、エディタには公開鍵が コピー と GitHub の鍵ページを開く とともに表示され、再生成 のトグルもあります。新しい鍵を生成した直後には、GitHub に追加できるようアプリがそれを表示します。
- 取り込んだ SSH キー。 インポート… でファイルピッカーが開き、続いて ラベル と、鍵が暗号化されている場合は パスフレーズ(macOS キーチェーンに保存)を尋ねます。RSA、ed25519、ecdsa の鍵に対応しています。
- ホストのエージェントの鍵。 ホストのエージェントから… は、Mac 上の ssh-agent が保持している鍵を一覧表示します。gpg-agent 経由の YubiKey、Secretive、1Password など、ファイルとしてコピーできない鍵のためのものです。エージェントのソケットを選び(空欄はアプリの
SSH_AUTH_SOCK。メニューにはこの Mac で見つかったエージェント、たとえば~/.gnupg/S.gpg-agent.sshが表示されます)、読み込む をクリックして、追加する鍵にチェックを入れます。マシンに見せるのはその鍵だけです。
SSH キーの変更は、マシンの再起動時に反映されます。
Git トークン(GitHub、GitLab、Bitbucket)
GitHub、GitLab、Bitbucket のグループに分かれています。トークンを追加 で、ホスト、ユーザー名、個人アクセストークン(表示ボタンと、フォージのトークンページへのリンク付き)を持つ行が追加されます。ホストには github.com、gitlab.com、またはセルフホストのインスタンスを指定できます。代用値は ~/.git-credentials と gh/glab の設定に書き込まれます。gh と glab は GH_TOKEN/GITLAB_TOKEN も読み取ります。
Linear
個人 API キーが 1 つ(プレースホルダは lin_api_… の形で、Linear の API 設定へのリンク付き)。LINEAR_API_KEY としてエクスポートされ、linear.app とそのサブドメインへのリクエストでのみ差し替えられます。Linear をトリガーとする自動化にも Linear のキーが必要です。
Twilio
「Account SID + Auth Token from console.twilio.com (or an API Key SID SK… + its secret).」フィールドは 2 つです。
- Account SID (AC…) or API Key SID (SK…) ―― SID はリクエストの URL に含まれて送られる識別子なので、秘密情報としては扱われません。VM には
TWILIO_ACCOUNT_SIDにそのまま渡されます。 - Auth Token / API Key secret ―― VM には
TWILIO_AUTH_TOKENに代用値が渡され、twilio.comへのリクエストでプロキシが本物を入れます。
シークレットの横のボタンで Twilio Console が開きます。エディタには 使用時に承認を要求 のチェックボックスもあります。これはガードレールがすべての認証情報について表示するものと同じです。
Kubernetes
クラスターのコンテキストごとに 1 行です。Bromure は VM 内に kubectl をプロキシへ向ける ~/.kube/config を書き込み、本物の ID は Mac 上に残ります。各コンテキストには名前、サーバー URL、任意の CA 証明書(PEM)、ネームスペース、そして認証方式があります。
- ベアラートークン ――通信経路上で差し替えられます。
- クライアント証明書 ――本物の証明書と鍵は、Mac が上流への接続に使います。VM には使い捨てのものが渡されます。
- Exec プラグイン ―― コマンド、引数、更新 間隔(1~60 分)を指定します。プラグインは Mac 上で動き、新しいトークンが差し替えられます。VM 内の
kubectlがそれを実行することはありません。
ファイルをインポート… は既存の kubeconfig を読み取り、コンテキストごとに 1 行にします。コンテキストを追加 で手動で追加できます。Bromure 自体で作成したクラスターは別に扱われます――Kubernetes クラスタとレジストリを参照してください。マシンの実行中に追加・編集したコンテキストは、クラスターの CA とクライアント証明書も含めて 保存 した時点で使えます。それでもアプリは再起動を提案します。
DigitalOcean
個人アクセストークンが 1 つ(プレースホルダは dop_v1_… の形)。DIGITALOCEAN_ACCESS_TOKEN としてエクスポートされ、doctl の設定にも書き込まれるので、doctl auth init は不要です。digitalocean.com へのリクエストで差し替えられます。docker login/doctl registry login が registry.digitalocean.com に対して使う Basic 認証の形式も対象です。
AWS
aws CLI、各種 SDK、terraform などのツール用です。本物のシークレットが VM に届くことはありません。Mac が各リクエストを本物のキーで再署名し、プロキシを迂回したリクエストは AWS に拒否されます(InvalidSignatureException)。認証方式 で次のどちらかを選びます。
- 静的キー ―― アクセスキー ID、シークレットアクセスキー、任意の セッショントークン(「任意 — STS のみ」)、デフォルトリージョン。IAM 認証情報ページを開く もあります。
- SSO / Identity Center ――
~/.awsフォルダへのアクセスを許可し、~/.aws/configから SSO プロファイル を選びます。一時的な認証情報は Mac 上で取得され、必要に応じて Mac がブラウザでaws sso loginを実行します。(iPhone、iPad、Vision Pro のクライアントでは、代わりにプロファイル名を入力します。)
マシンの AWS 認証情報は、Bedrock の API キーなしでモデルの Bedrock を有効にしている場合、Amazon Bedrock へのリクエストにも署名します。AWS の変更は、マシンの再起動時に反映されます。
コンテナレジストリ
docker pull/docker push 用の、レジストリごとのログインです。VM の ~/.docker/config.json には代用値が入り、そのレジストリへのリクエストでプロキシが本物のパスワードを入れます。追加 メニューには Docker Hub (docker.io)、GitHub Container Registry (ghcr.io)、GitLab Container Registry (registry.gitlab.com)、Quay (quay.io)、その他のホスト…、config.json を読み込む… があります(パスワードが認証情報ヘルパーやキーチェーンにあるエントリはスキップされ、件数が表示されます)。各行には ホスト、ユーザー名、パスワードまたはトークン があります。
データベース(MongoDB、ClickHouse、Elasticsearch)
HTTPS エンドポイントごとに 1 行で、エンジンごとにグループ化されます。それぞれに任意の 名前、ホスト(エンドポイントの書き込みポリシーの範囲にもなります)、認証 方式―― Username + password、API キー、ベアラートークン(MongoDB の既定は API キー、ほかはユーザー名+パスワード)――、パスワード認証用の ユーザー名、シークレット、そして 環境変数(代用値をエクスポートする名前をカンマ区切りで指定)があります。代用値は、ヘッダー、クエリ文字列、本文のどこに現れても差し替えられます。
その他の API キー
Bromure が独自に扱わないあらゆるサービス用です。各エントリは差し替えルールです。
- 名前 ――自分用のラベル(プレースホルダ「e.g. Stripe (sandbox)」)。
- 実際のシークレット ――キー(プレースホルダ
sk_live_…)。代わりに 1Password の参照(op://vault/item/field)を貼り付けることもできます。保存されるのは参照だけで、Bromure は起動時に 1Password のopCLI で秘密情報を取得し、2 分ごとに更新します。インストールされていない場合は 1Password CLI を入手 のリンクが役立ちます。 - 環境変数 ――エージェントが代用値を見つける場所(プレースホルダ
STRIPE_API_KEY)。何もエクスポートしない場合は空欄にします。 - API host(s) (optional) ――ホスト名をカンマ区切りで、
https://やパスは付けずに指定します。本物のキーは、これらのホストとそのサブドメインへのリクエストでのみ差し替えられます。空欄の場合はすべてのホストが許可されます。
警告: ホストのないエントリはどのホストに対しても差し替えられ、侵害アラートの対象にもなりません――それが「すべてのホスト」という意味です。範囲を限定しない秘密情報を管理下に置くには、ホストを指定するか、ガードレールでその認証情報の 使用時に承認を要求 をオンにしてください。
OpenShell プロバイダープロファイル
サンドボックスエンジンが OpenShell + Sentry のマシンでは、ペインの最後に OpenShell provider profiles セクションがあります(Mac のみ)。
Attach provider profile… は、OpenShell のプロバイダープロファイル(openshell profile export が書き出す YAML または JSON)をインポートします。シートが Instance name(既定はプロファイルの ID)と、プロファイルの各認証情報の値(必須のものには * が付きます)を尋ね、Attach で追加されます。各値は、プロファイルのホストとパスに結び付いた、インスタンス · 認証情報 という名前のこのマシンの認証情報になり、プロファイルが指定する環境変数で渡されます。プロファイルのエンドポイントは、届くようにルールとして追加されます。ほかの認証情報と同じく、Bromure は本物の値を Mac に保ち、VM には代用品を渡します。ゴミ箱ボタンはプロファイルを外し、その認証情報を削除します。エンドポイントを宣言していないプロファイルは、認証情報の使い道がないため拒否されます。refresh する認証情報や token_grant を使う認証情報は、あなたが入力した静的な値として使われます。
Use OpenShell credential placeholders(既定はオフ)をオンにすると、このマシンが環境変数として渡す認証情報について、エージェントには Bromure の本物そっくりのトークンの代わりに、OpenShell のもとと同じく openshell:resolve:env:NAME が環境内に見えます。プロキシは本物の値をリクエストヘッダーに入れ、リクエスト本文や WebSocket メッセージには、エンドポイントが request_body_credential_rewrite や websocket_credential_rewrite を設定している場合にだけ入れます。各認証情報は引き続き自分のホストでしか使えません。ほかの形式で送られる認証情報(git やレジストリのログイン、サブスクリプションのサインイン)は、Bromure の代用品のままです。トークンの形式を確かめるツールは、プレースホルダーを拒否することがあります。次の VM 起動時から有効です。
変更が反映されるタイミング
git の ID、git トークン、Linear、Twilio、DigitalOcean、コンテナレジストリ、データベース、その他の API キーは、保存 した時点で実行中のマシンに反映されます。SSH キーと AWS の認証情報は再起動が必要で、保存時にアプリが再起動を提案します。Kubernetes のコンテキストは保存時に使えるようになり、アプリは再起動も提案します。OpenShell の認証情報プレースホルダーは次の VM 起動時から有効です。
このペインの内容はすべて、profile.json ではなく、マシンの暗号化された secrets.enc に保存されます。
設定リファレンス
| エディタ | 保持するもの |
|---|---|
| Git のアイデンティティ | ~/.gitconfig 用の user.name/user.email。秘密情報ではありません。 |
| SSH key | マシンの鍵と取り込んだ鍵。Mac の ssh-agent が提供します。 |
| Git token | GitHub、GitLab、Bitbucket 用の、ホストごとのユーザー名とトークン。 |
| Linear API key | LINEAR_API_KEY。linear.app で差し替え。 |
| Twilio API key | TWILIO_ACCOUNT_SID はそのまま、TWILIO_AUTH_TOKEN は代用値で、twilio.com で差し替え。 |
| Kubernetes | コンテキスト(トークン、クライアント証明書、exec プラグイン)。 |
| DigitalOcean token | DIGITALOCEAN_ACCESS_TOKEN と doctl の設定。 |
| AWS credentials | 静的キーまたは SSO。Mac がリクエストを再署名。Bedrock にも署名。 |
| Container registry | レジストリごとのログイン。代用値は ~/.docker/config.json に。 |
| Database | エンドポイントごとの秘密情報。指定した変数名でエクスポート。 |
| Other API key | シークレットまたは 1Password の参照、変数、任意のホスト。 |
| env ファイルを読み込む… | .env や ~/.bashrc からの一括取り込み。 |
関連する章
- 認証情報とワイヤ境界 ――このペインの背後にあるセキュリティモデル。
- ガードレール ――これらの認証情報の承認と書き込みのポリシー。
- モデルとモデルとプロバイダー ――モデルプロバイダーのキーとサインイン。
- 設定リファレンス — すべてのペインを一覧で。