> 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/maiagent-user-guide-ja/org/sso.md).

# サードパーティログイン（SSO）

企業シングルサインオン（Single Sign-On, SSO）機能により、従業員は会社既存のアカウントシステムを使って MaiAgent プラットフォームにログインでき、新しいアカウントやパスワードを別途覚える必要がありません。企業の本人認証システムと連携することで、従業員は会社のシステムに一度ログインするだけで MaiAgent のすべての機能にシームレスにアクセスでき、ログインフローを大幅に簡素化しながらセキュリティを向上させます。

{% hint style="info" %}
外部ログイン（SSO）は **エンタープライズ版** 専用機能です。有効化をご希望の場合は、MaiAgent 営業チームへご連絡のうえエンタープライズプランへのアップグレードをご依頼ください。
{% endhint %}

## 利用シーン <a href="#use-cases" id="use-cases"></a>

1. **大規模企業への導入**：100 名以上の従業員が MaiAgent を利用する必要がある会社で、SSO 連携によりアカウントを一つひとつ作成する手間を回避します
2. **権限の一元管理**：すべての従業員の役割と権限を、会社の本人認証システム上で一元的に管理したい場合
3. **セキュリティ要件**：金融・医療など情報セキュリティを重視する業界で、従業員によるすべてのシステムへのアクセスに企業認証を必須とする場合
4. **複数システムの統合**：会社がすでに複数の SaaS サービスを利用しており、従業員が同じアカウントとパスワードですべてのシステムにログインできるようにしたい場合
5. **退職管理**：従業員が退職する際、企業側でアカウントを無効化するだけで、同時に MaiAgent へのアクセス権限も取り消すことができます

## 外部ログイン設定を開く <a href="#enter-sso-settings" id="enter-sso-settings"></a>

1. 左側メニューから <mark style="color:blue;">組織設定</mark> > <mark style="color:blue;">組織概要</mark> を選択します
2. <mark style="color:blue;">外部ログイン設定</mark> ボタンをクリックします
3. 認証ソース設定ページに入り、認証タイプを選択します

{% hint style="warning" %}
外部ログイン設定を変更できるのは、組織の **オーナー（Owner）** のみです。設定ボタンが表示されない場合は、ご自身の役割と権限をご確認ください。
{% endhint %}

## 対応する認証タイプ <a href="#supported-auth-types" id="supported-auth-types"></a>

MaiAgent は 4 種類の認証方式を提供しており、企業のニーズに応じて最適なプランを選択できます。

| 認証タイプ                                                                               | 説明                                | 適用シーン                                           |
| ----------------------------------------------------------------------------------- | --------------------------------- | ----------------------------------------------- |
| **MaiAgent**（デフォルト）                                                                 | MaiAgent 内蔵のアカウントとパスワードを使用        | 小規模チーム、企業 SSO 不要な場合                             |
| [**SAML**](/maiagent-user-guide/maiagent-user-guide-ja/org/sso/sso-saml.md)         | SAML 2.0 の ID プロバイダー（IdP）と連携      | Azure AD、Okta、Google Workspace などの IdP を構築済みの場合 |
| [**EIP**](/maiagent-user-guide/maiagent-user-guide-ja/org/sso/sso-eip.md)           | 企業情報ポータル。API 経由で企業認証システムと連携       | 自社構築の本人認証システム、柔軟な連携が必要な場合                       |
| [**Keycloak**](/maiagent-user-guide/maiagent-user-guide-ja/org/sso/sso-keycloak.md) | オープンソースの本人認証プラットフォーム Keycloak と連携 | Keycloak で ID 統合管理を行う企業                         |

設定ページに入ると、4 種類の認証タイプがカード形式のメニューで表示されます。現在使用中の認証タイプには緑色の「使用中」バッジが表示されます。対象の認証タイプをクリックすると、対応する設定フォームが展開されます。

<figure><img src="/files/rNxdm5vIQ2cGo2XllbKx" alt="外部ログイン設定"><figcaption><p>外部ログイン設定ページ。さまざまな認証方式を選択できます</p></figcaption></figure>

各認証タイプの詳細な設定手順については、以下をご参照ください。

* [SAML 連携](/maiagent-user-guide/maiagent-user-guide-ja/org/sso/sso-saml.md)
* [EIP 連携](/maiagent-user-guide/maiagent-user-guide-ja/org/sso/sso-eip.md)
* [Keycloak 連携](/maiagent-user-guide/maiagent-user-guide-ja/org/sso/sso-keycloak.md)

