> ## Documentation Index
> Fetch the complete documentation index at: https://support.i.moneyforward.com/llms.txt
> Use this file to discover all available pages before exploring further.

# JumpCloud

> JumpCloudとの連携方法です。APIキーの取得から、連携方法まで一連の手順を解説します。

export const IntegrationCapabilities = ({lang = "ja", modes = "", plan = "", lifecycle = "", automation = "", fetch = "", capabilities = "", memo = ""}) => {
  const TEXT = ({
    ja: {
      rows: {
        mode: "連携モード",
        plan: "連携確認プラン",
        lifecycle: "アカウントライフサイクル",
        automation: "自動化",
        fetch: "取得データ",
        capabilities: "対応機能",
        memo: "備考"
      },
      empty: "-",
      more: "各項目の意味は[連携可能SaaS・機能対応一覧](/integrations/supported-saas)をご覧ください。",
      mode: {
        "API Key": "APIキー"
      },
      lifecycle: {
        provisioning: "アカウント作成",
        deactivate: "アカウント無効化",
        delete: "アカウント削除"
      },
      automation: {
        provisioning: "アカウント作成",
        deactivate: "アカウント無効化",
        delete: "アカウント削除"
      },
      fetch: {
        User: "ユーザー名",
        Mail: "メールアドレス",
        Role: "ロール",
        Status: "ステータス",
        "2FA": "二要素認証",
        LastActivity: "最終利用日",
        Licenses: "ライセンス"
      },
      capabilities: {
        "employee-master": "従業員マスター連携",
        "identity-provider": "IDプロバイダー連携",
        "cost-aggregation": "コスト管理",
        "file-aggregation": "ファイル管理",
        "file-permissions": "ファイル権限管理",
        "device-aggregation": "MDM連携"
      }
    },
    en: {
      rows: {
        mode: "Integration mode",
        plan: "Verified plan",
        lifecycle: "Account lifecycle",
        automation: "Automation",
        fetch: "Fetched data",
        capabilities: "Capabilities",
        memo: "Notes"
      },
      empty: "-",
      more: "See [Supported SaaS and Capabilities](/en/integrations/supported-saas) for what each item means.",
      mode: {},
      lifecycle: {
        provisioning: "Account creation",
        deactivate: "Account deactivation",
        delete: "Account deletion"
      },
      automation: {
        provisioning: "Account creation",
        deactivate: "Account deactivation",
        delete: "Account deletion"
      },
      fetch: {
        LastActivity: "Last Activity"
      },
      capabilities: {
        "employee-master": "HR master",
        "identity-provider": "Identity provider",
        "cost-aggregation": "Cost management",
        "file-aggregation": "File management",
        "file-permissions": "File permissions",
        "device-aggregation": "MDM integration"
      }
    }
  })[lang === "en" ? "en" : "ja"];
  const BADGE_COLORS = {
    "ID/Password": "yellow",
    "API Key": "cyan",
    OAuth: "red",
    App: "purple",
    User: "blue",
    Mail: "cyan",
    Role: "orange",
    Status: "teal",
    "2FA": "pink",
    LastActivity: "green",
    Licenses: "purple",
    provisioning: "green",
    delete: "red",
    deactivate: "yellow",
    "employee-master": "blue",
    "identity-provider": "teal",
    "cost-aggregation": "yellow",
    "file-aggregation": "cyan",
    "file-permissions": "orange",
    "device-aggregation": "purple"
  };
  const list = value => String(value || "").split(",").map(item => item.trim()).filter(Boolean);
  const badges = (source, labels) => {
    const values = list(source);
    if (values.length === 0) {
      return <span className="integration-capabilities-empty">{TEXT.empty}</span>;
    }
    return values.map(value => <span key={value} className={"integration-catalog-badge integration-catalog-badge--" + (BADGE_COLORS[value] || "gray")}>
        {labels?.[value] ?? value}
      </span>);
  };
  const text = value => value || <span className="integration-capabilities-empty">{TEXT.empty}</span>;
  const ROWS = [["mode", badges(modes, TEXT.mode)], ["plan", text(plan)], ["lifecycle", badges(lifecycle, TEXT.lifecycle)], ["automation", badges(automation, TEXT.automation)], ["fetch", badges(fetch, TEXT.fetch)], ["capabilities", badges(capabilities, TEXT.capabilities)], ["memo", text(memo)]];
  return <div className="integration-capabilities">
      <dl className="integration-capabilities-list">
        {ROWS.map(([key, value]) => <div className="integration-capabilities-row" key={key}>
            <dt>{TEXT.rows[key]}</dt>
            <dd>{value}</dd>
          </div>)}
      </dl>
    </div>;
};

