最近は Claude Code を事務職や企画職の方にも配って、日々の作業を手伝ってもらう会社が増えてきましたよね
ただ、何の準備もせずにそのまま配ってしまうと、思わぬところで事故が起きやすいんです
例えば、認証情報の入ったファイルを読まれてしまったり、消したくないフォルダを巻き込んで操作されてしまったり、といった場面が考えられます
この記事では、Claude Code を一般の社員に配るときのガードレール設計を、情シスや管理者の目線で一通りまとめます、設定ファイルの中身も具体的なコード付きで紹介していきます
「会社で配る予定はないけど、個人で使っていて事故が心配」という慎重派の方にも、そのまま真似できる構成にしているので、肩の力を抜いて読んでみてください
Claude Code のセキュリティの全体像はClaude Code Desktop 初心者向けセキュリティ5選、設定ファイルそのものの整理はClaude Code 設定ファイル早見表でも扱っているので、土台から知りたい方は合わせてどうぞ
※ この記事は Claude Code Desktop を一般の社員に配るケースを想定して書いています、ターミナル(黒い画面)を普段使わない方が触る前提なので、設定はあらかじめ管理者側で仕込んでおく方向でまとめます
なぜ「初期設定なしで配る」と事故るのか
Claude Code は、お願いした内容に応じて自分でファイルを読み書きしたり、裏でコマンド(プログラム命令)を実行したりできます
この自走できる力が便利さの源なんですが、配り方を間違えると、同じ力がそのままリスクにもなります
とくに、コマンドや設定ファイルに慣れていない方が使う場合、こんな場面が起こりがちです
- パスワードやAPIキーの入った .env ファイルを読み込んで、その中身が会話履歴に残ってしまう
- デスクトップやドキュメントなど、消したくないフォルダの中で作業させてしまい、関係ないファイルまで巻き込む
- 「許可をバイパス」する設定をうっかり有効にして、確認なしで何でも実行できる状態になる
- 認証情報をそのまま Git にコミットして、社外に出してはいけない情報が共有リポジトリに載る
どれも「使う人が気をつければ防げる」と言えなくはないんですが、毎回・全員が気をつけ続けるのは現実的じゃないですよね
だからこそ、使う人の注意力に頼らず、仕組み側であらかじめ守るという発想が大事になります
ハーネス(枠組み)で守るという考え方
ここで言うハーネスは、使う人を包む安全の枠組みくらいに考えてください、車のシートベルトのように、意識しなくても勝手に守ってくれる仕掛けのことです
具体的には、管理者があらかじめ設定ファイルや作業フォルダを用意しておき、使う人はその枠の中で操作する、という形を作ります
この記事で紹介するガードレールは、おおまかに次の6つです、上から順に効果が広いものになっています
- managed-settings.json で、上書きできない管理ポリシーを配る
- settings.json の permissions で、できる操作とできない操作を線引きする
- セキュリティ系プラグインで、書かれたコードを自動でチェックする
- 作業フォルダの固定で、どこでも実行できる状態を避ける
- .gitignore の標準配布で、認証情報をうっかり共有させない
- 初期CLAUDE.md の配布で、社内ルールを最初から読ませる
正直、ここまでやると「ちょっと過剰かな」と感じる場面もあると思います、ただ、事故が心配な環境なら、最初は厚めに守っておいて、慣れてきたら緩めるくらいがちょうどいいんじゃないでしょうか

