Agentにツールをつなぐ前に、読める範囲と操作できる権限を棚卸しする

実際のアカウント、対象データ、許可する動作と撤回担当を接続前に記録する。

Buda Team
← ブログに戻る
Agentにツールをつなぐ前に、読める範囲と操作できる権限を棚卸しする

購買担当者が頼んだのは三社の見積比較だけ。しかし接続したアカウントには、注文変更とメール送信の権限もある。「草稿だけ」と指示しても、認証情報の権限は変わらない。

この架空の例で必要なのは、AI Agentの権限チェックリストだ。誰のIDで、どの資料を扱い、何ができ、誰が撤回するのか。完成物の確認は文章の誤りを見つけても、書込能力そのものを取り除かない。

購買資料の整理を動作へ分解する

対象は許可済みの匿名化見積三点。比較草稿だけを出し、不明価格は不明のまま。取引先連絡、購買更新、送信、支払はしない。

動作業務上の範囲システムで確かめること
read指定三資料他社や契約も見えるか
draft指定出力先へ草稿出力の共有先は誰か
write正式記録は変更しないproviderのrole/scopeは書込を除外するか
sendメール・通知なしブラウザやtokenに送信権限が残るか
delete元資料を消さない実際の削除権限はあるか

提案する業務表であり、Buda標準のツール別ACL画面でも拒否試験結果でもない。「業務上禁止」と「技術的に不可能」を分ける。

読取と草稿の必要性を、変更・送信・削除能力と対照する

秘密値ではなく認証主体を書く

access-inventory.csvにタスクID、ツール、実アカウント、対象資源、動作、実role/scope、認証場所、付与者、確認者、期限または撤回担当、根拠、状態を残す。

Q-01:三社比較(架空)
主体:識別可能な購買テストアカウント
資料:許可された三コピー。他の購買記録は不要
動作:指定入力をread、指定ローカル出力をdraft
実scope:unknown。provider管理者が確認するまで接続待ち
認証場所:変数名やログイン場所だけ。値は書かない
責任:管理者が付与、購買責任者が資料範囲を確認

共有アカウントは利用者と責任者を記録する。表示名は認証主体の証明ではない。ブラウザ、API token、別連携で主体が異なるなら、それぞれを確認する。

unknown-scopes.mdには不明なシステム、アカウント、必要根拠、確認役割、停止工程を記す。一度読めたことは、書けないことの証明にはならない。

masked表示はプロセス分離ではない

Buda環境変数は一つのAgentに属し、そのクラウドコンピューターへ注入される。Terminal、スクリプト、開発サーバーや実行プロセスが読め、sandbox再起動後も残る。

UIで隠れていても、スクリプトから読めないわけではない。本物のtokenをチャット、一覧、画像に載せず、接続確認のために秘密変数を表示しない。非機密のrole設定とscopeの根拠で確かめる。

新Sessionは会話を分けるだけ。同じAgentのファイルと環境変数を別にしない。異なる機密範囲が必要なら、管理者が実IDと権限を設計し直す。

DriveはAgent専用とSpace共有を区別する。approvedというフォルダ名にACL効果はない。共有場所へ置く前に閲覧者を確認する。

Skill、ツール一覧、実権限は別物

Skill管理で全文、出所、範囲を読む。「送信しない」は動作指示であり、providerのOAuth scope、role、資源許可の代わりではない。

ツールが載っていても認証済みとは限らず、認証済みでも最小権限とは限らない。まず管理者がprovider設定を確認し、その範囲でSkillが働くかを見る。manifest名だけで任意の細粒度制御があるとは推測しない。

読取と書込を分けられないサービスなら、匿名化エクスポートか制限したテストIDを優先する。全権IDをつないで指示だけに頼らない。後の書込は別の権限範囲と承認が必要だ。

許可と拒否の両側を確認する

以下は未実施の推奨試験。管理者が非機密テスト資源と安全な手順を選ぶ。

  1. 指定IDで許可された標本を読み、対象範囲を確認する。
  2. 実データを傷つけない環境で、拒否すべき書込の拒否を確認する。安全にできなければ未検証とし、productionへ試さない。
  3. 別tokenやブラウザ経由を調べる。一経路の拒否は全経路の拒否ではない。
  4. ID、資源、設定根拠、結果を残す。秘密値は残さず、想定と違えば接続を止める。

秘密値を表示しないことと、権限が正しいことは別の条件。どちらも必要だ。

動作指示、ツール可視性、provider許可は異なる問いを扱う

会話を閉じるだけでは撤回できない

revocation-checklist.mdにprovider token/role、Agent変数、ブラウザログイン、配布コピーごとの担当と確認方法を置く。対象を決めて各システムで撤回を確認する。

Session終了やタスク取消でprovider資格が無効になるわけではない。変数削除も、既存プロセス、ログイン、コピーがすべて消えた証拠にはならない。共有資料の保管・整理は組織規則に従い、完了を装うためAgentが勝手に削除しない。

管理者が引き継げる三資料

Budaワークスペースに秘密値なしで準備する。

指定説明と管理者提供の非機密設定だけでaccess-inventory.csv、unknown-scopes.md、revocation-checklist.mdを作る。業務許可と実権限を別欄にし、不明を推測しない。秘密の読取・表示、新production接続、変更、送信、削除はしない。

主管が業務、管理者が設定、実行者が受入結果を確認する。一人が兼任しても判断は分ける。

scope不明でも先に読める?

方法確認には許可済み匿名化コピーを使う。正式IDはunknownのまま管理者へ確認し、読取成功を接続承認にしない。

共有Agentで新Sessionなら十分?

会話分割には使えるが、資料・資格・接続先の分離には足りない。実IDと資源範囲を核にし、必要なら別Agentと制限IDを設ける。

maskedならどんなSkillも安全?

その結論は出せない。全文、出所、必要ツールと資料を読み、不要な資格を環境へ置かない。

草稿だけならどう減権する?

許可された出力コピーと指定保存先から始め、production書込を接続しない。リアルタイム読取が必要なら制限IDを管理者が設定する。

Buda AIのMarketplaceで適切なSkillを検索してインストールし、方法を読んでから権限を付ける。能力の数ではなく、理由、実範囲、撤回担当が分かる一覧を目指す。