## 認証ソース名の命名規則 <a href="#auth-source-naming-rules" id="auth-source-naming-rules"></a>

どの外部認証タイプを選択する場合でも、**認証ソース名** を設定する必要があります。この名前には以下のルールがあります。

* 使用できるのは **小文字の英字**、**数字**、**ハイフン（-）**、**アンダースコア（\_）** のみです
* 最大 **31 文字** までです
* システム全体で **一意** である必要があります（大文字・小文字を区別しません）
* 予約名 `maiagent` は使用できません

{% hint style="info" %}
認証ソース名はシステム URL の一部として使用されます（SAML の Entity ID や ACS URL など）。設定後に変更する場合は、ID プロバイダー側の設定も合わせて更新する必要があります。御社の英語略称を名前として使用することをおすすめします。
{% endhint %}

## ユーザーのログインフロー <a href="#user-login-flow" id="user-login-flow"></a>

### 初回ログイン <a href="#first-login" id="first-login"></a>

従業員が初めて SSO 経由で MaiAgent にログインする場合：

1. SSO ログインリンク（Login URL）をクリックします
2. システムが企業の本人認証ページ（IdP / EIP / Keycloak）へ遷移します
3. 企業側で本人認証を完了します
4. 認証成功後、自動的に MaiAgent へ戻ります
5. システムがその従業員の MaiAgent アカウントを自動的に作成し、表示名と認証ソースを設定します
6. 役割情報（EIP）がある場合は、対応する役割と権限が自動的に適用されます
7. 従業員が MaiAgent 管理画面に入ります

### 2 回目以降のログイン <a href="#subsequent-login" id="subsequent-login"></a>

1. 企業システムの Session がまだ有効な場合は、そのまま MaiAgent に入れることがあります（IdP の設定によります）
2. Session が失効している場合は、企業側で再度認証が必要です
3. ログインのたびにユーザー情報（名前、認証ソース）が自動的に更新されます
4. EIP ログインでは役割の割り当ても同期更新されます

### ログアウト時の挙動 <a href="#logout-behavior" id="logout-behavior"></a>

| 認証タイプ                                                                           | MaiAgent からログアウトしたとき                           | 企業側でログアウトしたとき                  |
| ------------------------------------------------------------------------------- | ---------------------------------------------- | ------------------------------ |
| [SAML](/maiagent-user-guide/maiagent-user-guide-ja/org/sso/sso-saml.md)         | MaiAgent の Session を終了し、同時に IdP へ SLO リクエストを送信 | 連携済みのすべての SP がログアウト通知を受け取ります   |
| [EIP](/maiagent-user-guide/maiagent-user-guide-ja/org/sso/sso-eip.md)           | MaiAgent の Session のみを終了                       | 企業側の設定に依存します                   |
| [Keycloak](/maiagent-user-guide/maiagent-user-guide-ja/org/sso/sso-keycloak.md) | MaiAgent の Session を終了 + Keycloak Token を失効    | Keycloak 側の Session も同期して終了します |

## 権限管理 <a href="#permission-management" id="permission-management"></a>

### 役割の同期の仕組み <a href="#role-sync-mechanism" id="role-sync-mechanism"></a>

| 機能        | [SAML](/maiagent-user-guide/maiagent-user-guide-ja/org/sso/sso-saml.md) | [EIP](/maiagent-user-guide/maiagent-user-guide-ja/org/sso/sso-eip.md) | [Keycloak](/maiagent-user-guide/maiagent-user-guide-ja/org/sso/sso-keycloak.md) |
| --------- | ----------------------------------------------------------------------- | --------------------------------------------------------------------- | ------------------------------------------------------------------------------- |
| ユーザーの自動作成 | 初回ログイン時                                                                 | 初回ログイン時                                                               | 初回ログイン時                                                                         |
| 役割の自動同期   | 非対応                                                                     | 対応（毎回ログイン時）                                                           | 非対応                                                                             |
| 同期ポリシー    | -                                                                       | 完全置換                                                                  | -                                                                               |
| 役割のソース    | MaiAgent で手動割り当て                                                        | EIP が返す groupIds                                                      | MaiAgent で手動割り当て                                                                |

### MaiAgent 側の追加設定 <a href="#maiagent-additional-settings" id="maiagent-additional-settings"></a>

どの SSO 認証タイプを使用する場合でも、MaiAgent 管理者は以下を行えます。

