> For the complete documentation index, see [llms.txt](https://docs.maiagent.ai/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.maiagent.ai/maiagent-user-guide/ja/org/identity-sync.md).

# ID 同期（LDAP）

LDAP ID 同期を設定し、企業ディレクトリサービスのユーザーとグループを MaiAgent に自動インポートします。LDAP パスワードでプラットフォームに直接ログインすることもできます

ID 同期を使用すると、企業ディレクトリサービス（AD、JumpCloud、OpenLDAP など）のユーザーとグループのデータを MaiAgent に自動インポートでき、アカウントを一件ずつ作成する必要がなくなります。**LDAP 認証情報によるログイン**機能を併用すれば、従業員は企業で現在使用しているパスワードで MaiAgent に直接ログインでき、別のパスワードを覚える必要もありません。

{% hint style="info" %}
ID 同期（LDAP）は **Enterprise プラン**限定の機能です。有効にするには、MaiAgent の営業チームに連絡して Enterprise プランにアップグレードしてください。
{% endhint %}

## ユースケース <a href="#use-cases" id="use-cases"></a>

1. **企業ですでに AD / LDAP ディレクトリを使用している**：従業員データを MaiAgent に自動で取り込み、2 つの名簿を手動で管理する手間をなくしたい場合
2. **退職者のアカウントを同期して無効化する**：企業側で退職者のアカウントを無効にすると、MaiAgent 側でも同期によってアクセス権を失うようにしたい場合
3. **パスワードを一元管理する**：従業員がシステムごとに別のパスワードを覚えず、企業パスワード 1 つだけを使用できるようにしたい場合
4. **部門の権限をマッピングする**：企業ディレクトリ内のグループに基づいて、対応する MaiAgent のロール権限を自動的に付与したい場合
5. **多数のユーザーをインポートする**：MaiAgent の初回導入時に、100 人を超える従業員を一括でプラットフォームに取り込みたい場合

## SSO との違い <a href="#difference-from-sso" id="difference-from-sso"></a>

ID 同期（LDAP）と[サードパーティログイン（SSO）](/maiagent-user-guide/ja/org/sso.md)はいずれも企業向けの ID 統合機能ですが、解決する課題が異なります。

| 比較項目             | ID 同期（LDAP）                       | サードパーティログイン（SSO）                   |
| ---------------- | --------------------------------- | ---------------------------------- |
| **主な目的**         | 企業ディレクトリから「ユーザー」を MaiAgent に同期します | 企業アカウントで MaiAgent に「ログイン」できるようにします |
| **ユーザー作成**       | ✅ 自動作成                            | ❌ JIT の併用または事前作成が必要です              |
| **ログイン方法**       | Bind ログインを有効にした後、企業パスワードでログインします  | 企業の IdP にリダイレクトしてログインを完了します        |
| **グループ / ロール同期** | ✅ グループマッピングに基づいて自動同期します           | ⚠️ IdP と統合方法によって異なります              |
| **一般的な統合先**      | Microsoft AD、JumpCloud、OpenLDAP   | Azure AD、Okta、Keycloak             |

両方を同時に有効にすることもできます。SSO でリダイレクトログインを処理し、LDAP 同期でアカウント一覧を管理します。

## 前提条件 <a href="#prerequisites" id="prerequisites"></a>

LDAP ID 同期を有効にする前に、次の情報を準備してください。

### IT 担当者から提供してもらう情報 <a href="#it-info-required" id="it-info-required"></a>

* **LDAP サーバーアドレス**：例：`ldaps://ad.company.com:636`
* **Base DN**：ユーザー検索の開始点です。例：`DC=company,DC=com` または `ou=Users,o=<org>,dc=jumpcloud,dc=com`
* **Bind DN**：読み取り権限を持つサービスアカウントの完全な DN
* **Bind パスワード**：サービスアカウントのパスワード
* **ファイアウォールの許可**：MaiAgent サーバーから LDAP サーバーへの接続を許可します（デフォルトポートは LDAPS が 636、LDAP が 389）

### MaiAgent 側で必要な権限 <a href="#maiagent-permissions-required" id="maiagent-permissions-required"></a>

* **組織所有者（Owner）**、または**組織管理権限**を持つロール

{% hint style="warning" %}
平文の LDAP（ポート 389）ではなく、**LDAPS（ポート 636）の使用を強く推奨します**。LDAPS は通信を暗号化し、ネットワーク上でのパスワードの盗聴を防ぎます。
{% endhint %}

## ID 同期設定を開く <a href="#enter-identity-sync-settings" id="enter-identity-sync-settings"></a>

1. 左側のメニューから <mark style="color:blue;">組織設定</mark> > <mark style="color:blue;">組織概要</mark> をクリックします
2. <mark style="color:blue;">ID 同期</mark>をクリックして設定ページを開きます
3. <mark style="color:blue;">同期方法を選択</mark>をクリックし、モーダルで <mark style="color:blue;">LDAP</mark> を選択します

<figure><img src="https://2584873290-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FTvHx8hgwYGDTLD3A7xoW%2Fuploads%2Fgit-blob-79d17884ae20ce612b1521285258dc75b0c28e6f%2Fidentity-sync-08-change-sync-type.png?alt=media" alt="同期方法を選択"><figcaption><p>同期方法を選択するモーダルでは、LDAP または SCIM を選択できます（SCIM のエンドポイントと Token については、技術者向けマニュアルの「メンバーのプロビジョニング：SCIM／招待／SSO」を参照してください）</p></figcaption></figure>

設定画面には、**接続設定**、**同期範囲**、**グループマッピング**、**ログインと同期**、**同期履歴**の 5 つのタブがあります。以下で順に説明します。

## 1. 接続設定 <a href="#connection-settings" id="connection-settings"></a>

最初に、MaiAgent と LDAP サーバーの接続を確立します。4 つの項目を入力したら、**必ず先に「接続テスト」をクリックして検証し**、問題がないことを確認してから保存してください。

<figure><img src="https://2584873290-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FTvHx8hgwYGDTLD3A7xoW%2Fuploads%2Fgit-blob-ec7886fd2ba0e5bc7776d41ed932d076c5a69d41%2Fidentity-sync-01-connection-tab.png?alt=media" alt="接続設定フォーム"><figcaption><p>接続設定タブで、サーバーアドレス、Base DN、Bind DN、パスワードを入力します</p></figcaption></figure>

### 各項目の入力ルール <a href="#field-fill-rules" id="field-fill-rules"></a>

| 項目           | 説明                                              | 例（JumpCloud）                                             | 例（AD）                                                  |
| ------------ | ----------------------------------------------- | -------------------------------------------------------- | ------------------------------------------------------ |
| **サーバーアドレス** | LDAP サーバーの接続先です。プロトコルとポートを含める必要があります            | `ldaps://ldap.jumpcloud.com:636`                         | `ldaps://ad.company.com:636`                           |
| **Base DN**  | ユーザー検索の開始点です。`DC=` を含める必要があります（大文字と小文字は区別されません） | `ou=Users,o=<ORG_ID>,dc=jumpcloud,dc=com`                | `DC=company,DC=com`                                    |
| **Bind DN**  | 認証に使用するサービスアカウントの完全なパスです                        | `uid=svcaccount,ou=Users,o=<ORG_ID>,dc=jumpcloud,dc=com` | `CN=svc-maiagent,OU=ServiceAccounts,DC=company,DC=com` |
| **パスワード**    | Bind DN アカウントのパスワード                             | —                                                        | —                                                      |

各項目の具体的な値は、IT 担当者から提供してもらう必要があります。実際の連携例については、後述の[操作例（JumpCloud の場合）](#操作範例以-jumpcloud-為例)を参照してください。

### 接続をテストする <a href="#test-connection" id="test-connection"></a>

項目を入力したら、<mark style="color:blue;">接続テスト</mark>をクリックします。成功すると、緑色の「Connection successful」メッセージと応答時間が表示されます。

<figure><img src="https://2584873290-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FTvHx8hgwYGDTLD3A7xoW%2Fuploads%2Fgit-blob-08b93a2fe3e3ee13d49d8f813454379641365a3b%2Fidentity-sync-02-connection-success.png?alt=media" alt="接続テスト成功"><figcaption><p>接続テストが成功し、応答時間が表示されています（約 200～300 ms が正常です）</p></figcaption></figure>

{% hint style="warning" %}
**保存をクリックする前に、必ず接続をテストしてください**。接続の検証に成功するまで、同期範囲やプレビューリストなどの機能は使用できません。
{% endhint %}

### よくあるエラー <a href="#common-errors" id="common-errors"></a>

| エラーメッセージ              | 考えられる原因                            | 対処方法                                                          |
| --------------------- | ---------------------------------- | ------------------------------------------------------------- |
| `Invalid credentials` | Bind DN またはパスワードが正しくありません          | Bind DN の形式を確認し、パスワードが最新であることを確認します                           |
| `Server unreachable`  | サーバーアドレスが正しくないか、ファイアウォールで許可されていません | URL とポートを確認し、MaiAgent から LDAP サーバーへの外向き接続を許可するよう IT 担当者に依頼します |
| `Invalid DN syntax`   | Base DN の形式が正しくありません               | Base DN には `DC=` が必要です。カンマと階層が正しいか確認します                       |
| `Timeout`             | 10 秒を超えても応答がありません                  | LDAP サーバーが正常に稼働していること、およびネットワーク経路が到達可能であることを確認します             |

## 2. 同期範囲 <a href="#sync-scope" id="sync-scope"></a>

LDAP 内のどのユーザーを MaiAgent に同期するかを選択します。次の 2 つのモードがあります。

### シンプルモード（推奨） <a href="#simple-mode" id="simple-mode"></a>

同期する\*\*組織単位（OU）**または**グループ（Group）\*\*を選択します。選択後、下部の <mark style="color:blue;">リストをプレビュー</mark>をクリックして、同期されるユーザーを確認できます。

<figure><img src="https://2584873290-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FTvHx8hgwYGDTLD3A7xoW%2Fuploads%2Fgit-blob-2a894cb2d34aad020dc5385b1c7699c305dd9703%2Fidentity-sync-03-scope-simple.png?alt=media" alt="同期範囲のシンプルモード"><figcaption><p>シンプルモードで、同期する OU またはグループを選択します。右側の数字は、その範囲内のユーザー数を示します</p></figcaption></figure>

<figure><img src="https://2584873290-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FTvHx8hgwYGDTLD3A7xoW%2Fuploads%2Fgit-blob-e7d6248df58dd4e856f7b4deffe7a84e8d346a70%2Fidentity-sync-04-user-preview.png?alt=media" alt="ユーザープレビュー"><figcaption><p>「リストをプレビュー」をクリックすると、同期されるすべてのユーザーが表示されます。Email / 氏名で検索できます</p></figcaption></figure>

{% hint style="info" %}
OU とグループは**同時に選択できます**。1 人のユーザーが複数の条件に一致しても、同期されるのは 1 回のみで、すべてのグループ関連付けが保持されます。
{% endhint %}

### 詳細モード <a href="#advanced-mode" id="advanced-mode"></a>

より細かいフィルタリングが必要な場合（例：「Manager 以上のエンジニアリング部門の従業員のみを同期する」）、詳細モードに切り替えて LDAP Filter をカスタマイズできます。

よく使用する Filter の例：

| 要件             | LDAP Filter                                                              |
| -------------- | ------------------------------------------------------------------------ |
| 有効なユーザーのみを同期する | `(&(objectClass=user)(!(userAccountControl:1.2.840.113556.1.4.803:=2)))` |
| 特定の部門のみを同期する   | `(&(objectClass=user)(department=Engineering))`                          |
| サービスアカウントを除外する | `(&(objectClass=user)(!(sAMAccountName=svc-*)))`                         |

{% hint style="warning" %}
詳細モードの LDAP Filter 構文に誤りがあると、同期に失敗します。LDAP Filter に詳しくない場合は、シンプルモードを使用し、IT 担当者に OU / グループ構造の調整を依頼してください。
{% endhint %}

## 3. グループマッピング <a href="#group-mapping" id="group-mapping"></a>

LDAP グループと MaiAgent のロールの対応関係を設定します。**マッピングされていないグループには、同名の MaiAgent ロールが自動的に作成されます**（この設定で無効にできます）。

{% hint style="info" %}
**ID 同期と権限管理の役割分担**

ID 同期は、LDAP から MaiAgent に「ユーザー」と「ロールの所属情報」を同期するだけです。**各ロールの具体的な権限範囲（使用できる機能やアクセスできるリソース）は、管理者が先に**[ロール権限管理](/maiagent-user-guide/ja/org/roles/role-permission.md)ページで一度設定する必要があります。

設定後は、新しい従業員を LDAP 側で対応するグループに追加するだけで、MaiAgent に自動的に同期され、そのロールの権限が付与されます。管理者が新しい従業員ごとに個別設定する必要はありません。
{% endhint %}

<figure><img src="https://2584873290-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FTvHx8hgwYGDTLD3A7xoW%2Fuploads%2Fgit-blob-2e27e9c4e521f84a761492f1719843e1a2818fbd%2Fidentity-sync-05-mapping.png?alt=media" alt="グループマッピング"><figcaption><p>グループマッピングタブでは、個別に設定するか、CSV で一括インポートできます</p></figcaption></figure>

### 操作オプション <a href="#mapping-options" id="mapping-options"></a>

* <mark style="color:blue;">マッピングを追加</mark>：LDAP グループを MaiAgent のロールに手動でマッピングします
* <mark style="color:blue;">テンプレートをダウンロード</mark>：CSV テンプレートを取得し、マッピングを一括作成します
* <mark style="color:blue;">ファイルをインポート</mark>：入力済みの CSV をアップロードします
* <mark style="color:blue;">マッピングされていないロールを自動作成</mark>：デフォルトで有効です。同期時にマッピングされていない LDAP グループが見つかると、MaiAgent に同名のロールを自動的に作成します

### マッピング例 <a href="#mapping-examples" id="mapping-examples"></a>

| LDAP グループ     | MaiAgent のロール   | 用途                                 |
| ------------- | --------------- | ---------------------------------- |
| `Engineering` | `エンジニア`         | エンジニアリング部門の共通ロール                   |
| `Finance`     | `財務`            | 財務部門の共通ロール                         |
| `AI-Project`  | `AI プロジェクトメンバー` | 部門横断プロジェクトのロール。メンバーは他部門にも同時に所属できます |

{% hint style="info" %}
従業員が複数の LDAP グループに所属している場合（例：`Engineering` と `AI-Project` の両方）、同期後に**対応する 2 つの MaiAgent ロールが同時に付与されます**。
{% endhint %}

{% hint style="warning" %}
**「デフォルトロール」はマッピングできません**：MaiAgent の「デフォルトロール」は、すべての組織メンバーに自動的に割り当てられるシステムロールであり、LDAP グループにはマッピングできません。全社共通の権限を付与する場合は、マッピング先として使用せず、「デフォルトロール」自体の権限設定を調整してください。
{% endhint %}

## 4. ログインと同期 <a href="#login-and-sync" id="login-and-sync"></a>

このページでは、**LDAP 認証情報によるログイン設定**と**手動同期の実行**の 2 つを管理します。

<figure><img src="https://2584873290-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FTvHx8hgwYGDTLD3A7xoW%2Fuploads%2Fgit-blob-06d3a4d73c43d27440449fae74dd5638c206b4bf%2Fidentity-sync-06-login-sync.png?alt=media" alt="ログインと同期"><figcaption><p>ログインと同期タブには、Bind ログイン設定、手動同期ボタン、前回の同期結果があります</p></figcaption></figure>

### LDAP 認証情報によるログイン <a href="#ldap-login" id="ldap-login"></a>

有効にすると、同期されたユーザーは別途設定せずに、**LDAP パスワード**で MaiAgent に直接ログインできます。

{% hint style="info" %}
LDAP 認証情報によるログインを有効にすると、ユーザーが LDAP ディレクトリサービスで変更したパスワードは、次回の同期を待たずに**直ちに反映されます**。
{% endhint %}

{% hint style="warning" %}
**有効化の前提条件**：LDAP 接続が検証済みで、同期を少なくとも 1 回実行している必要があります。

**有効化後の動作**：同期済みユーザーの認証元が一括で LDAP に変更され、**MaiAgent のローカルパスワードは無効になります**。後でこの設定を無効にした場合、ユーザーが再度ログインするには、管理者にパスワードのリセットを依頼する必要があります。
{% endhint %}

### 手動で同期を実行する <a href="#manual-sync-trigger" id="manual-sync-trigger"></a>

<mark style="color:blue;">今すぐ同期を実行</mark>をクリックすると、LDAP から最新データを取得して MaiAgent を更新します。

* **自動同期**：システムはデフォルトで 30 分ごとに自動同期するため、手動操作は不要です
* **クールダウン時間**：短時間での重複実行を防ぐため、手動同期には 60 秒のクールダウンがあります
* **同期アクション**：「追加（Active ユーザー）」、「更新（データ変更）」、「無効化（LDAP の範囲外になった、または Suspended になったユーザー）」が含まれます

### 前回の同期結果 <a href="#last-sync-result" id="last-sync-result"></a>

追加、更新、無効化、失敗の件数を含む、直近の同期の統計概要が表示されます。詳細は**同期履歴**タブで確認してください。

## 5. 同期履歴 <a href="#sync-history" id="sync-history"></a>

各同期の詳細（日時、アクション、影響を受けたユーザー、実行方法）を確認できます。

<figure><img src="https://2584873290-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FTvHx8hgwYGDTLD3A7xoW%2Fuploads%2Fgit-blob-1bc48706c021a96484ccbf72dcdbb299caab6845%2Fidentity-sync-07-logs.png?alt=media" alt="同期履歴"><figcaption><p>同期履歴タブでは、Email / 氏名 / ロールで検索したり、アクションの種類で絞り込んだりできます</p></figcaption></figure>

### アクションの種類 <a href="#action-types" id="action-types"></a>

| アクション   | 意味                                            |
| ------- | --------------------------------------------- |
| **追加**  | ユーザーが LDAP から初めて MaiAgent に同期されました            |
| **更新**  | ユーザーデータ（氏名、Email、グループ所属）が変更されました              |
| **無効化** | ユーザーが LDAP の範囲外になった、Suspended になった、または削除されました |
| **失敗**  | そのユーザーの同期に失敗しました（詳細のエラーメッセージを参照してください）        |

### 実行方法 <a href="#trigger-methods" id="trigger-methods"></a>

* **手動**：管理者が**ログインと同期**タブで「今すぐ同期を実行」をクリックします
* **自動**：システムのスケジュールにより 30 分ごとに自動実行されます

## 同期が成功したか確認する <a href="#verify-sync-success" id="verify-sync-success"></a>

同期の実行後、次の 3 か所で、ユーザーが正しくインポートされたこと、および LDAP グループが MaiAgent のロールにマッピングされたことを確認できます。

### 確認 1：メンバー管理ページでユーザーを確認する <a href="#verify-1-member-management" id="verify-1-member-management"></a>

<mark style="color:blue;">組織設定</mark> > <mark style="color:blue;">メンバー管理</mark>を開きます。LDAP から同期されたユーザーが一覧に表示されます。Email で検索すると、特定のユーザーをすばやく見つけることができます。

各ユーザーの「ロール」項目には、所属する MaiAgent のロールが表示されます。たとえば、One Chen には `Group 1` と `Group 2` の両方が割り当てられ、LDAP 側でこの 2 つのグループに同時に所属していることが反映されます。

{% hint style="warning" %}
**メンバー一覧には「ソース」項目が表示されません**。LDAP から同期されたユーザーと手動で招待されたメンバーは、一覧上では同じように表示されます。ユーザーが LDAP 由来かどうかを明確に追跡するには、<mark style="color:blue;">ID 同期</mark> > <mark style="color:blue;">同期履歴</mark>でその Email を検索してください。
{% endhint %}

### 確認 2：ロール権限管理ページでロールを確認する <a href="#verify-2-role-permission-management" id="verify-2-role-permission-management"></a>

<mark style="color:blue;">組織設定</mark> > <mark style="color:blue;">ロール権限</mark>を開きます。LDAP グループマッピングに対応するロールが一覧に表示され、「メンバー」項目には、同期によってそのロールに追加されたユーザーが表示されます。

サンプルの LDAP グループを例にすると、ロール一覧では次のことを確認できます。

* `Group 1` には 2 人のメンバー（Two Chen、One Chen）がおり、LDAP 側の Group 1 のメンバーに対応しています
* `Group 2` には 2 人のメンバー（Three Chen、One Chen）がおり、LDAP 側の Group 2 のメンバーに対応しています
* One Chen は両方のロールに表示されており、LDAP 側で 2 つのグループに所属していることを示します
* これらのロールは手動で作成したロールと同じ外観で、クリックして権限範囲を調整できます

### 確認 3：同期履歴で実行履歴を確認する <a href="#verify-3-sync-history" id="verify-3-sync-history"></a>

<mark style="color:blue;">ID 同期</mark> > <mark style="color:blue;">同期履歴</mark>を開くと、各同期の日時、アクション（追加 / 更新 / 無効化）、対象ユーザー、実行方法を確認できます。同期が失敗したか、どのユーザーで失敗したかを判断できる唯一の場所です。

### 確認目的別の参照表 <a href="#verification-comparison-table" id="verification-comparison-table"></a>

| 確認したいこと                | 確認する場所                                                               |
| ---------------------- | -------------------------------------------------------------------- |
| ユーザーが正常にインポートされたか      | <mark style="color:blue;">メンバー管理</mark>一覧で Email を検索します              |
| ユーザーがどのロールに割り当てられたか    | <mark style="color:blue;">メンバー管理</mark>一覧にある、そのユーザーの「ロール」項目          |
| LDAP グループがロールになっているか   | <mark style="color:blue;">ロール権限</mark>一覧                             |
| 特定のロールに実際に所属しているメンバー   | <mark style="color:blue;">ロール権限</mark>一覧にある、そのロールの「メンバー」項目           |
| ユーザーが LDAP 同期か手動追加か    | <mark style="color:blue;">同期履歴</mark>で Email を検索します。記録があれば LDAP 同期です |
| 同期が失敗したか、その原因          | <mark style="color:blue;">同期履歴</mark>でアクションの種類を「失敗」に絞り込みます           |
| 前回の同期でインポート / 無効化された人数 | <mark style="color:blue;">ログインと同期</mark>の「前回の同期結果」の統計                |

### 運用上の推奨事項 <a href="#operation-recommendations" id="operation-recommendations"></a>

ID 同期を有効にした後、メンバー / ロール管理ページで一部の操作を手動で行うと LDAP と競合します。次の点に注意してください。

**メンバー管理ページ**：

| 操作                              | 結果                                     |
| ------------------------------- | -------------------------------------- |
| LDAP から同期されたユーザーを手動で削除する        | 次回の同期で再作成されます                          |
| LDAP から同期されたユーザーの Email を直接変更する | 同期時に LDAP の値で上書きされます                   |
| Bind ログインを有効にした後でパスワードを手動リセットする | ローカルパスワードは使用できず、パスワードは LDAP 側でのみ変更できます |

**ロール権限管理ページ**：

| 操作                      | 結果                                                                                    |
| ----------------------- | ------------------------------------------------------------------------------------- |
| LDAP マッピングに対応するロールを削除する | 「マッピングされていないロールを自動作成」が有効な場合、次回の同期で再作成されます                                             |
| そのロールのメンバーを手動で追加または削除する | 次回の同期時に、LDAP グループに基づくメンバー一覧で上書きされます                                                   |
| ロール名を変更する               | LDAP グループとの関連付けが切れるため、<mark style="color:blue;">グループマッピング</mark>ページで再度マッピングすることを推奨します |

{% hint style="info" %}
**簡単な原則**：**権限は MaiAgent のロールで制御し、メンバーの所属は LDAP グループで制御します**。権限を変更する場合はロール設定を、グループの所属メンバーを変更する場合は LDAP 側を変更してください。
{% endhint %}

### ロール権限の初期設定 <a href="#initial-role-permission-setup" id="initial-role-permission-setup"></a>

同期後、新しく作成されたロール（`Group 1`、`Group 2` など）には、**デフォルトでは権限がありません**。[ロール権限管理](/maiagent-user-guide/ja/org/roles/role-permission.md)ページで、各ロールに次の項目を設定してください。

* **機能権限**：そのロールが使用できる機能（AI アシスタント、ナレッジベース、カスタマーサービス会話など）
* **リソースアクセス**：アクセスできる特定のアシスタント、ナレッジベース、データベース

**各ロールは一度だけ設定すれば完了です**。その後、LDAP から同期された新しいメンバーは、これらの権限を自動的に継承します。管理者が新しい従業員ごとに個別に割り当てる必要はありません。

## 操作例（JumpCloud の場合） <a href="#jumpcloud-example" id="jumpcloud-example"></a>

以下は、JumpCloud を LDAP サーバーとして使用する完全な連携手順です。**Microsoft AD や OpenLDAP など、他のシステムでも手順は同じで、各項目の形式のみが異なります**。本ガイド末尾の付録にある対応表を参照してください。

### Step 1：JumpCloud で接続情報を確認する <a href="#step-1-find-connection-info" id="step-1-find-connection-info"></a>

[JumpCloud Admin](https://console.jumpcloud.com) にログインし、<mark style="color:blue;">Access</mark> > <mark style="color:blue;">LDAP</mark> を開きます。

<figure><img src="https://2584873290-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FTvHx8hgwYGDTLD3A7xoW%2Fuploads%2Fgit-blob-0cd0ae758364454b886ca48d96daa245a9ad6b99%2Fidentity-sync-jumpcloud-02-ldap-page.png?alt=media" alt="JumpCloud LDAP ページ"><figcaption><p>JumpCloud Admin の左側メニューにある Access > LDAP</p></figcaption></figure>

**JumpCloud LDAP** Directory を開き、ページ内の **ORG DN** をコピーします。

<figure><img src="https://2584873290-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FTvHx8hgwYGDTLD3A7xoW%2Fuploads%2Fgit-blob-b7cb9e559e365b6959d50025ec4c20655a58e53c%2Fidentity-sync-jumpcloud-03-ldap-details.png?alt=media" alt="JumpCloud LDAP Directory の詳細ページ"><figcaption><p>JumpCloud LDAP Directory の詳細ページにある <strong>ORG DN</strong> 項目の値が、必要な組織識別子です</p></figcaption></figure>

### Step 2：ユーザーの LDAP Bind DN が有効になっていることを確認する <a href="#step-2-enable-ldap-bind-dn" id="step-2-enable-ldap-bind-dn"></a>

任意のユーザー（例：`bob.chen`）を開く > <mark style="color:blue;">Directories</mark> タブに切り替える > そのユーザーが JumpCloud LDAP にバインドされ、**LDAP Bind DN** として設定されていることを確認します。

<figure><img src="https://2584873290-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FTvHx8hgwYGDTLD3A7xoW%2Fuploads%2Fgit-blob-219c0c0f84e45701269ca7d12ab12f64040c625d%2Fidentity-sync-jumpcloud-06-user-ldap-bind-dn.png?alt=media" alt="ユーザーの LDAP Bind DN"><figcaption><p>ユーザー詳細ページ > Directories で、LDAP Bind DN が有効になっていることを確認します</p></figcaption></figure>

{% hint style="warning" %}
**Bind DN アカウントは LDAP Bind DN である必要があります**。通常のユーザーを Bind DN として使用し、このオプションを選択していない場合、接続に失敗します。
{% endhint %}

### Step 3：接続パラメーターを構成する <a href="#step-3-compose-connection-params" id="step-3-compose-connection-params"></a>

ORG DN が `o=69de10c5be030ec43849f7a1,dc=jumpcloud,dc=com` の場合を例にします。

| 項目       | 値                                                                      |
| -------- | ---------------------------------------------------------------------- |
| サーバーアドレス | `ldaps://ldap.jumpcloud.com:636`                                       |
| Base DN  | `ou=Users,o=69de10c5be030ec43849f7a1,dc=jumpcloud,dc=com`              |
| Bind DN  | `uid=bob.chen,ou=Users,o=69de10c5be030ec43849f7a1,dc=jumpcloud,dc=com` |
| パスワード    | Bob Chen の JumpCloud パスワード                                             |

### Step 4：MaiAgent に入力してテストする <a href="#step-4-fill-and-test" id="step-4-fill-and-test"></a>

MaiAgent の接続設定に貼り付け、<mark style="color:blue;">接続テスト</mark>をクリックします。緑色の「Connection successful」が表示されたら保存できます。

### Step 5：同期範囲を設定して実行する <a href="#step-5-set-sync-scope" id="step-5-set-sync-scope"></a>

**同期範囲**に切り替えて `ou=Users` を選択し、保存 → **ログインと同期**で <mark style="color:blue;">今すぐ同期を実行</mark>をクリック → **同期履歴**でユーザーが追加されたことを確認します。

## よくある質問 <a href="#faq" id="faq"></a>

### Q1. 接続テストに「Invalid credentials」と表示されますが、パスワードは正しいはずです <a href="#faq-invalid-credentials" id="faq-invalid-credentials"></a>

次の 3 点を確認してください。

1. **Bind DN の形式**：すべての `ou=`、`dc=` 階層を含む完全なパスであることを確認します
2. **LDAP Bind DN の設定**（JumpCloud）：そのユーザー > Directories を開き、「Enable as LDAP Bind DN」が選択されていることを確認します
3. **パスワードの特殊文字**：パスワードに `$`、`!` などの文字が含まれている場合、一部のシステムではエスケープが必要です

### Q2. 一部のユーザーが同期されないのはなぜですか？ <a href="#faq-some-users-not-synced" id="faq-some-users-not-synced"></a>

次の項目を確認してください。

* LDAP でユーザーの状態が **Active** になっているか（JumpCloud の Staged / Suspended は同期されません）
* 選択した OU / グループの範囲内にいるか（詳細モードの場合は Filter の条件に一致する必要があります）
* ユーザーの Email 項目が空ではないか（MaiAgent は Email を一意の識別子として使用するため、Email がないユーザーはスキップされます）

<mark style="color:blue;">同期履歴</mark>で詳細な失敗理由を確認できます。

### Q3. 特定の部門だけを同期できますか？ <a href="#faq-sync-specific-department" id="faq-sync-specific-department"></a>

はい。次の 2 つの方法があります。

* **シンプルモード**：LDAP でその部門を独立した OU またはグループにし、MaiAgent ではその項目だけを選択します
* **詳細モード**：`(&(objectClass=user)(department=Engineering))` などのカスタム LDAP Filter を使用します

### Q4. 従業員が LDAP パスワードを変更した場合、MaiAgent 側で同期を待つ必要がありますか？ <a href="#faq-ldap-password-change" id="faq-ldap-password-change"></a>

**必要ありません**。**LDAP 認証情報によるログイン**が有効であれば、ユーザーが新しいパスワードでログインするときに MaiAgent がリアルタイムで LDAP に検証するため、変更は直ちに反映されます。

### Q5. LDAP 認証情報によるログインを有効にした後も、元の MaiAgent ローカルパスワードを使用できますか？ <a href="#faq-local-password-after-ldap" id="faq-local-password-after-ldap"></a>

**使用できません**。有効にすると、同期済みのすべてのユーザーの認証元が LDAP に変更され、元の MaiAgent パスワードは使用できなくなります。ユーザーは LDAP パスワードでのみログインできます。

後でこの設定を無効にした場合、ユーザーが再度ログインするには、管理者にパスワードのリセットを依頼する必要があります。

### Q6. 従業員が退職した場合、MaiAgent では自動的に無効化されますか？ <a href="#faq-offboarding-auto-disable" id="faq-offboarding-auto-disable"></a>

はい。LDAP 側でユーザーを Suspend または Disable にすると、次回の同期（手動または 30 分ごとの自動同期）で MaiAgent がそのユーザーを無効化します。Bind ログインを有効にしている場合、その従業員は直ちにログインできなくなります。

### Q7. LDAP グループの名前を変更または削除すると、MaiAgent ではどうなりますか？ <a href="#faq-ldap-group-rename-delete" id="faq-ldap-group-rename-delete"></a>

* **グループ名の変更**：MaiAgent 側の元のロール名は自動的には変更されません。対応するグループマッピングを手動で更新することを推奨します
* **グループの削除**：マッピングが作成済みの場合、そのマッピングは残りますが、該当する LDAP グループのユーザーはいなくなります。手動で整理することを推奨します

### Q8. 自動同期は何分ごとに実行されますか？間隔を変更できますか？ <a href="#faq-auto-sync-interval" id="faq-auto-sync-interval"></a>

現在は 30 分ごとの固定間隔で実行され、カスタム間隔にはまだ対応していません。緊急の場合は、「今すぐ同期を実行」を使用して手動で実行できます。

## 付録：LDAP システム別の接続例 <a href="#appendix-ldap-connection-examples" id="appendix-ldap-connection-examples"></a>

### Microsoft Active Directory <a href="#microsoft-active-directory" id="microsoft-active-directory"></a>

| フィールド    | 値                                                      |
| -------- | ------------------------------------------------------ |
| サーバーアドレス | `ldaps://ad.company.com:636`                           |
| Base DN  | `DC=company,DC=com`                                    |
| Bind DN  | `CN=svc-maiagent,OU=ServiceAccounts,DC=company,DC=com` |

### JumpCloud <a href="#jumpcloud" id="jumpcloud"></a>

| フィールド    | 値                                                        |
| -------- | -------------------------------------------------------- |
| サーバーアドレス | `ldaps://ldap.jumpcloud.com:636`                         |
| Base DN  | `ou=Users,o=<ORG_ID>,dc=jumpcloud,dc=com`                |
| Bind DN  | `uid=<username>,ou=Users,o=<ORG_ID>,dc=jumpcloud,dc=com` |

### OpenLDAP / FreeIPA <a href="#openldap-freeipa" id="openldap-freeipa"></a>

| フィールド    | 値                                            |
| -------- | -------------------------------------------- |
| サーバーアドレス | `ldaps://ldap.company.local:636`             |
| Base DN  | `dc=company,dc=local`                        |
| Bind DN  | `uid=maiagent,ou=system,dc=company,dc=local` |

### Azure AD（Entra ID） <a href="#azure-ad-entra-id" id="azure-ad-entra-id"></a>

Azure AD 自体は LDAP ポートを提供していませんが、Azure の有料アドオンである **Azure AD Domain Services（AADDS）** を使用すると、LDAP インターフェースを利用できます。組織で Azure AD を使用している場合は、次のいずれかの方法を選択できます。

| 目的              | 推奨方法                                                                                                |
| --------------- | --------------------------------------------------------------------------------------------------- |
| ユーザーの同期         | AADDS を有効にし、AADDS を LDAP サーバーとして入力します（フィールド形式は Microsoft AD と同じです）                                  |
| ログイン認証          | [サードパーティログイン（SSO）](/maiagent-user-guide/ja/org/sso.md)を SAML / OAuth と組み合わせて直接使用します。LDAP Bind は不要です |
| オンプレミス AD もある場合 | Microsoft AD として直接接続します。AADDS は不要です                                                                 |

{% hint style="info" %}
従業員が Azure AD アカウントで MaiAgent に**ログイン**できればよく、ユーザーデータを同期する必要がない場合は、[サードパーティログイン（SSO）](/maiagent-user-guide/ja/org/sso.md)のドキュメントを参照してください。この ID 同期ガイドは不要です。
{% endhint %}

## 次のステップ <a href="#next-steps" id="next-steps"></a>

* [サードパーティログイン（SSO）](/maiagent-user-guide/ja/org/sso.md) — 併用すると、従業員が企業アカウントで直接ログインできます
* [ロール権限管理](/maiagent-user-guide/ja/org/roles/role-permission.md) — グループマッピングに対応するロールの権限範囲をこのページで設定します
* [メンバー管理](/maiagent-user-guide/ja/org/member.md) — LDAP で同期したメンバーと手動で招待したメンバーを含む、組織のすべてのメンバーを確認します


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation by asking a question.

Perform an HTTP GET request on the following URL with the `ask` and `goal` query parameters:

```
GET https://docs.maiagent.ai/maiagent-user-guide/ja/org/identity-sync.md?ask=<question>&goal=<user_goal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is what the user is ultimately trying to achieve, the reason they need the answer. Sharing it helps GitBook give you a better, more relevant answer. A goal is most helpful when it describes the outcome the user wants rather than restating the question. For example, with `ask=how do I create an API token`, a goal like `automate deployments from our CI pipeline` lets GitBook tailor the answer to that use case.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
