Azure Entra
LibreChatでユーザー認証にAzure Entraを使用するように設定する方法を学びます。
- Azure Portal にアクセスし、アカウントでサインインします。
- 検索ボックスに「Azure Entra」と入力し、それをクリックします。
- 左側のメニューで「App registrations」をクリックし、次に「New registration」をクリックします。
- アプリに名前を付け、プラットフォームの種類として Web を選択します。
- Redirect URI フィールドに、LibreChat の OpenID コールバック URL を入力し、Register をクリックします。ローカルの Docker インストールの場合は、
http://localhost:3080/oauth/openid/callbackを使用してください。デプロイ済みのインスタンスの場合は、http://localhost:3080を公開されているDOMAIN_SERVERの値に置き換えてください(例:https://chat.example.com/oauth/openid/callback)。
- アプリに関する情報が記載された「概要 (Overview)」ページが表示されます。「アプリケーション (クライアント) ID (Application (client) ID)」と「ディレクトリ (テナント) ID (Directory (tenant) ID)」をコピーして、どこかに保存してください。
- 左側のメニューで「Authentication」をクリックし、「Implicit grant and hybrid flows」の下にある「Access tokens」と「ID tokens」のチェックボックスをオンにします。
- 左側のメニューで「Certificates & secrets」をクリックし、「New client secret」をクリックします。シークレットに名前と有効期限を付け、「Add」をクリックします。Value列にシークレットが表示されます。それをコピーしてどこかに保存してください。誰にも共有しないでください!
- グループごとにアクセスを制限したい場合は、トークンに groups クレームを追加する必要があります。これを行うには、Token configuration に移動し、Add group claim をクリックします。トークンに含めるグループを選択し、Add をクリックしてください。
- プロジェクトフォルダー内の .env ファイルを開き、コピーした値を以下の変数に追加してください:
Azureに登録するリダイレクトURIは、LibreChatが提供するURLと完全に一致している必要があります。DOMAIN_SERVER=https://chat.example.com の場合、Azureでは https://chat.example.com/oauth/openid/callback を使用する必要があります。
- .env ファイルを保存します
注: Dockerを使用している場合は、
docker compose up -dを実行して .env の設定変更を適用してください。
高度な設定: トークンの再利用
LibreChatは、セッション管理のためにAzure Entra IDトークンの再利用をサポートしており、これによりAzure環境とのより優れた統合が可能になります。この機能により、LibreChatは独自のセッショントークンを管理する代わりに、Azureのリフレッシュトークンを使用できるようになります。
この機能の詳細および設定方法については、Re-use OpenID Tokens for Login Session を参照してください。
上級編: Microsoft Graph API 統合
Azure Entra IDをOpenIDプロバイダーとして使用する場合、Microsoft Graph API統合を有効にすることで、ユーザーやグループの検索機能による権限および共有システムを強化できます。
前提条件
- Azureアプリの登録には、適切なMicrosoft Graph API権限が必要です。
- 特定の Graph API スコープ(
GroupMember.Read.Allなど)には、管理者の同意が必要になる場合があります。
Graph API 権限の追加
- Azureアプリの登録で、API permissions に移動します。
- Add a permission > Microsoft Graph > Delegated permissions をクリックします。
- 以下の権限を追加してください:
User.Read- サインインしてユーザープロフィールを読み取るPeople.Read- ユーザーの連絡先を読み取るGroupMember.Read.All- すべてのグループメンバーシップを読み取るUser.ReadBasic.All- すべてのユーザーの基本プロファイルを読み取る
- 必要に応じて Grant admin consent をクリックします(管理者権限が必要です)。
設定
必須: トークンの再利用を有効にする
.env ファイルに以下の環境変数を追加してください:
有効にすると、権限および共有ダイアログのユーザー選択機能は以下のようになります:
- ローカルのLibreChatユーザーとAzure Entra IDユーザーの両方を検索します
- 組織内の名前とメールアドレスを含むユーザープロフィールを表示します
- Azure Entra ID グループの検索と選択を許可する
- Graph APIの権限に基づいてグループメンバーを表示する
注記
- この機能が動作するためには、トークンの再利用 (
OPENID_REUSE_TOKENS=true) が必須です。 OPENID_GRAPH_SCOPESは、認証中に既存のOPENID_SCOPEへ自動的に追加されます。- グループ検索には
GroupMember.Read.All権限が必要であり、通常は管理者の同意が必要です。 - ユーザー検索は、基本的な
User.Read、People.Read、およびUser.ReadBasic.All権限で動作します。
高度な設定: SharePoint 統合
LibreChatはSharePoint OnlineおよびOneDrive for Businessと統合でき、ユーザーはSharePointライブラリから直接ファイルを閲覧および添付することができます。
前提条件
- Token Reuse のすべての要件を満たす必要があります。
- Azure アプリ登録には、追加の SharePoint 権限が必要です
- Azureアプリの登録では、
api://<client-id>/access_as_userのようなLibreChat APIスコープを公開し、付与する必要があります。
SharePoint権限の追加
- Azureアプリの登録で、API permissions に移動します。
- Add a permission をクリックします
SharePoint アクセス用:
- SharePoint(Microsoft Graph ではありません)を選択してください
- Delegated permissionsを選択します
- 追加:
AllSites.Read- すべてのサイトコレクション内のアイテムを読み取る
ファイルのダウンロードについて:
-
もう一度 Add a permission をクリックします
-
Microsoft Graph を選択します
-
Delegated permissionsを選択します
-
追加:
Files.Read.All- ユーザーがアクセス可能なすべてのファイルを読み取る -
両方の権限に対して Grant admin consent をクリックします。
設定
SharePoint変数を有効にする前に、OpenIDトークンの再利用設定がLibreChatアプリのAPIスコープを要求していることを確認してください。これにより、AzureはSharePointおよびGraphトークン交換の代理(on-behalf-of)アサーションとして使用できるアプリオーディエンスアクセストークンを発行します。
使用方法
適切に設定されている場合:
- ユーザーはファイル添付メニューに「From SharePoint」オプションが表示されるようになります。
- クリックすると、ネイティブのSharePointファイルピッカーが開きます。
- ユーザーは、アクセス権を持つ任意のSharePointサイトやOneDriveからファイルを閲覧および選択できます。
- 選択されたファイルがダウンロードされ、会話に添付されます
セキュリティに関する注意点
SharePoint統合は、既存のすべてのSharePoint権限を尊重します。ユーザーは、SharePoint/OneDrive上で閲覧権限を持っているファイルにのみアクセスできます。
詳細なトラブルシューティングおよび高度な設定については、SharePoint Integration Guide を参照してください。
このガイドはいかがでしたか?