1. 同期された役割に対して、アクセス可能な AI アシスタント、ナレッジベースなどのリソースを設定する
2. 役割の権限範囲を調整する
3. ユーザーに追加の MaiAgent ローカル役割を手動で付与する

{% hint style="info" %}
EIP の役割自動同期を使用する場合は、あらかじめ MaiAgent 内で役割と権限を作成・設定しておくことをおすすめします。そうすることで、従業員のログイン時に正しい権限がそのまま引き継がれます。
{% endhint %}

### 権限の更新タイミング <a href="#permission-update-timing" id="permission-update-timing"></a>

| タイミング       | 説明                               |
| ----------- | -------------------------------- |
| SSO ログインのたび | ユーザー名、認証ソースを更新。EIP は役割を同期        |
| 手動調整        | 管理者が MaiAgent 管理画面で役割の割り当てを手動で変更 |

## 認証タイプの切り替え <a href="#switch-auth-type" id="switch-auth-type"></a>

MaiAgent は異なる認証タイプ間での切り替えに対応しています。切り替える際は以下にご注意ください。

### MaiAgent から外部認証へ切り替える <a href="#switch-to-third-party-auth" id="switch-to-third-party-auth"></a>

* システムが新しい認証ソース設定を作成します
* 既存ユーザーの認証ソースはすぐには変更されず、次回新しい SSO 方式でログインしたときに自動的に更新されます
* その組織は、当該認証ソースのデフォルト組織としてマークされます

### 外部認証から MaiAgent へ切り替え戻す <a href="#switch-back-to-maiagent" id="switch-back-to-maiagent"></a>

* SSO 経由で作成されたすべてのユーザーが MaiAgent デフォルト認証へ再度ひも付けられます
* 古い外部認証ソースの設定は削除されます
* ユーザーは MaiAgent のアカウントとパスワードでログインする必要があります（パスワードの再設定が必要になる場合があります）

### 外部認証どうしで切り替える <a href="#switch-between-third-party" id="switch-between-third-party"></a>

* 古い認証設定がクリアされ、新しい設定が適用されます
* ユーザーは新しい SSO 方式でログインする必要があります

{% hint style="warning" %}
認証タイプの切り替えは重要な操作です。新しい認証設定が企業側で完了し、テストに合格していることを確認してから実行してください。保存時にシステムが確認ダイアログを表示しますので、注意事項をよくお読みください。
{% endhint %}

## セキュリティに関する考慮事項 <a href="#security-considerations" id="security-considerations"></a>

### 通信の安全性 <a href="#transport-security" id="transport-security"></a>

* すべての認証フローは HTTPS で暗号化されて通信されます
* SAML レスポンスは XML 署名の検証に対応しています
* Keycloak 連携では JWT Token による検証を使用します
* MaiAgent は企業側のパスワード情報を保存しません

### アクセス制御 <a href="#access-control" id="access-control"></a>

* 企業認証を通過した従業員のみが SSO 経由でログインできます
* 従業員の退職時は、企業側でアカウントを無効化するだけで MaiAgent のアクセス権限を取り消せます
* 認証ソースの設定は組織オーナーのみが操作できます
* 外部認証機能はエンタープライズ版プランでのみ使用できます

## トラブルシューティング <a href="#troubleshooting" id="troubleshooting"></a>

### ログイン失敗 <a href="#login-failure" id="login-failure"></a>

**問題：SSO ログインをクリックするとエラーメッセージが表示される**

| 考えられる原因                    | 解決方法                                        |
| -------------------------- | ------------------------------------------- |
| IdP / EIP の設定が誤っている        | MaiAgent 管理画面に入力した URL が正しいか確認します           |
| SP 情報が IdP 側に正しく設定されていない   | Entity ID と ACS URL が IdP に正しく入力されているか確認します |
| ユーザーが企業アプリケーションに割り当てられていない | IdP 側でユーザーをアプリケーションのユーザー一覧に追加します            |
| SAML レスポンスに Email 属性が欠けている | IdP 側で Email Claim を送信する設定があるか確認します         |
| 認証ソース名が一致しない               | MaiAgent で設定した名前と URL 内の名前が一致しているか確認します     |
| エンタープライズ版プランではない           | 組織がエンタープライズ版にアップグレード済みか確認します                |

### 役割が正しく同期されない（EIP） <a href="#role-sync-failure-eip" id="role-sync-failure-eip"></a>

**問題：ログイン後に想定した役割の権限がない**

