Claude Media
Claude Code Desktop SSOとデバイス管理ポリシーの設定

Claude Code Desktop SSOとデバイス管理ポリシーの設定

Team・EnterpriseプランのDesktopアプリは、管理コンソール・managed settings・MDM/グループポリシーの3手段とSSOで統制できます。適用範囲の違いが分かります。

TeamプランとEnterpriseプランでは、Desktopアプリの挙動を組織側から統制できます。手段は管理コンソール・managed settingsファイル・デバイス管理ポリシーの3つで、効く範囲が違います。ここにSSOの必須化が加わります。

設定で迷うのは手段の選び方より、「入れたはずの制限が届かない」場面です。Desktopのキー名はCLIと別物で、同じ名前の設定でもセッションの種類によって届く経路が変わります。

やりたいことから手段を選ぶ

やりたいこと使う手段
Desktopのcodeタブ自体を組織で止めたい使う手段管理コンソール、またはデバイス管理ポリシーのisClaudeCodeForDesktopEnabled
権限モードやBrowserペインの動作を縛りたい使う手段managed settingsファイル
端末上のローカルセッションだけ禁止したい使う手段managed settingsのdisableDesktopLocalSessions
自動更新を止めたい・特定の組織でしかログインさせたくない使う手段デバイス管理ポリシー(disableAutoUpdates・forceLoginOrgUUID)
ログイン方法をIdP経由に限定したい使う手段SSOの必須化

管理コンソールの操作は組織の管理者権限、ファイル配布とMDM・グループポリシーはIT部門の権限が必要です。この統制はTeam・Enterprise向けです。

管理コンソールで組織全体の機能を切り替える

管理設定コンソール(claude.ai/admin-settings/claude-code)から、組織全体に対して次の4項目を切り替えられます。

設定項目できること
Code in the desktopできることユーザーがDesktopアプリでClaude Codeを使えるかどうか
Code in the webできることクラウドセッションの有効・無効
Remote ControlできることRemote Controlの有効・無効
Disable Bypass permissions modeできることBypass permissionsモードの有効化を組織で禁止

TeamとEnterpriseのプランでは、Bypass permissionsモードの有効化にSettings画面のトグルがありません。組織のポリシーで制御する扱いです。より細かい権限ルールやツールの制限は、次のmanaged settingsで行います。

managed settingsでDesktopの細部を縛る

managed settingsはプロジェクト設定・ユーザー設定より優先され、Desktop上のClaude Codeセッションに適用されます。ファイルを配布するか、管理コンソールからリモート配布します。

キー用途
permissions.disableBypassPermissionsMode用途"disable" でBypass permissionsモードを禁止
disableAutoMode用途"disable" でAutoモードをモード選択肢から除外
autoMode用途Autoモード分類器が何を信頼し何をブロックするかを組織単位でカスタマイズ
browserExternalPageTools用途"disabled" でBrowserペイン上の外部ページを読む・操作するClaudeのツールを禁止。ユーザー自身の閲覧は可能
disableBrowserExternalNavigation用途true でBrowserペインの外部ナビゲーションを、ユーザーとClaudeの両方に対して禁止
disableMobileSimulatorTools用途true でiOS SimulatorペインへのClaudeのアクセスを禁止。ユーザー自身のタップは使える
disableDesktopLocalSessions用途true で端末上のローカルセッションを禁止。SSHとクラウドは使える。Desktop v1.37937.0以降
sshConfigs用途環境ドロップダウンに出すSSH接続を事前設定。ユーザーは編集・削除できない
sshHostAllowlist用途接続できるSSHホストを制限。空配列でSSHセッション自体を無効化
managedMcpServers用途サードパーティー版Desktopデプロイ限定で、MCPサーバー構成を全ユーザーへ配布

disableMobileSimulatorTools・disableBrowserExternalNavigation・disableDesktopLocalSessionsは、JSONの真偽値trueでなければ効きません。文字列の"true"を書くと無視されます。

disableDesktopLocalSessionsを有効にすると、環境ドロップダウンの「Local」は消えずにグレーアウトします。選ぼうとするとツールチップで組織が無効化したことが示され、SSH接続が設定されていれば、新規セッションは先頭の接続を既定にします。既存のローカルセッションを続けようとすると、この端末ではローカルセッションが使えない旨のメッセージが出ます。WindowsのWSLエントリも同じくグレーアウトしますが、その可用性は管理端末向けの設定で別に管理されます。

