Open LMS 用の Moodle LMS プラグインを設定して構成する

この記事では、Moodle LMS プラグインをインストールして構成し、Microsoft Teams と Open LMS エクスペリエンスを統合する方法について説明します。

前提条件

インストールされている Open LMS を設定して、Microsoft Teams と連携するように構成するには:

Microsoft 365 プラグインと Microsoft サービス間の接続を構成する

連携する前に、Microsoft 365 プラグインと Microsoft サービス間の接続を構成する必要があります。

注:

統合の構成中は、プロセス全体を通じてこれらのページに戻る必要があるため、Microsoft 365 統合構成ページは別のブラウザー タブで開いたままにします。

OpenID Connect 認証プラグインを有効にする

Moodle プラグインが Microsoft サービスと通信するには、OpenID Connect 認証プラグインをオンにして構成する必要があります。

  1. [サイト管理>プラグイン認証] に移動し、[認証>管理] を選択します。
  2. OpenID Connect 認証プラグインを見つけて、目のアイコンを選択して有効にします。
  3. プラグインの [設定] を選択して、 承認 エンドポイントと トークン エンドポイントを確認します。
    1. 既定値は次のとおりです。
      1. 承認エンドポイント: https://login.microsoftonline.com/common/oauth2/authorize
      2. トークン エンドポイント: https://login.microsoftonline.com/common/oauth2/token
  4. 後で使用するために リダイレクト URI を 記録します。

注:

すべての Open LMS ユーザーが認証方法として OpenID Connect 認証プラグインを使用する必要はありません。ただし、他の認証方法を使用する場合は、Teams の所有権とメンバーシップの同期など、Teams 統合で特定の機能を使用する前に、対応する Microsoft アカウントに Open LMS アカウントを 接続 する必要があります。

前提 条件

PowerShell スクリプトを使用して、Microsoft Entra IDで Open LMS をアプリケーションとして登録します。 スクリプトでは、次の項目がプロビジョニングされます。

  • Microsoft 365 Moodle プラグインで使用される、Microsoft 365 テナント用の新しいMicrosoft Entra アプリケーション。
  • Microsoft 365 テナントのアプリは、プロビジョニングされたアプリに必要な応答 URL とアクセス許可を設定し、 と KeyAppID返します。
  • Windows ではないオペレーティング システムでは、手動のプロセスに従って Azure で Open LMS インスタンスを登録する必要があります。 詳細については、以下の 「重要な アラート」セクションを参照してください。

重要

Open LMS インスタンスを手動で登録する方法の詳細については、「 Open LMS インスタンスをアプリケーションとして登録する」を参照してください。

アプリを登録したら、すべての Azure アプリのアクセス許可が適用されていることを確認します。 詳細については、「 Azure アプリのアクセス許可」を参照してください。

PowerShell を使用して Azure にアプリケーションを登録する

手順 1: Azure アプリを作成する

  1. [サイト管理>プラグイン] [ローカル プラグイン>] の順に移動し、[Microsoft 365 統合] を選択します。 これにより、Microsoft 365 統合構成ページが開きます。

  2. [Microsoft 365 統合構成] ページで、[ セットアップ ] タブを選択します。

  3. [ PowerShell スクリプトのダウンロード ] ボタンを選択し、ローカル コンピューターに ZIP フォルダーとして保存します。

    注:

    スクリプトを実行すると、Microsoft 365 テナントに新しいMicrosoft Entra アプリケーションが作成されます。これにより、必要な応答 URL とアクセス許可が設定され、必要なアクセス許可が付与され、 と KeyAppID返されます。

    このスクリプトは、Windows ではないオペレーティング システムでは PowerShell では機能しません。

  4. 次のように、ZIP ファイルから PowerShell スクリプトを準備します。

    1. ファイルをダウンロードして抽出します Moodle-AzureAD-Powershell.zip
    2. 抽出したフォルダーを開きます。
    3. ファイルを Moodle-AzureAD-Script.ps1 右クリックし、[プロパティ] を選択 します
    4. プロパティ ウィンドウの [全般] タブで、ウィンドウのUnblock下部にある [セキュリティ] 属性の横にあるチェック ボックスをオンにします。
    5. [OK] を選択します。
    6. 抽出したフォルダーにディレクトリ パスをコピーします。
  5. 管理者として PowerShell を実行します。

    1. Windows で、スタート メニューを開きます。
    2. 種類 PowerShell
    3. Windows PowerShellを右クリックします。
    4. [ 管理者として実行] を選択します。
  6. ディレクトリへのパスは、 を.../...入力cd .../.../Moodle-AzureAD-Powershellして、解凍したディレクトリに移動します。

  7. PowerShell スクリプトを実行します。

    1. ./Moodle-AzureAD-Script.ps1 を入力します。
    2. メッセージが表示されたら、ポップアップ ウィンドウで Microsoft 365 管理者アカウントにサインインします。
    3. メッセージが表示されたら、Microsoft Entra アプリケーションの名前を入力します。 たとえば、LMS、Moodle、Moodle のいずれかのプラグインを開きます。
    4. メッセージが表示されたら、Open LMS サーバーの URL を入力します。
    5. メッセージが表示されたら、OpenID Connect 認証プラグインの構成ページからコピーした応答 URL を入力します。 これは、Open LMS サイトの URL の後に が \auth\oidc\続きます。
    6. プロセスのポップアップ ウィンドウで、Microsoft 365 アカウントに再度サインインするように求められる場合があります。 これは、organizationのアプリに追加されたアクセス許可に対して管理者の同意を提供するためです。
    7. スクリプトの実行が完了したら、スクリプトによって生成された アプリケーション ID (AppID)Application Key(Key) をコピーして保存します。

