> ## Documentation Index
> Fetch the complete documentation index at: https://docs.devin.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# システム構成

> MDM で配布する system.json ポリシーにより、管理対象デバイス全体で Devin CLI のログインとプロキシ設定を固定します

<div id="overview">
  ## 概要
</div>

`system.json` は、管理者が管理対象デバイス (通常は MDM 経由) に配布する、マシン全体に適用される任意のポリシーファイルです。管理者のみが書き込み可能なシステムディレクトリに配置されるため、`~/.config/devin/config.json` のユーザー設定とは異なり、ユーザーはその設定を変更または削除できません。

用途:

* **認証を固定**して、Enterprise Devin ホストおよび/またはアカウントに限定します。これにより、`devin auth login` はログイン方法のメニューをスキップし、組織外のアカウントを拒否します。
* CLI とそのアップデーターに対して、**送信 HTTP プロキシを強制**します。Enterprise 設定はユーザー設定より優先されます。ユーザー自身の設定にも `proxy` セクションがある場合は、CLI を起動する前に削除するよう求められます。展開前に [proxy](#proxy) を参照してください。

このファイルは任意であり、追加式です。存在しない場合、Devin CLI は非管理対象デバイスとまったく同じように動作します。

<div id="file-location">
  ## ファイルの場所
</div>

| プラットフォーム | パス                                               |
| -------- | ------------------------------------------------ |
| macOS    | `/Library/Application Support/Devin/system.json` |
| Linux    | `/etc/devin/system.json`                         |
| Windows  | `C:\ProgramData\Devin\system.json`               |

<Note>
  これらは、Devin Desktop がシステムレベルの[ルール](/ja/desktop/cascade/memories)および[フック](/ja/desktop/cascade/hooks)に使用する、マシン全体で共通の管理者書き込み可能なディレクトリです。ファイルは root/Administrator を所有者とし、一般ユーザーには読み取り専用の権限を設定してデプロイしてください。CLI はこのファイルを見つけた場所から読み込むため、ユーザーが書き込み可能な場所に配置すると、ポリシーの目的が損なわれます。
</Note>

<div id="example">
  ## 例
</div>

```json theme={null}
// /Library/Application Support/Devin/system.json
{
  "enterprise_host": "acme.devinenterprise.com",
  "account_id": "acct-acme",
  "proxy": {
    "mode": "manual",
    "url": "http://proxy.corp.example.com:8080",
    "no_proxy": "localhost,127.0.0.1,.internal.corp"
  }
}
```

<Warning>
  `system.json` は厳密な JSON として解析されます。コメント付き JSON であるユーザーの `config.json` とは異なり、`system.json` ではコメントや末尾のカンマは**サポートされていません**。上記のコメントは、ファイルパスを示すためにのみ表示されています。
</Warning>

<div id="options-reference">
  ## オプションリファレンス
</div>

| オプション             | 型      | デフォルト | 説明                                                                                       |
| ----------------- | ------ | ----- | ---------------------------------------------------------------------------------------- |
| `enterprise_host` | string | 未設定   | ユーザーが認証する Devin Enterprise ホスト。例: `"acme.devinenterprise.com"`。ホスト名のみ、または完全な URL を指定できます |
| `account_id`      | string | 未設定   | 認証済みアカウントが属している必要がある Devin アカウント識別子                                                      |
| `proxy`           | object | 未設定   | CLI とアップデーターの送信 HTTP プロキシ設定 (`mode`、`url`、`no_proxy`)                                    |

各フィールドは独立しています。必要なものだけを設定してください。不明なフィールドは無視されるため、新しい CLI 用に記述されたポリシーでも、古い CLI では認識可能な設定が引き続き適用されます。

<div id="enterprise_host">
  ### enterprise\_host
</div>

設定すると、`devin auth login` は次のように動作します。

1. ログイン方法のメニューとサブドメインの入力をスキップし、設定されたホストに対して直接認証を行います。
2. ログイン後のアカウントが別のホストに属する場合、または Devin Enterprise にまったく属さない場合は、正しいホストを案内するメッセージを表示してログインを拒否します。
3. レガシーの [Windsurf ログイン](/ja/cli/enterprise/windsurf-auth) は一切利用できません。

値の比較では大文字と小文字を区別せず、スキームも無視されます。そのため、`acme.devinenterprise.com`、`ACME.DevinEnterprise.com`、`https://acme.devinenterprise.com/` は同等です。ログイン時に明示的に指定された `http://` スキームは保持されます (テスト時にのみ有用です) 。それ以外の場合は `https://` が使用されます。

<div id="account_id">
  ### account\_id
</div>

設定すると、認証されたアカウントがこのアカウント識別子と一致している必要があります。ホストがすでに一致している場合でも同様です。共有ホスト上の特定のテナントを固定するために使用します。別のアカウントに解決されるログイン、またはどのアカウントにも解決されないログインは、アカウントの検証後に拒否されます。

使用するアカウント識別子が不明な場合は、Cognitionのアカウントチームにお問い合わせください。`account_id`を設定すると、WindsurfアカウントはDevinアカウントのポリシーを満たせないため、レガシー Windsurfのログインパスも拒否されます。

<div id="proxy">
  ### プロキシ
</div>

CLI 自身の送信 HTTP/HTTPS トラフィック (APIコール、更新、MCPサーバー) をどのようにルーティングするかを設定します。[ユーザー設定ファイル](/ja/cli/reference/configuration/config-file#proxy)の `proxy` セクションと同じ形式です。

| オプション      | 型        | デフォルト      | 説明                                                                                                                         |
| ---------- | -------- | ---------- | -------------------------------------------------------------------------------------------------------------------------- |
| `mode`     | 文字列      | `"system"` | `"system"` (`HTTP_PROXY`/`HTTPS_PROXY`/`ALL_PROXY` およびプラットフォームの PAC に従う) 、`"manual"` (`url` 経由でルーティング) 、または `"off"` (直接接続) |
| `url`      | 文字列/null | `null`     | プロキシ URL。`mode` が `"manual"` の場合は必須です。`http://`、`https://`、`socks5://` をサポートします                                            |
| `no_proxy` | 文字列/null | `null`     | カンマ区切りのバイパスリスト。`NO_PROXY` 環境変数と同じ構文です。すべてのモードで適用されます                                                                       |

`devin-updater` バイナリも同じ設定を読み取るため、バックグラウンド更新も CLI と同じプロキシを経由します。

<Warning>
  Enterprise プロキシはユーザー設定より優先され、両方のファイルでプロキシを設定するとエラーになります。ユーザーの `config.json` にも `proxy` セクションがある場合、CLI は起動時に終了して削除を求めます。設定を黙って無視することはありません。ポリシーを展開する前に、ローカルの `proxy` セクションを削除するようユーザーに伝えてください。
</Warning>

<div id="behavior-and-failure-modes">
  ## 動作と障害モード
</div>

破損している、または一部を解釈できないポリシーファイルがあっても、CLI が無効になることはありません。適用なしの状態にフォールバックします。一方、有効なポリシーは常に適用されます。

| 状況                                      | 結果                                                                |
| --------------------------------------- | ----------------------------------------------------------------- |
| ファイルがない                                 | 適用なし。CLI は管理対象外のデバイスと同様に動作します                                     |
| ファイルを読み取れない、または JSON の形式が不正             | ログに警告を出力し、ファイルがないものとして扱われます                                       |
| 不明なフィールドがある                             | 無視されます。認識されるフィールドは引き続き適用されます                                      |
| `proxy` セクションの形式が不正                     | `proxy` セクションは無視されます。`enterprise_host` / `account_id` は引き続き適用されます |
| `enterprise_host` / `account_id` の形式が不正 | ログインの適用は行われません。有効な `proxy` セクションは引き続き適用されます                       |
| 空白または空白文字のみの値                           | 未設定として扱われます                                                       |

ログインの適用は `devin auth login` の実行時に行われます。ポリシーのデプロイ前にサインインしたデバイスにすでに保存されている認証情報は再検証されません。そのため、CLI を展開する前に `system.json` をデプロイするか、影響を受けるユーザーに `devin auth logout` を実行して再度サインインするよう依頼してください。

stable、next、enterprise ビルドでは、環境変数で `system.json` へのパスを変更できません。そのため、ユーザーが CLI に独自のポリシーを指定することはできません。

<div id="verifying-the-policy">
  ## ポリシーを確認する
</div>

管理対象デバイスで：

```bash theme={null}
devin auth logout
devin auth login
```

`enterprise_host` を設定すると、ログイン方法メニューは表示されず、出力されるサインイン URL は設定したホストのものになります。続いて、作成されたセッションを確認します。

```bash theme={null}
devin auth status
```

ポリシーの対象外のアカウントでログインすると、組織で必要とされるホストまたはアカウントを明示するメッセージが表示され、ログインに失敗します。

<div id="related-settings">
  ## 関連設定
</div>

`system.json` は、ログイン前またはログイン中に適用される必要があるデバイスレベルのポリシーを対象としています。その他の組織全体の設定 (モデル、MCPサーバーとレジストリ、ターミナル権限、サンドボックス強制、ウェブ検索) は、[チーム設定](/ja/cli/enterprise/team-settings)でサーバー側により管理され、ユーザーがサインインすると自動的に適用されます。

<div id="further-reading">
  ## 関連資料
</div>

* [Devin Auth](/ja/cli/enterprise/devin-auth)
* [チーム設定](/ja/cli/enterprise/team-settings)
* [構成ファイル](/ja/cli/reference/configuration/config-file)
* [Controls](/ja/cli/enterprise/controls)
* [Devin Desktop Enterprise ポリシー](/ja/desktop/enterprise-policies) — Editor 向けに MDM で配布される同等のポリシー設定画面