sshHostAllowlistはDesktopアプリだけが読むキーで、CLIやIDE拡張は読みません。BashツールのSSHコマンドも制限しないため、ネットワーク境界が必要なときはゼロトラスト側の制御と組み合わせます。availableModelsによるモデル制限は、Desktop上のClaude Codeセッションでもターミナルと同じように強制されます。permissions.disableBypassPermissionsModeとdisableAutoModeはユーザー・プロジェクト設定にも書けますが、managed settingsに置くとユーザー側で上書きできません。

セッションの種類で届く経路が変わる

届き方

managed settingsが届くセッション

  • ローカルセッション

    端末に置いたmanaged settingsファイルが届きます。組織ログインまたは直接設定したAPIキーで認証していれば、管理コンソールからのリモート配布分も届きます。

  • クラウドセッション

    サーバー管理設定(server-managed settings)を受け取ります。Anthropic管理のVM上で動くため、端末に置いたファイルは届きません。

  • SSHセッション

    リモートホスト側のmanaged settingsファイルを読みます。sshConfigs・sshHostAllowlist・disableDesktopLocalSessionsだけは、Desktopがローカル端末の設定から読みます。

  • Cowork セッション

    この端末上のCoworkセッションでは、Team・Enterpriseアカウントでサインインしていても管理コンソールの設定を取得しません。端末に配布したポリシーは読みます(Desktop構成でrequireCoworkFullVmSandboxを設定した場合を除く)。リモートのCoworkセッションは、管理コンソールの設定も端末のポリシーも受け取りません。

self-hosted-runnerに振り分けたクラウドセッションは、ランナーイメージ内のmanaged settingsファイルも読みます。既定では、サーバー管理設定がポリシーキーを1つも届けないときだけ、そのファイルを読みます。例外として、すべての管理ソースから読まれるキーもあります。

managedな設定をデバイスごとに動的に組み立てたいなら、policyHelper設定が使えます。

デバイス管理ポリシーでアプリそのものを管理する

IT部門はMDMやグループポリシーで、Desktopアプリ自体を管理できます。managed settingsが「セッションの中で何ができるか」を決めるのに対し、こちらは「アプリがどう動くか」を決める手前のレイヤーです。

Windowsは管理者権限のPowerShellで直接書き込んで試すこともできます。公式の例から3つを抜き出すと次の形です。

New-Item -Path "HKLM:\SOFTWARE\Policies\Claude" -Force
Set-ItemProperty -Path "HKLM:\SOFTWARE\Policies\Claude" -Name "disableAutoUpdates" -Value 0 -Type DWord
Set-ItemProperty -Path "HKLM:\SOFTWARE\Policies\Claude" -Name "autoUpdaterEnforcementHours" -Value 72 -Type DWord
Set-ItemProperty -Path "HKLM:\SOFTWARE\Policies\Claude" -Name "isClaudeCodeForDesktopEnabled" -Value 1 -Type DWord

主なキーと既定値は次のとおりです。

キー型・既定値効果
isClaudeCodeForDesktopEnabled型・既定値Boolean・true効果Desktopでのcodeタブの有効化
disableAutoUpdates型・既定値Boolean・false効果自動更新を止める。MDMでバージョンを管理するときに設定
autoUpdaterEnforcementHours型・既定値1〜72の整数・72効果準備済みの更新を適用するための強制再起動までの時間
forceLoginOrgUUID型・既定値文字列または配列・なし効果指定した組織に属するアカウントでしかログインさせない
effortLevel型・既定値文字列・なし効果Claude Codeセッションの既定の推論量(low〜max)。セッション開始ごとに適用。Coworkには効かない。Desktop 1.25927.0以降
isLocalDevMcpEnabled型・既定値Boolean・true効果ローカルMCPサーバーの有効化
isDesktopExtensionEnabled型・既定値Boolean・true効果拡張機能の有効化
isDesktopExtensionDirectoryEnabled型・既定値Boolean・true効果拡張機能ディレクトリへのアクセス
secureVmFeaturesEnabled型・既定値Boolean・true効果DesktopでのCoworkの有効化
allowedWorkspaceFolders型・既定値文字列の配列(JSON)・制限なし効果Coworkにマウントできるパス

forceLoginOrgUUIDにUUID1つを渡すとログイン時にその組織が事前選択され、配列を渡すと一覧のどれかに属していれば通ります。事前選択はされません。どちらの形でも、一覧の組織に属さないアカウントのログインは失敗します。

同じ「ポリシー」でもCLI側は別の場所を読む

くらべる

Desktopアプリ用とClaude Code用の配布先

アプリの挙動

Desktopアプリのポリシー