手順 2: OpenID Connect で Azure アプリの詳細を設定する

  1. OpenID Connect 認証プラグインの構成ページに戻ります。
  2. AppID[アプリケーション ID] ボックスに値を貼り付け、値を Key[キー] ボックスに貼り付けて、[変更の保存] を選択します。

手順 3: Microsoft プラグインと Microsoft サービス間の接続を構成する

  1. [Microsoft 365 統合構成] ページで、[ セットアップ ] タブを選択します。
  2. [ 接続方法の選択] で、[ アプリケーション アクセス] を選択し、もう一度 [ 変更の保存 ] を選択します。
  3. ページが更新されると、追加情報 & 同意管理別の新しいセクションが表示されます。
    1. [同意管理指定] リンクを選択し、Microsoft 365 全体管理者の資格情報を入力し、[同意] を選択してアクセス許可を付与します。
    2. [Microsoft Entra テナント] フィールドの横にある [検出] ボタンを選択します。
    3. OneDrive for Business URL の横にある [検出] ボタンを選択します。
    4. フィールドが設定されたら、[変更の 保存 ] ボタンをもう一度選択します。
  4. [ 更新 ] ボタンを選択して、インストールを確認します。 この段階でエラーが報告されない場合は、Microsoft プラグインが Microsoft Graph API を介して Microsoft サーバーと通信できることを意味します。

手順 4: ユーザーとコースの同期を構成する

  1. Open LMS サーバーとMicrosoft Entra IDの間でユーザーを同期します。 環境に応じて、このステージでさまざまなオプションを選択できます。 次の手順をお試しください。

    1. Microsoft 365 統合構成ページで、[ 同期設定] タブを選択します。

    2. [Microsoft Entra IDとユーザーを同期する] 設定で、環境に適用されるチェック ボックスをオンにします。 次のオプションを選択する必要があります。
      ✔ Microsoft Entra IDのユーザー向けの Open LMS でアカウントを作成します。 ✔ Microsoft Entra IDのユーザーに対して Open LMS のすべてのアカウントを更新します。

    3. [ユーザー作成の制限] セクションでは、フィルターを設定して、同期するユーザー Microsoft Entraを Open LMS に制限できます。

      注:

      ユーザー同期を有効にする必要はありません。ただし、Open LMS ユーザーと Microsoft 365 アカウントの接続がはるかに簡単になります。

      ユーザー同期は、スケジュールされたタスクを使用してユーザーを同期Microsoft Entra ID実行することによって実行されます。

  2. [ コース同期 ] セクションでは、[ コース同期のカスタマイズ ] オプションを選択して、既存の Open LMS コースの一部またはすべてについて Teams の自動作成を有効にすることができます。

    注:

    コースの同期は、 Moodle コースを Microsoft Teams のスケジュールされたタスクに同期することによって実行されます。

  3. 変更を保存します。

  4. 同期構成を検証するには、スケジュールされたタスクを初めて手動で実行する必要があります。 [サイト管理>] [サーバータスク] [スケジュールされたタスク]> の順に移動します>。

    1. 下にスクロールして、[ユーザーをMicrosoft Entra IDで同期する] タスクを見つけて、[今すぐ実行] を選択します。
      1. これにより、ユーザーの同期オプションに従って、Microsoft Entraユーザーが Open LMS サイトに同期されます。
    2. 次に、[ Moodle コースを Microsoft Teams に同期 する] タスクを見つけて、[ 今すぐ実行] を選択します。
      1. このタスクでは、同期オプションがオンになっているすべての Open LMS コースのグループと、チーム所有者がコースで見つかった場合は Teams を作成します。
      2. このタスクでは、コースに登録されている Open LMS ユーザーも、所有者またはメンバーとして Teams に同期されます。
        1. チーム 所有者 は、次のすべての条件を満たす Open LMS ユーザーです。
          1. は Microsoft 365 アカウントに接続されています。
          2. はコースに登録されています。
          3. には、 local/o365:teamowner コース コンテキストの機能があります。
        2. 同様に、チーム メンバー は、次のすべての条件を満たす Open LMS ユーザーです。
          1. は Microsoft 365 アカウントに接続されています。
          2. はコースに登録されています。
          3. には、 local/o365:teamember コース コンテキストの機能があります。
        3. 既定の 教師 ロールには local/o365:teamowner 機能があり、既定の Student ロールには機能があります local/o365:teammember

注:

スケジュールされたタスクは Moodle Cron によってトリガーされます。これは、頻繁に実行するように構成する必要があります。 スケジュールされた各タスクには既定のスケジュールを設定でき、カスタマイズできます。

  • [ユーザーと Microsoft Entra ID 同期] タスクの既定のスケジュールは、1 分ごとにです。
  • [Moodle コースを Microsoft Teams に同期する] タスクの既定のスケジュールは、Open LMS サーバーの既定のタイム ゾーンで毎日午前 1 時です。

プラグインをインストールして構成した後、次のことができます。

Moodle プラグインの追加ドキュメント

Open LMS の Microsoft 365 統合ガイドとリリース ノートを確認する場合は、次のリソースを参照してください。