1. managed-settings.json で上書きできないポリシーを配る
ガードレールの土台になるのが managed-settings.json です、これは管理者が配る「上から決めた設定」で、使う人が自分の設定で上書きできないのが大きな特徴です
Intune や Jamf といった MDM(端末を一括管理する仕組み)を使って、全社員のパソコンに同じファイルを配る、という運用が想定されています
置き場所はOSごとに決まっている
managed-settings.json は、置く場所がOSごとに決まっています、2026年6月時点の公式ドキュメントだと次の通りです
| OS | 置き場所 |
|---|---|
| Windows | C:\Program Files\ClaudeCode\managed-settings.json |
| macOS | /Library/Application Support/ClaudeCode/managed-settings.json |
| Linux / WSL | /etc/claude-code/managed-settings.json |
※ Windows の置き場所は途中で変わっています、以前の C:\ProgramData\ClaudeCode\ は v2.1.75 でサポート終了になり、現在は C:\Program Files\ClaudeCode\ が正しい場所です、古い記事を参考にして旧パスに置くと効かないので注意してください
同じ場所に managed-settings.d というフォルダを作って、複数の設定ファイルに分けて置くこともできます、チームごとにポリシーの断片を分担したいときに便利です
中身は通常のsettings.jsonと同じ書き方
ありがたいことに、ファイルの中身は普通の settings.json と同じ書き方で大丈夫です、管理者として「これだけは守らせたい」という最小限のポリシーから始めるのがおすすめです
{
"permissions": {
"disableBypassPermissionsMode": "disable",
"deny": [
"Read(.env)",
"Read(**/.env)",
"Read(**/.env.*)",
"Read(**/*.pem)",
"Read(**/*.key)",
"Read(**/id_rsa)",
"Read(**/credentials.json)"
]
}
}この例だと、認証情報が入りがちなファイルの読み込みをまとめて禁止しつつ、確認なしで何でも実行する「許可をバイパス」モードも封じています、それぞれの中身はこのあとの章で順番に説明します
managed-settings.json に書いた内容は、使う人の設定では上書きできません、なので本当に外してほしくない守りだけをここに集約するのがコツです
設定の優先順位を押さえておく
Claude Code の設定は何層かに分かれていて、ぶつかったときにどれが勝つかが決まっています、優先順位は上が強いです
| 優先 | レイヤー | 置き場所の例 |
|---|---|---|
| 強 | managed(管理ポリシー) | 上記のOS別パス |
| ↑ | コマンド引数(その場限り) | 起動時のフラグ |
| ↑ | local(個人のプロジェクト用) | .claude/settings.local.json |
| ↑ | project(プロジェクト共有) | .claude/settings.json |
| 弱 | user(その人の全体設定) | ~/.claude/settings.json |
大事なのは、禁止(deny)はどの層から付けても効くという点です、ある層で禁止したものは、別の層で許可しても解除されません
つまり管理者は、managed の層で禁止を盛っておけば、使う人がどんな設定をしても穴が開かない、という安心感が得られます
2. permissions で操作範囲を線引きする
次は、Claude Code が「何をしていいか」を細かく決める permissions の話です、ガードレールの中でも一番こまかく効くところです
permissions は3つのリストでできています、それぞれの役割はこんな感じです
| リスト | 意味 |
|---|---|
| allow | 確認なしでそのまま実行してよい操作 |
| ask | 実行前に毎回確認を出す操作 |
| deny | そもそも実行させない操作 |
判定の順番は deny → ask → allow です、最初に deny にあたれば、後ろで allow に書いてあっても禁止が優先されます、なので禁止したいものは deny に書くのが確実です
危険なコマンドを deny で止める
まず止めておきたいのが、影響範囲の大きいコマンドです、ファイルを一括で消すような命令や、ネットへ自由にアクセスする命令を deny に入れておきます
{
"permissions": {
"deny": [
"Bash(rm -rf *)",
"Bash(curl *)",
"Bash(wget *)",
"Bash(git push *)"
],
"defaultMode": "default"
}
}Bash というのは、Claude が裏で実行するコマンド(プログラム命令)のことです、ここでは一括削除の rm、勝手なダウンロードに使われがちな curl と wget、共有リポジトリへの送信になる git push を止めています
※ コマンドの引数だけで縛るやり方は、抜け道ができやすいと公式でも注意されています、たとえば curl をURLで制限しても、書き方を変えられるとすり抜けます、ネット先を絞りたいなら、次に紹介する WebFetch のドメイン指定の方が確実です
WebFetch でアクセス先のドメインを絞る
WebFetch は、Claude がWebページを読みにいく機能です、ここを野放しにすると、どこへでも情報を取りにいけてしまうので、許可するドメインだけ絞るやり方が安心です
{
"permissions": {
"allow": [
"WebFetch(domain:docs.claude.com)",
"WebFetch(domain:github.com)"
],
"deny": [
"WebFetch"
]
}
}書き方は WebFetch(domain:許可したいドメイン) です、この例だと、ドキュメントとGitHub以外への読み込みを止めつつ、業務で必要なところだけ通せます
「許可をバイパス」モードを封じる
Claude Code には、確認をすっ飛ばして次々に実行する「許可をバイパス」モードがあります、便利ではあるんですが、慣れていない方が使うと、止める間もなく操作が進んでしまう危険があります
これを管理者側で封じるのが disableBypassPermissionsMode です、値を “disable” にすると、設定からもコマンドからもこのモードが使えなくなります
{
"permissions": {
"disableBypassPermissionsMode": "disable"
}
}「許可をバイパス」と、推奨されている「自動モード」は別物です、自動モードは deny で禁止したものを守りながら自動で進む安全寄りのモードなので、こちらを止める必要はありません、止めたいのは確認を全部すっ飛ばす方だけです
さらに徹底したいなら、allowManagedPermissionRulesOnly を true にすると、許可・確認・禁止のルールを管理者の設定だけに限定できます、使う人が勝手に許可を増やすのを防げます
permissions まわりをもう少しじっくり知りたい方は、Claude Code 設定ファイル早見表で各ファイルの役割を確認しておくと、どこに何を書けばいいか迷わなくなります
3. セキュリティ系プラグインで自動チェックを足す
設定で操作を縛るだけでなく、書かれたコードそのものを自動でチェックする仕組みも入れておくと安心です、ここで役立つのが公式のセキュリティ系プラグインです
2026年5月に公開された security-guidance は、Claude が書いたコードに危なっかしいパターンが混じっていないかを自動で見てくれるプラグインです、たとえば外部からの入力をそのまま実行してしまう書き方などを拾ってくれます
導入は Claude Code Desktop のプラグイン画面から数クリックで済みます、無料で、どのプランでも使えて、入れたあとは自動で動いてくれるので、配る側としても手間がかからないのが嬉しいところです
※ このプラグインは「守りの一枚」であって、これだけ入れれば完璧というものではありません、設計上の問題や、外部ライブラリの脆弱性までは拾いきれないので、あくまで前章までの設定と組み合わせて使う前提で考えてください
security-guidance の検出パターンや、deny リストとの組み合わせ方はsecurity-guidance とは 使い方と運用のコツでくわしくまとめているので、入れる前にざっと目を通しておくと運用イメージがつかみやすいです
プラグインの配布元を管理者で固定する
プラグイン自体は便利なんですが、誰がどこから入れられるかを野放しにすると、出どころの怪しいものが混ざる心配もあります
会社で配るなら、managed-settings.json 側で「入れていいプラグインの棚」を絞っておくのがおすすめです、公式の棚だけ許可しておけば、使う人は安心して選べます
4. 作業フォルダを固定して「どこでも実行」を避ける
地味ですが効くのが、作業する場所をあらかじめ決めておくという対策です
Claude Code は、起動した場所のフォルダを起点に動きます、なので、もしデスクトップやドキュメントの直下で起動してしまうと、大事なファイルが並ぶ場所で操作が走ることになります
そこで、MDM で全社員のパソコンに 所定の作業フォルダ を自動で作っておく、という手を打ちます、たとえばこんな構成です
C:\Users\(ユーザー名)\ClaudeWork\
├─ .gitignore ← 認証情報を除外するリスト
├─ CLAUDE.md ← 社内ルールを書いた初期ファイル
└─ work\ ← ここで作業するこのフォルダの中で作業してもらうように案内しておけば、関係ないファイルを巻き込むリスクをぐっと減らせます、後で出てくる .gitignore や CLAUDE.md も、最初からこの中に置いておけます
さらに、Claude が触れてよいフォルダを設定で限定したいときは、additionalDirectories という項目で、追加で使ってよい場所をリスト化できます、明示した場所以外には基本的に手を出させない、という運用も組み立てられます
作業フォルダを git で管理された状態にしておくと、次に紹介する .gitignore がきちんと効きますし、セキュリティ系プラグインのチェックもフルに働きます、最初に管理者側で git 管理にしておくと、後がラクです