macOSはcom.anthropic.claudefordesktop、WindowsはSOFTWARE\Policies\Claude。下のキー表の設定を置きます。

セッションの権限

Claude Codeのmanaged settings

macOSはcom.anthropic.claudecodeの管理プリファレンス、WindowsはHKLM\SOFTWARE\Policies\ClaudeCodeのSettings値(JSON)。ファイルならmacOSは/Library/Application Support/ClaudeCode/managed-settings.json、WindowsはC:\Program Files\ClaudeCode\managed-settings.jsonです。

名前が似ているので、置き場所の取り違えが起きやすい組み合わせです。権限ルールはClaude Code側、アプリの更新やログイン先はDesktop側に置きます。

ファイアウォールの許可

DesktopはAnthropicのCDNホストからアプリコードとユーザーコンテンツを読み込みます。許可するのはanthropic.com・claude.ai・claude.com・claude.appとそのサブドメイン、*.claudeusercontent.com、*.claudemcpcontent.comです。ワイルドカードを減らしたいときは、api.anthropic.comやassets.claude.aiなど個別ホストの一覧に切り替えられます。

IPアドレス許可リストを使っている組織は、bridge.claudeusercontent.comをclaude.aiと同じプロキシ経路に通します。通さないと、Claude in Chromeなどbridge経由の機能だけが止まり、アプリのほかの部分は動き続けます。

SSOを必須にするまでの手順

SSOはTeam・Enterprise・Claude Console組織のいずれでも設定できます。必要な役割は、Team・EnterpriseならOwnerまたはPrimary Owner、ConsoleならAdminです。

手順

SSO必須化の流れ

  1. 1

    ドメインを検証する

    「Organization and access」(Consoleでは「Identity and access」)でドメインを追加し、DNSにTXTレコードを置いて検証します。TXTの値は、ステータスがPendingになった後は管理コンソールに再表示されません。失うとドメインを削除して再追加することになり、値も変わります。

  2. 2

    IdPと接続して試験ログインする

    SAMLでIdPを接続し、最後に表示されるTest Single Sign-onで成功を確認します。OIDCは「Claude Enterprise Administrator Guide」が手順の置き場です。

  3. 3

    Require SSOをオンにする

    ClaudeとConsoleで別々のトグルがあります。必須にすると全員が「Continue with SSO」でしかログインできません。必須にしなければ、メールログインとの選択制のままです。

  4. 4

    IdP側の割り当てを先に確認する

    IdPのAnthropicアプリに割り当てられていないユーザーは、必須化後にログインできなくなります。親組織に複数のClaude・Console組織をつなぐ場合は、組織ごとにIdPグループを分ける考え方が案内されています。

ドメイン検証だけでは、既存ユーザーのアクセスは変わりません。影響が出るのは、SSOを設定して明示的に必須にした時点からです。

SSOはサインイン方法の統制で、managed settingsはサインイン後のセッションの統制です。

アプリの配布とデータの流れ

macOSでは.dmgをMDM(Jamf・Kandjiなど)で配布し、WindowsではMSIXパッケージで配布します。Windowsにはサイレントインストールを含む企業向けデプロイのオプションがあります。

コードの処理先は、セッションの実行環境で決まります。ローカルとSSHのセッションはコードをローカルで処理し、クラウドセッションはAnthropic管理のインフラで処理します。自己ホスト環境へ振り分けていない限り、クラウドセッションは会話とコードのコンテキストをAnthropicのAPIへ送ります。ローカルとSSHの送信先は、デプロイで設定したモデルプロバイダー(既定はAnthropicのAPI)です。

統制が効かないときの確認先

サードパーティー版のDesktopデプロイにmanagedMcpServersが届かない

3P(third-party)デプロイは管理コンソールの設定を受け取りません。managed settingsファイル・MDM経由の配布・Claude apps gatewayのdesktopブロックのいずれかで届けます。gateway経由ではgatewayサーバー側のClaude Codeがv2.1.232以降であることも条件です。

Code tabのテレメトリの置き場所

Code tabのテレメトリを出したいときは、管理コンソールのOpenTelemetryフォームではなく、managed settingsのenvブロックにCLAUDE_CODE_ENABLE_TELEMETRYとOTEL_*変数を置きます。

まとめ

制限が効かないときは、キーを疑う前に、そのセッションがローカル・クラウド・SSH・Coworkのどれかを見ます。

managed settingsの使い方全般はClaude Code組織管理ガイドに、TeamとEnterpriseの契約形態の違いはClaude法人プランの契約ガイドにあります。

この記事を共有:XはてブLinkedIn