1. EIP サーバーが返す `groupIds` の内容が正しいか確認します
2. `groupIds` 内の役割 ID が MaiAgent 内に作成済みか確認します
3. `groupIds` に DEFAULT タイプの役割を含めていないか確認します（システムが自動的に適用します）
4. 一度ログアウトしてから再度ログインしてみます

### ユーザー情報が更新されない <a href="#user-info-not-updated" id="user-info-not-updated"></a>

**問題：企業側でデータを変更した後も MaiAgent に古いデータが表示される**

1. MaiAgent からログアウトして再度ログインします（SSO ログイン時に自動的に更新されます）
2. ブラウザのキャッシュをクリアします
3. IdP / EIP 側が最新のユーザー情報を正しく返しているか確認します

### 設定ページに「エンタープライズ版専用機能」と表示される <a href="#enterprise-only-feature-notice" id="enterprise-only-feature-notice"></a>

**問題：認証タイプの設定フォームが表示されない**

この機能にはエンタープライズ版プランが必要です。MaiAgent 営業チームへご連絡のうえプランをアップグレードしてください。

### 設定を保存できない <a href="#cannot-save-settings" id="cannot-save-settings"></a>

**問題：保存をクリックするとエラーが表示される**

1. すべての必須項目が入力されているか確認します
2. 認証ソース名がフォーマット要件（小文字の英数字 + ハイフン）を満たしているか確認します
3. 認証ソース名が他の組織と重複していないか確認します
4. URL 項目のフォーマットが正しいか確認します（`https://` を含む）

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

**Q：SSO 連携にはどのくらいの時間がかかりますか？**\
A：MaiAgent 管理画面での設定はすぐに完了できます。全体の所要時間は企業側の設定準備によります。企業側の情報がすべて整っていれば、通常は数時間以内に連携とテストを完了できます。

**Q：SSO を有効化した後も、既存の一般アカウントは使用できますか？**\
A：使用できます。SSO を有効化しても一般アカウントのログインは自動的に無効化されません。ただしセキュリティの観点から、一般ログイン方式を無効化するかどうかを MaiAgent チームと相談することをおすすめします。

**Q：従業員の退職後、MaiAgent でアカウントを手動で削除する必要がありますか？**\
A：必要ありません。企業側でその従業員のアカウントを無効化するだけで、その従業員は SSO 経由で MaiAgent にログインできなくなります。

**Q：一部の従業員は SSO、一部は一般のアカウントとパスワードを使用することはできますか？**\
A：できます。システムは混在ログインモードに対応しています。たとえば正社員は SSO、外部コンサルタントは一般のアカウントとパスワードを使用する、といった運用が可能です。

**Q：SSO 連携には追加費用がかかりますか？**\
A：SSO 連携はエンタープライズ版機能です。お使いのプランにエンタープライズ機能がすでに含まれている場合は、追加費用は不要です。プランの詳細は営業チームへお問い合わせください。

**Q：1 つの組織で複数の SSO 方式を同時に設定できますか？**\
A：現在、各組織で設定できる認証タイプは 1 種類のみです。切り替えが必要な場合は、管理画面で直接変更できます。

**Q：EIP の役割同期はどのように動作しますか？**\
A：EIP でログインすると、システムが EIP の返す役割一覧（`groupIds`）を読み取り、自動的に MaiAgent へ同期します。ログインのたびに同期が行われ、完全置換ポリシー（EIP が返す役割を基準とする）を採用することで、権限が企業側と一致した状態を保ちます。

**Q：Keycloak 連携で、仮想 Email は送信に使用されますか？**\
A：使用されません。仮想 Email（`{username}@{email_domain}`）は MaiAgent システム内部でユーザーを一意に識別する用途のみに使用され、実際の Email 送信には使用されません。

**Q：SAML の SP 情報が正しいかどうかをどう確認すればよいですか？**\
A：MaiAgent 管理画面で認証ソース名を入力すると、SP 情報（Entity ID、ACS URL）が設定ページに自動的に表示されますので、そのままコピーしてご利用いただけます。

## 関連情報 <a href="#further-reading" id="further-reading"></a>

* 役割と権限の詳細な設定については、[役割と権限の管理](/maiagent-user-guide/maiagent-user-guide-ja/org/role-permission.md) をご参照ください
* 組織管理機能については、[組織管理](/maiagent-user-guide/maiagent-user-guide-ja/org/organization.md) をご参照ください


---

# 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 dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

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

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

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.