## 連携仕様

<IntegrationCapabilities modes="API Key" lifecycle="provisioning, deactivate, delete" fetch="User, Mail, Status" capabilities="device-aggregation" memo="デバイスのシリアル番号取得には JumpCloud 側で System Insights を有効化する必要があります。" />

## 事前準備

### APIキーの取得方法

1. サイドメニューから**Settings**（設定）をクリックします。

   <img src="https://mintcdn.com/moneyforwardi/Wf4fikCIrw9yQeyf/images/integrations/jumpcloud/nav-settings.png?fit=max&auto=format&n=Wf4fikCIrw9yQeyf&q=85&s=23e44e35318ce9a25773dccaeecb60f7" alt="JumpCloudの左側ナビゲーションメニューでSettingsを選択する画面" width="492" height="878" data-path="images/integrations/jumpcloud/nav-settings.png" />

2. **Settings**（設定）画面の**Administrators**（管理者）タブを選択します。

   <img src="https://mintcdn.com/moneyforwardi/Wf4fikCIrw9yQeyf/images/integrations/jumpcloud/settings-administrators-tab.png?fit=max&auto=format&n=Wf4fikCIrw9yQeyf&q=85&s=9599164e412e5754f20a3f307b7541ca" alt="Settings画面のAdministratorsタブが選択された画面" width="1700" height="234" data-path="images/integrations/jumpcloud/settings-administrators-tab.png" />

3. 管理者一覧から対象の管理者名をクリックすると、右側に管理者を編集するサイドパネルが表示されます。

4. **Permissions**（権限）の**Enable API access**（APIアクセスを有効にする）にチェックを入れ、**Save**（保存）をクリックします。

   <img src="https://mintcdn.com/moneyforwardi/Wf4fikCIrw9yQeyf/images/integrations/jumpcloud/edit-administrator-api-access.png?fit=max&auto=format&n=Wf4fikCIrw9yQeyf&q=85&s=a77cb3c6da1b54d9a3eb4264916a00ae" alt="管理者編集パネルでEnable API accessにチェックを入れる画面" width="788" height="1440" data-path="images/integrations/jumpcloud/edit-administrator-api-access.png" />

5. 画面左下の管理者名をクリックし、表示されたメニューから**My API Key**（マイAPIキー）を選択します。

   <img src="https://mintcdn.com/moneyforwardi/Wf4fikCIrw9yQeyf/images/integrations/jumpcloud/my-api-key-menu.png?fit=max&auto=format&n=Wf4fikCIrw9yQeyf&q=85&s=b5a94e104fbf6762158412966dbd4f82" alt="画面左下のメニューでMy API Keyを選択する画面" width="590" height="192" data-path="images/integrations/jumpcloud/my-api-key-menu.png" />

6. **Generate New API Key**（新しいAPIキーを生成）をクリックし、表示された**APIキー**をコピーして保存します。

## インテグレーションのセットアップ

1. インテグレーション画面にて**JumpCloud**を検索します。

2. 前の手順で取得した**APIキー**と、JumpCloudの管理画面で確認できる**ワークスペースキー**を入力します。利用しているJumpCloudのリージョン（US・EU・IN）に応じて**リージョン**を指定し、**連携する**をクリックします。

   <img src="https://mintcdn.com/moneyforwardi/Wf4fikCIrw9yQeyf/images/integrations/jumpcloud/integrate-workspace.png?fit=max&auto=format&n=Wf4fikCIrw9yQeyf&q=85&s=5d139c4e56d7fa78696302cd17e61b5a" alt="連携設定画面" width="666" height="878" data-path="images/integrations/jumpcloud/integrate-workspace.png" />