5. .gitignore を標準配布して認証情報を守る
つづいて、.gitignore の標準配布です、これは認証情報のうっかり共有を防ぐための、地味だけど大事な一手です
.gitignore は、Git に「このファイルは管理しないでね(=共有リポジトリにもアップしないでね)」と伝えるためのリストです、ここに書いたファイルは、コミットの対象から外れます
パスワードやAPIキーが入る .env などをここに書いておけば、Git 経由で社外に出てしまう事故を防げます、配布する雛形はこんな内容で十分です
# 認証情報
.env
.env.*
*.pem
*.key
id_rsa
credentials.json
# ローカル設定
.claude/settings.local.json
# 一時ファイル
*.log
tmp/.gitignore に書いた .env 系は、settings.json の respectGitignore を有効にしておくと、Claude のファイル選択画面からも外れます、deny の読み込み禁止と二重で守る形になるので、合わせて使うのがおすすめです
ポイントは、これを全員に同じ内容で配ることです、一人ひとりに「.gitignore を書いてね」とお願いしても抜けが出ますが、雛形を配ってしまえば、最初から同じ守りが効きます
6. 初期CLAUDE.mdを配って社内ルールを読ませる
最後は 初期CLAUDE.md の配布です、ここまでが仕組みで縛る守りだったのに対し、これは「Claud に最初から読ませておく社内ルール」という、もう一段やわらかい守りになります
CLAUDE.md は、Claude Code が作業前に読み込む指示書のようなファイルです、ここに会社のルールや禁止事項を書いておくと、毎回それを踏まえて動いてくれます
配布する雛形には、作業フォルダの説明・やってほしくないこと・困ったときの相談先あたりを入れておくと親切です
# 社内Claude Code 利用ルール
## 作業する場所
- 作業は ClaudeWork\work フォルダの中で行ってください
- このフォルダの外にあるファイルは、勝手に触らないでください
## やってほしくないこと
- .env や鍵ファイル(*.pem / *.key)の中身を会話に出さない
- 共有リポジトリへの送信(git push)はしない
- 設定ファイルを書き換えるときは、内容を私(利用者)に見せてから書く
## 困ったとき
- 操作に迷ったら止まって、情報システム部に相談してください
- 連絡先: jyoshi@example.comここで1つ気をつけたいのは、CLAUDE.md はあくまで「お願い」であって、強制力はないという点です
本当に守らせたい禁止は、これまで紹介した managed-settings.json の deny で仕組みとして縛る、CLAUDE.md は方針や心構えを伝える、という役割分担で考えると分かりやすいです
※ 「push はしないで」と CLAUDE.md に書いても、それだけでは止まりません、止めたいなら permissions の deny に Bash(git push *) を入れるのが確実です、文章での指示と、設定での禁止は、セットで考えるのが原則です
個人でも真似したい最小セット
ここまで会社向けの話をしてきましたが、「うちは会社じゃないし、そこまではいらないかな」という方も多いと思います
そこで、個人で使う慎重派の方が真似する価値のある最小セットを、3つに絞ってまとめておきます
- settings.json の deny に .env 系と危険コマンドを入れる:認証情報の読み込みと一括削除を止める、これだけで事故の多くが防げます
- .gitignore に認証情報を書く:Git を使うなら、.env や鍵ファイルを最初に除外しておく
- 作業フォルダを1つ決める:専用のフォルダの中だけで Claude Code を使うようにして、大事なファイルから離す
managed-settings.json や MDM 配布は会社向けの仕組みですが、個人なら自分の settings.json に同じ deny を書くだけで近い効果が得られます、管理者がいない分、自分が管理者のつもりで一度だけ設定しておく、というイメージです
設定が不安なら Claude 自身に頼む手もある
「設定ファイルを自分でいじるのは怖い」という方は、Claude 自身に書いてもらうのも手です、やりたいことを言葉で伝えれば、中身を用意してくれます
たとえば、こんな感じで頼んでみてください
このプロジェクトの settings.json を作りたいです。
次の方針でお願いします。
・.env や鍵ファイル(.pem / .key)の読み込みを deny で禁止
・rm の一括削除と git push を deny で禁止
・「許可をバイパス」モードは使えないようにする
書き込む前に、設定内容を一度わたしに見せてから保存してください。最後の「書き込む前に見せてね」の一言がポイントです、内容を確認してから保存すれば、知らないうちに変な設定が入る心配もありません
よくある質問
managed-settings.json は個人でも使えますか?
置くこと自体はできますが、もともとは管理者がMDMで全員に配る用の仕組みです、個人なら、自分の settings.json に同じ deny を書く方が手軽で、効果もほぼ同じです、わざわざ管理ポリシー用の場所に置く必要はありません
deny を盛りすぎると使いにくくなりませんか?
盛りすぎると、必要な操作まで止まって不便になることはあります、おすすめは、最初は認証情報の読み込みと一括削除など「事故ったら痛いもの」だけ禁止して、使いながら足していく進め方です、最初から完璧を目指さなくて大丈夫です
CLAUDE.md に禁止事項を書けば守ってくれますか?
方針として参考にはしてくれますが、CLAUDE.md は強制力のあるルールではありません、本当に止めたい操作は permissions の deny で縛るのが原則です、CLAUDE.md は心構えを伝える役、deny は固い守り役、と分けて考えてください
Windows のmanaged-settingsの場所が記事によって違うのはなぜ?
途中で公式の置き場所が変わったためです、以前は C:\ProgramData\ClaudeCode\ でしたが、v2.1.75 以降は C:\Program Files\ClaudeCode\ が正しい場所です、古い記事は旧パスのままのことがあるので、設定する前に公式ドキュメントで最新を確認すると安心です
まとめ
事務職や企画職の方に Claude Code を配るときは、使う人の注意力に頼らず、仕組みで守るのが基本でした
この記事で紹介したガードレールを、もう一度おさらいしておきます
- managed-settings.json:MDMで配る、上書きできない管理ポリシー
- permissions の deny:危険コマンドと認証情報の読み込みを止める
- セキュリティ系プラグイン:書かれたコードを自動でチェックする
- 作業フォルダの固定:どこでも実行できる状態を避ける
- .gitignore の標準配布:認証情報の共有を防ぐ
- 初期CLAUDE.md:社内ルールを最初から読ませる
会社で配る予定がなくても、deny・.gitignore・作業フォルダの3つは個人でも真似する価値があります、慎重派の方ほど、最初に一度だけ仕込んでおくと、後がずっと気楽になりますよ
関連する話として、Claude Code Desktop 初心者向けセキュリティ5選では使い始めの守り方を、security-guidance とは 使い方と運用のコツではプラグインによる自動チェックをくわしく扱っています、合わせて読むと、自分の環境に合った守りを組み立てやすくなると思います



コメント