Claude Tagのバンドルでチャンネルごとの接続先と指示を決める
Claude Tagのバンドルは、コネクタ・ドメイン・リポジトリ・プラグイン・指示を束ねてワークスペースやチャンネルに付ける単位です。作り方、付け方、重なったときの優先順位をまとめます。
Claude Tagのバンドルは、コネクタ・ドメイン・リポジトリ・プラグイン・指示を1つにまとめた名前付きの束です。Slackのワークスペースやチャンネルに付けると、そこでClaudeが使える接続先と読む指示が決まります。
チャンネルごとに別の権限を持たせたいときの主役は、このバンドルです。Claude Codeのv2.1.302で管理画面が整理され、バンドルは独立したタブになりました。ここでは作成から付与、重なったときの優先順位、指示の書き分けまでを順に追います。
バンドルとは何か — 管理画面の4タブでの位置
バンドルは「何を持たせるか」と「どこに効かせるか」を1つの画面で決める単位です。中身は次の5種類です。
- コネクタ(外部サービスの認証情報)
- ドメイン(認証情報なしで通す接続先ホスト)
- リポジトリ
- プラグイン
- 指示
管理画面はclaude.ai/admin-settings/claude-tagの「Claude's access」にあります。Claude Codeのchangelogによると、v2.1.302でこの画面は4つのタブに分かれました。
| タブ | 置くもの |
|---|---|
| Bundles | 置くもの束ねたアクセスの定義と適用先 |
| Connectors | 置くものコネクタ単位の認証情報と割り当て |
| Skills and plugins | 置くものプラグインとスキルの一覧 |
| Channels | 置くものワークスペースとチャンネルごとのページ |
操作できるのは、Claude組織のOwnerか、EnterpriseプランのClaude Tag管理者権限を持つ人です。チャンネル名のパターンにバンドルを付ける操作だけは、Ownerに限られます。
最初のバンドルを作る — 3ステップ
バンドルは「作る、中身を入れる、適用先を決める」の3手で完成します。適用先を決めるまでは、どこにも効きません。
バンドルが効き始めるまでの流れ
- 1
作成する
Bundlesタブで「Add」を押し、名前・説明(任意)・色・アイコンを入れて「Create」を押します。バンドルのページが開きます。
- 2
中身を入れる
「What's in it」の「Add」から、Connector・Repository・Domain・Pluginを選びます。項目は追加した時点で保存されます。ここで足したコネクタは、このバンドルが効く場所でだけ有効です。
- 3
適用先を決める
「Where it applies」で、Slackの行(全ワークスペースと全チャンネル)か、ワークスペースの行のスイッチを入れます。特定チャンネルなら「Add place」で選びます。最後に「Save changes」を押します。
名前は、中身が何を許すかで付けると読み返しやすくなります。ドキュメントの例はdata-readonly、github-write、monitoring、gtm-toolsです。複数のチームで同じ束を使い回すなら能力名、1チームの権限一式を再利用するならdevprod-teamのようなチーム名が合います。
小さな束を組み合わせてチャンネルに配る
束は大きく1つ作るより、能力ごとに小さく分けるほうが運用しやすくなります。ドキュメントの例では、data-readonly・github-write・monitoringの3本を用意します。
| チャンネル | 付けるバンドル |
|---|---|
#platform-eng | 付けるバンドル3本すべて |
#gtm-analytics | 付けるバンドルdata-readonlyのみ |
#incidents | 付けるバンドルmonitoringとgithub-write |
認証情報は1か所で定義されます。Datadogのキーを回すときは、該当のバンドルを1つ直せば済みます。
分け方の判断軸は単純です。「このチャンネルに、この能力は要るか」を束の単位にします。チームの組織図に合わせて束を切ると、同じGitHub書き込み権限が複数の束に重複し、ローテーションの手間が増えます。
どこに付けるか — 3つのスコープと継承
バンドルの適用先は3段階です。
- Slack: 接続済みの全ワークスペースと全チャンネルに効く基準線
- ワークスペース: そのワークスペースのチャンネルすべて
- チャンネル: 公開・非公開を問わず1つのチャンネル
上から下へ積み上がります。チャンネルは、Slackのページに付いたもの、所属ワークスペースに付いたもの、そのチャンネル自身に足したものをすべて受け取ります。逆に、チャンネルからバンドルを外しても、取り除かれるのはそのチャンネルで足した分だけです。
付け方は2通りあります。
- バンドルのページから「Where it applies」で場所を足す
- ワークスペースやチャンネルのページから「Add」を押し、「Bundle」を選ぶ
外すときは、バンドルのページで該当の場所のスイッチを切ります。ワークスペースやチャンネルの行のメニューにある「Remove from bundle」でも外せます。変更を反映するには「Save changes」が要ります。
Claudeがまだ入っていない公開チャンネルを先に設定する
Claudeが参加していないチャンネルには、ページがありません。公開チャンネルなら、Channelsタブの検索欄に2文字以上入れると、「Channels Claude isn't in」に一覧が出ます。「Add Claude here」でページを作り、バンドルを付けておけます。
ただし、これはClaudeをチャンネルに入れる操作ではありません。設定が効き始めるのは、Slack側でClaudeを追加した後です。非公開チャンネルは、先にSlackでClaudeを追加すると、ページが現れます。
反映は新しいスレッドから
バンドルを付け替えても、すでに動いているスレッドは古いスキル・プラグイン・指示を持ち続けます。確かめるときは、新しくスレッドを立てます。チャンネルのトップレベルでは、次のメッセージでClaudeがセッションを入れ替えるため、そこから変更が反映されます。
チャンネル名で一括して付ける — チャンネルルール
inc-*のように名前の型でバンドルを付ける機能が、チャンネルルールです。インシデント用のチャンネルが次々に作られる運用に向きます。
追加できる場所は3つあります。Channelsタブの「Add」から「Add a channel rule…」を選ぶ方法、Advancedタブの「Auto-join channels」表で行ごとに「Add bundle」を押す方法、バンドルのページで「Add place」にパターンを入れる方法です。
パターンは自動参加のパターンとしても働きます。inc-*にインシデント対応用のバンドルを付ければ、新しい公開のインシデントチャンネルにClaudeが参加し、そのバンドルの権限を持ちます。
ルールの仕様は次のとおりです。
- 小文字で書き、
*は任意の文字列、?はちょうど1文字に一致する - 1スコープに置けるルールは50件まで。複数のバンドルを付けたルールは、バンドルの数だけ数える
- Claudeがすでに入っている一致チャンネルには、ルール作成より前に招待されたものを含めて効く
- ルール自体はClaudeをチャンネルに参加させない。参加させるのは自動参加パターンか招待
- ブロック対象のパターンに一致するチャンネルは、ルールがあっても対象外のまま
落とし穴
広いパターンに強い認証情報を付けると、チャンネル名の変更で権限が動く
ルールは「Claudeが入っている一致チャンネルすべて」に、今も将来も効きます。チャンネルを改名できる人なら、そのチャンネルをパターンの内外に動かせます。昇格した権限を持つ認証情報は広いパターンに付けず、名前の型が決まっているものにはブロックパターンも併用します。
重なったときの優先順位
複数のバンドルが同じチャンネルに届くと、結果は和集合になります。狭いスコープが広いスコープを置き換えることはなく、足し合わせです。
- 認証情報: 同じホストに複数あれば、最も狭いスコープのものが使われる。順序はチャンネル > ワークスペース > Slack
- 同じスコープ内: 優先順位は管理者が設定できない。同じスコープに重複した認証情報を結ばない
- フォールバックなし: 勝った認証情報が
401か403を返しても、次の候補は試されない - リポジトリとプラグイン: 連鎖上のすべてのバンドルの分が合算される
- カスタム指示: Slack、ワークスペース、チャンネルの順に連結される
認証情報の重なりで起きること
設計どおり
別々のホストの認証情報を別々のバンドルに置く。重なりがないので、どれが効くか迷わない。
避けたい形
同じホストの認証情報を同じスコープの2本のバンドルに置く。どちらが勝つかを設定で決められず、勝った側が失敗しても代替は試されない。
「どのキーで動いたか分からない」状態は、監査でも説明がつきません。重ならない設計にしておくのが前提です。
チャンネルに実際に何が届いているかは、そのチャンネルのページの「Claude's access」表で確かめられます。継承された項目も含めて並び、「Inheritance」列で出どころが分かります。バンドルは1行で表示され、その下に中身が並びます。
バンドルを使わずに1項目だけ足す
束にするほどでない場合は、ページの「Add」からConnector・Repository・Plugin・Skill・Domainを1つずつ選べます。この経路では、Connectorsタブに登録済みのコネクタが並び、その下の「Connect new」から新規に接続できます。
注意点は、接続した場所でスコープが決まることです。ワークスペースやチャンネルのページで接続した認証情報はその場所だけで、Slackのページから接続したものはどこでも効きます。
指示を書き分ける — バンドル指示とチャンネル指示
指示にはいくつかの層があり、書く人と置き場所が違います。
| 層 | 書く人 | 置き場所 |
|---|---|---|
| カスタム指示 | 書く人Ownerはどのスコープも。管理者はワークスペースとチャンネル。チャンネルのメンバーも、制限されていなければ | 置き場所各スコープのページ、またはチャンネルの返信フッターのConfigureリンク |
| バンドル指示 | 書く人OwnerかClaude Tag管理者 | 置き場所バンドルのページのInstructions。そのバンドルが効く場所すべてで読まれる |
| 管理チャンネルの指示 | 書く人管理側チャンネルの正式メンバー | 置き場所管理側のチャンネルでClaudeに頼み、出たカードを承認する |
| チャンネルのメモリ | 書く人チャンネルにいる誰でも | 置き場所「覚えて」と伝える |
バンドルの指示は、接続先と一緒に持ち歩く内容に向きます。チャンネルの指示は、その場所の事情に向きます。
例えばmonitoringバンドルには、次のような指示を置く形が考えられます(説明用の例です)。
アラートを調べるときは、まず直近1時間のエラー率を確認する。
調査結果は原因の仮説と確認した根拠を分けて書く。
本番設定の変更は提案にとどめ、実行しない。一方、#incidentsのチャンネル指示には「障害の記録はこのチャンネルのスレッドに残す」といった運用ルールを書きます。接続先が変わっても使い回せる文はバンドル側、場所ごとに違う文はチャンネル側に置くと、修正が1か所で済みます。
指示欄はプレーンテキストで、挿入した文字列がそのまま渡されます。{{include:...}}のような書式は展開されません。リポジトリのCLAUDE.mdを読ませたいときは、リポジトリへの権限を付け、依頼文でそのリポジトリを名指しします。CLAUDE.mdは、クローンが済んだ後に読み込まれます。
Claudeがチャンネルで読むのは、スコープの連鎖のカスタム指示、各バンドルの指示、管理されている場合の管理チャンネル指示、クローンしたリポジトリのCLAUDE.mdです。claude.aiのプロジェクトの指示や知識は読まれません。チャンネルをプロジェクトに結び付けることもできません。
保存してから効くまで
新しい指示は、保存後に始まるセッションに適用されます。実行中のスレッドは古い文面のままです。確認するには、新しいスレッドで「管理者の指示を繰り返して」と頼みます。別のチャンネルやDMでは、そのチャンネルの指示は読まれません。
指示は案内であり、強制力のあるガードレールではありません。行動を止めたいときは、指示に頼らずアクセス制御で止めます。
メンバーによる編集を止める
初期状態では、Claude組織のメンバーであるチャンネル参加者は、Configureリンクからそのチャンネルの指示を編集できます。AdvancedタブのChannelsにある「Channel member edits」で制御します。
| 選択肢 | 効果 |
|---|---|
| Inherit | 効果親スコープの設定に従う |
| Allow | 効果Configureリンクからの編集を許す |
| Block | 効果指示・既定モデル・Respond automaticallyの変更を止める |
継承のまま連なると、結果はAllowになります。ワークスペースのページかSlackのページでBlockにすると、その下のすべてのチャンネルで指示が固定されます。ただし、Enterpriseプランでチャンネルマネージャーに任命された人は、Blockでも自分の担当チャンネルの指示・既定モデル・自動応答を変えられます。
付けたバンドルが効いているかを確かめる
次の2点で確認できます。
- バンドルのページの「Where it applies」に新しい場所が載り、その場所のページの「Claude's access」表にバンドルが1行出ている
- 試験用チャンネルで新しいスレッドからタスクを依頼し、操作が接続先サービスの監査ログにサービスアカウントとして残る
2つ目が実際の動作確認です。画面の表示だけでは、認証情報が通るかまで分かりません。
公開チャンネルに付けたバンドルは参加者全員に及ぶ
公開チャンネルに付けたバンドルの権限は、そのチャンネルに入った誰にでも及びます。多くのSlackワークスペースでは公開チャンネルに誰でも参加できます。実質的なアクセス制御は、チャンネルの参加ポリシーです。
強い認証情報は、非公開チャンネルに置きます。金融や人事のデータに触れる接続は、その型のバンドルを非公開チャンネルだけに付ける設計が分かりやすくなります。
共有チャンネルは扱いが違います。
- Enterprise Gridでワークスペースをまたいで共有: チャンネルやそのワークスペースのバンドルは効かない
- Slack Connectで他社と共有: Claudeをそのチャンネルで有効にした後は、チャンネルに直接付けたバンドルが効く。共有前に付けたものも含む。他社の参加者に対しても、そのコネクタが使われることがある
PHIのような機微情報を扱う組織は、バンドルの設計の前に、置かないチャンネルを決める必要があります。医療機関向けの設計はBAA対象外のClaude Tagで医療機関がPHIを置かないチャンネル設計にあります。
個人コネクタとの違い
バンドルは管理者が決める、チャンネルの共有アクセスです。メンバーが自分のclaude.aiアカウントに追加した個人コネクタは、1対1のDMで使えます。チャンネルでも、本人が許可すれば、本人のタスクに限って使われます。バンドルで束ねる対象ではありません。詳しくはチャンネルでの個人コネクタ対応にあります。
また、DMはバンドルの対象外です。チャンネルに付けたバンドルはDMでは効きません。グループDMは、ワークスペースのページとSlackのページのバンドルを受け取ります。
つまずきやすい点
- 作ったバンドルが効かない: 適用先の設定がない。Where it appliesにスイッチか場所を足し、Save changesを押したかを見る
- 付けたはずの接続が既存スレッドで効かない: 新しいスレッドで試す。実行中のスレッドは古い構成のまま
- 認証情報の変更が拒否される: 「This credential was added for one place only」と出たら、その認証情報は固定された場所から動かせない。別の場所で使うなら、そこで接続し直す
- バンドルの中の認証情報を消せない: Set by列にバンドル名が出ているものは、バンドルのページで消す
- コネクタ自体を削除したい: バンドルが認証情報を持っていれば、先にバンドルのページで消す
まとめ
バンドルの設計は、「どの能力を、どのチャンネルに、どの粒度で」の3点に絞れます。能力ごとに小さく作り、スコープの上から下へ積み上げ、同じホストの認証情報を同じスコープに重ねない。この3つを守れば、チャンネルの権限は画面の表1枚で説明できます。
支出上限やチャンネル別アイデンティティの全体像は、Claude Tag管理者設定の解説が受け持ちます。管理画面が4タブになった変更点はClaude Code v2.1.302のリリースノートにもあります。製品の全体像はClaude Tagの紹介記事から辿れます。