3. JumpCloudとの連携が成功すると、アカウント一覧に登録済みのユーザー情報が表示されます。正常に完了しない場合は、まず [SaaSとの連携に失敗する場合の対処法](/it-management/saas-management/93nahw45is-trouble) に記載のステップをお試しください。それでも解決しない場合は、[ご提供いただきたい情報](/it-management/saas-management/93nahw45is-trouble#info-to-provide) をご確認のうえ、[サポート窓口](/contact-support)までお問い合わせください。

## MDM連携

デバイス管理機能をご利用の場合、JumpCloudとのデバイス同期が可能です。詳細は[4-0.MDM連携に対応SaaSとデバイスを連携する](/it-management/device/k1u975zc6h-mdm)をご覧ください。

<Info>
  シリアルナンバー・モデル名・製造元は、JumpCloudの「System Insights」機能が有効なデバイスでのみ取得できます。無効なデバイスでは、シリアルナンバーが未設定のため既存デバイスとマージされず新規登録され、モデル名は「Unknown」として登録されます。

  また、管理対象の表示対象サービスに現時点でJumpCloudが含まれていないため、値は取得されてもデバイス画面の「管理対象」欄には反映されません。

  デバイスに紐づくユーザー（Email）は取得していないため、従業員との自動紐付けは行われません。
</Info>

### 同期対象の項目

| 当サービス側の項目      | 同期パターン      | JumpCloud側 (Device / System)                                       | 補足事項                                                                 |
| -------------- | ----------- | ------------------------------------------------------------------ | -------------------------------------------------------------------- |
| 資産番号           | (2)当サービスベース | `jumpcloud_<Hostname>`                                             | 新規登録時のみ採番。重複した場合は`_1`などのサフィックスがつきます。                                 |
| モデル名           | (2)当サービスベース | System Insights > System Info > Hardware Model (hardware\_model)   | 新規登録時に必須項目として設定。System Insightsが無効なデバイスでは取得できず「Unknown」になります。        |
| シリアルナンバー(IMEI) | (1)MDMベース   | System Insights > System Info > Hardware Serial (hardware\_serial) | マージキーです。System Insightsが無効なデバイスでは取得できないため、既存デバイスとマージされず新規登録されます。     |
| 種別             | (2)当サービスベース | Devices > OS (os / osFamily) から判定                                  | Linux系はサーバー、macOS / Windowsはラップトップ PC、それ以外は「その他」。デスクトップPCとの区別はできません。 |
| ステータス          | (2)当サービスベース | -                                                                  | 新規登録時は常に「在庫」になります。                                                   |
| 製造元            | (1)MDMベース   | System Insights > System Info > Hardware Vendor (hardware\_vendor) | System Insightsが無効なデバイスでは取得できません。                                    |
| OS             | (1)MDMベース   | Devices > OS (os)                                                  | 例: "Mac OS X"、"Windows"、"Ubuntu"                                     |
| バージョン          | (1)MDMベース   | Devices > OS Version (version)                                     |                                                                      |
| ホスト名           | (1)MDMベース   | Devices > Hostname (hostname)                                      |                                                                      |
| 最終利用(MDM)      | (1)MDMベース   | Devices > Last Contact (lastContact) の日付部分                         | MDM連携開始時に自動作成される項目です。                                                |
| MDMリンク         | (1)MDMベース   | -                                                                  | JumpCloudクライアントはデバイスのURLを設定していないため、「MDMで開く」リンクは空になります。               |
| 管理対象           | (3)MDM項目    | Devices > Agent接続状態 (active: true=Managed / false=Unmanaged)       | 管理対象の表示対象サービスに現時点でJumpCloudが含まれていないため、値は取得されてもデバイス画面には反映されません。       |
