School Data Sync の概要
School Data Sync
School Data Sync (SDS) は、学生情報または管理システムのユーザーと名簿データを Microsoft 365 と同期するプロセスを自動化するのに役立つ、教育機関向けの無料サービスです。 SDS は、教育organization、ユーザー、クラス、ロールを管理するのに役立つツールです。 SDS では、Microsoft Entra IDと Microsoft 365 とデータが同期されるため、Microsoft Teams、教育用Intune、Exchange Online、SharePoint Online、OneNote Class ノートブックを使用し、シングル サインオン統合を使用してサード パーティ製アプリを有効にすることができます。 SDS は、学習をより魅力的で効率的なものにするのに役立ちます。
SDS の前提条件
- テナントのMicrosoft 365 Education
- グローバル管理者のアクセス許可が必要
- SDS にアクセスするグローバル管理者には、SDS プラン 1 (A1) または SDS プラン 2 (A3/A5) ライセンスが必要です
SDS のコア概念
School Data Sync は、教育機関が学校データ同期を正常に設定して使用し、Microsoft 365 エクスペリエンスをグローバルに強化するのに役立つ、教育カスタマー サクセス チームのベスト プラクティスをモデル化します。 これらのベスト プラクティスを適用することで、オンボードと監視に関する IT 管理者のエクスペリエンスを向上させ、データの正常性の理解を深めるとともに、管理者が学習成果を向上させるためのイノベーションに集中するのに役立つ時間が増えると考えています。
オンボード エクスペリエンスは、データの接続とデータの管理に分割され、学習成果を向上させるシナリオが可能になります。
データの接続
まず、教育機関のデータに接続する必要があります。 学生情報システム (SMS) /学生管理システム (SMS) データの取り込みまたは接続方法を定義しています。 ここでは、ソース システム、受信データの形式、ユーザー ID 照合ルール、およびアクティブな学年を定義します。 既定では、同期は実行と呼ばれる 1 日に 2 回 (2 倍) アクティブになります。
実行が開始されると、定義されたソースに接続し、基本的な検証を実行します。 基本的な検証では、ソースとしての OneRoster API の接続が正しいか、ファイル名とヘッダーがソースとしての SDS CSV に対して正しいことを確認します。
次に、高度な検証に備えて、インポート用のデータが変換されます。
ソース システム/データにユーザーのorganizationロールの入力日付と終了日付が指定されていない場合、システムはレコードの存在または非存在に基づいて、入力日または終了日を推論しません。
ソース システム/データにユーザー登録の入力日と終了日が指定されていない場合、システムはレコードの存在または非存在に基づいて、入力日または終了データを推論しません。
ソース システム/データに、ユーザーの有効なorganization/登録/連絡先ロールが提供されていない場合、システムはユーザー レコードをシステムに追加しません。
ユーザーとセッションの関連付けは、organizationに関連付けられているロールに基づいています。
ユーザーとクラスの関連付けは、登録に関連付けられているロールに基づいています。これには、セッションへのリンクも含まれます。
さらに、システムはMicrosoft Entra IDの更新されたコピーをキャッシュに格納します。 Microsoft Entraのコピーは、SIS/SMS と Microsoft Entra ユーザー オブジェクト間のユーザー マッチングに役立ちます。 この段階では、一致リンクはユーザー オブジェクトMicrosoft Entra書き込まれません。
ユーザーが複数のロールを持つインスタンスでは、次のルールを使用して、ユーザー レコードとMicrosoft Entra ユーザー オブジェクトの間で使用するスタッフまたは学生の一致ルールを決定します。
さらに、システムはMicrosoft Entra IDの更新されたコピーをキャッシュに格納します。 Microsoft Entraのコピーは、SIS/SMS と Microsoft Entra ユーザー オブジェクト間のユーザー マッチングに役立ちます。 この段階では、一致リンクはユーザー オブジェクトMicrosoft Entra書き込まれません。
- isPrimary がすべての学生ロールに設定されている場合、スタッフ ロールへの関連付けが存在する場合でも、一致は学生ロールに基づいて行われます。
- isPrimary が任意のスタッフ ロールに設定されている場合、学生ロールへの関連付けが存在する場合でも、スタッフ ロールに基づいて一致が行われます。
- isPrimary がスタッフロールと学生ロールの両方に設定されている場合、スタッフロールに基づいて一致が行われます。
- isPrimary がロールに設定されていない場合 (特にスタッフロールと学生ロールの両方が混在している場合)、一致はスタッフロールに基づいています。
検証とデータ正常性
次に、SDS は高度な検証を実行して、データの正常性を判断します。 検証では、エラーや警告の特定に重点を置いています。 検証は、優れたデータを取り込み、悪いデータを保持するという概念に従います。
- エラーは、レコードが必要なデータに基づいて検証に合格せず、それ以上の処理から削除されたことを意味します
- 警告は、レコードの省略可能なフィールドの値が渡されなかったため、値がレコードから削除されたことを意味しますが、さらに処理するためにレコードが含まれていました。 エラーと警告は、データの正常性を理解するのに役立ちます。
検証に合格した適切なデータの場合、データがキャッシュ内の内部表現に格納されると、SDS によって最初に表示されたときに識別され、ユーザーの組織、ロールの関連付け、およびクラスの関連付けにリンクされたデータについては、セッションでアクティブとして識別されます。 今後の実行では、同じ接続データ ソースに対して、SDS はレコードがまだ表示されているかどうかを識別し、レコードの有無に基づいて、レコードをアクティブのままにするか、アクティブでなくなったとマークします。
データは、新しいレコードが初めて表示されたときに反映されます。 FirstSeenDateTime は、レコードが SDS によって最初に表示された時刻と、テーブル内のその行の作成データです。 これは、データが外部システムに追加された後にSDSがうまく実行された可能性があるため、SIS / SMSのレコードの作成日を意味するものではありません。
- SDS は、最初に表示された日付 (時刻) と最終変更日 (時刻) を現在に設定し、必要に応じてレコードを "セッションでアクティブ" としてマークして true にします。
データは、後続の実行で同じレコードが存在する場合に反映されます。 LastSeenDateTime は、SDS が最後に同期中のデータを見た瞬間です。
- SDS は、最初に表示された日付 (時刻) の値を保持し、最後に変更された日付 (時刻) を現在に設定し、"セッションでアクティブです" を true のままにします。
データは、同じレコードが後続の実行に存在しない場合に反映されます。 これは SIS/SMS からのレコードの削除日ではありませんが、SDS が同期中にレコードを最後に見た日時です。
- SDS では、最初に表示された日付 (時刻) と最後に変更された日付 (時刻) の値が保持され、必要に応じてレコードを "セッションでアクティブ" として false にマークします。
以降の実行、同じソース、および同じアカデミック セッションでデータが欠落している場合の、キャッシュ内のデータの一般的なデータ処理ルールを次に示します。
- 組織: 後続の実行時に見つからない場合、システムは何も実行せず、レコードは保持されます。
- ユーザー: 後続の実行時に見つからない場合、システムはロールと登録をorganizationユーザーに対して IsActiveInSession を False に設定します。
- ロール: 後続の実行時に見つからない場合、ユーザーのロールに対して IsActiveInSession が False に設定organization。
- アカデミック セッション: 後続の実行時に欠落している場合は、何も行わないとレコードが保持されます。
- クラス: 後続の実行時に欠落している場合、システムはセクション、セクション セッション、および登録に IsActiveInSession を False に設定します。
- 登録: 後続の実行時に見つからない場合、システムは登録のために IsActiveInSession を False に設定します。
- コース: 後続の実行時に欠落している場合、システムはコースの IsActiveInSession を "False" に設定します。
- 人口統計: 後続の実行時に欠落している場合、システムは何も実行せず、レコードは保持されます。
- ユーザー フラグ: 後続の実行時に見つからない場合、システムは何も実行せず、レコードは保持されます。
- リレーションシップ: 後続の実行時に不足している場合、システムは何も実行せず、レコードが保持されます。
"非アクティブ化" レコードのローリング更新があります。 たとえば、ユーザー レコードが存在しない場合、システムは既存の最初に表示された日付 (時刻) と最終変更日 (時刻) の値を保持します。 システムは、ユーザーの組織/ロールおよび登録レコードに対して "セッションでアクティブです" を false に設定します。
- 組織、ユーザー、セッションのレコードは時間の経過と同時に保持され、非アクティブ化されません。
- 前に説明したように、organizationする関連付けレコード、ユーザー レコード、セッション レコード、および関連付けレコード IsActiveInSession 状態のみが、一般的なデータ処理ルールに基づいて影響を受けます。
ソース データがユーザーのセクション登録レコードの提供を停止し、同じアカデミック セッション内で同じユーザーのセクション登録を提供すると、システムは既存のレコードを更新します。
各実行の最後に、データ正常性が決定されます。 エラーや警告がない場合、システムは管理者がデータ アクションを必要としないと判断します。 エラーや警告がある場合、システムはデータに問題が見つかったことを通知し、データの正常性を調査することをお勧めします。 エラーと警告の統計は、データの正常性への初期影響を提供するために生成されます。 管理者は、データの正常性を調査するときに、検出されたエラーと警告に基づく情報を含むログ ファイルをダウンロードできます。 管理者は、データ調査プロセスを開始して、ソース システム内のデータを修正できます。
- 実行状態
- 実行中: アクティブに実行
- 完了: エラーや警告なしで完了
- エラーで完了: 完了したが、エラーが見つかりました
- 警告で完了: 完了したが、警告のみが見つかりました
- エラー: システムによって取り消された実行
- カウント
- エラー: 発生したエラーの合計数。 エラーは、レコードが検証に合格せず、検証後に、処理前にレコード全体が削除されたことを意味します。 検証後にレコードを処理できなかった場合、カウントにはそのレコードも含まれます。
- 警告: 検出された警告の合計数。 警告は、レコード上のデータの 1 つ以上の部分が検証に合格しなかったことを意味します。 レコードのデータを含むフィールドは削除されましたが、残りのレコードと検証されたデータは、検証後の処理の前に残ります。
データ管理
SDS を使用して学習成果を向上させるためにデータを管理すると、Microsoft 365 の仮想教室の動的なプロビジョニングと名簿の更新が提供され、Teams、SharePoint、Exchange、OneNote Class Notebook などの Microsoft 365 グループ対応アプリの展開と導入が簡素化されます。 また、SDS は、簡素化された Microsoft 365 ID 管理、アプリ管理、デバイス管理を支援するために、教育機関、ユーザー、および IT グループのプロビジョニングも実行します。 SDS には、同期する SIS/SMS 値をMicrosoft Entra ID内に格納するオプションも用意されています。 Microsoft Entra IDへのプロビジョニングでは、Education API (アプリケーション プログラミング インターフェイス) と Microsoft Graph を使用して、サード パーティのアプリケーションで名簿情報を使用できるようにすることもできます。
接続データ構成を定義した直後、アクティブな初回実行時、または最初の実行が完了した後で、データの管理構成を設定できます。
- アクティブなアカデミック セッションに関連付けられたキャッシュ内のデータに基づいて、アクティブです。
- 接続データ構成時に定義された同期終了日を使用して、マネージド データの変更の実行を停止するタイミングも把握します。
- アカデミック セッションの移行と新しい同期終了日の定義の後、マネージド データ構成が再び開始されます。
さまざまな Microsoft 365 シナリオをサポートしながら、管理者のエクスペリエンスを簡素化するために、管理者は、有効にするプロビジョニングの種類の構成を定義できます。
ユーザー プロビジョニングの種類を使用すると、SIS ユーザーからの Microsoft 365 ユーザーの管理とマッピングを自動化できます。 これにより、sourcedId 値に基づいてマッピング リンクがMicrosoft Entra IDでユーザーのオブジェクトに書き込まれます。
キャッシュ内のデータに基づいて、セッションでアクティブとして識別されます。
既定の属性と省略可能な属性を使用して、一致したユーザー リンクを Microsoft Entra ユーザー オブジェクトに書き込みます。
- これらの既定値は、マップされたすべてのユーザーに対して書き込まれます。
- ユーザー外部 ID: ユーザーの sourcedId フィールドにデータが見つかりました。
- 組織の外部 ID: ユーザーの関連付けられているorganizationとロールの orgSourcedId フィールドにあるデータ。
- 組織ロール: ユーザーと関連付けられているorganizationのロール フィールドにあるデータ。
- これらの省略可能な値は、選択されている場合に書き込まれ、データに値が指定されます。
- ユーザーの成績レベル: 関連付けられているorganizationとロールのユーザーの成績フィールドにあるデータ。
- ユーザー番号: 関連付けられているorganizationとロールのユーザーのユーザー番号フィールドにあるデータ。
- これらの既定値は、マップされたすべてのユーザーに対して書き込まれます。
ユーザーが複数のロールを持っている場合、ルールを使用して、ユーザー オブジェクトにロールを書き込むときに値Microsoft Entra決定します。
- isPrimary がすべての学生ロールに設定されている場合、スタッフ ロールへの関連付けが存在する場合でも、ロール属性値は学生ロールに基づいて作成されます。
- isPrimary が任意のスタッフ ロールに設定されている場合、学生ロールへの関連付けが存在する場合でも、ロール属性値はスタッフ ロールに基づいて作成されます。
- isPrimary がスタッフロールと学生ロールの両方に設定されている場合、ロール属性値はスタッフ ロールに基づいて作成されます。
- isPrimary がロールに設定されていない場合 (特にスタッフロールと学生ロールの両方が混在している場合)、ロール属性値はスタッフロールに基づいています。
ユーザーが複数の組織にも関連付けられている場合は、ロールを Microsoft Entra ユーザー オブジェクトに書き込むときに、別のルールを使用して値を決定します。
- Microsoft Entra ユーザー オブジェクトに設定するには、最上位のorganization ロールのorganization ロールの並べ替え順序の値を利用します。
有効にできる 'Student' のロールを持つユーザーを管理する場合は、別のオプションがあります。
- すべての学生を未成年者としてマークする: ルールに基づいて、ロールが Student の場合にMicrosoft Entra ユーザー オブジェクトに書き込まれるユーザー ロールの値を決定します。 この設定は、ユーザーを未成年者として識別し、Microsoft およびサード パーティのアプリケーションがユーザーをそのように識別できるようにします。 結果は、AgeGroup ユーザー プロパティと ConsentProvidedForMinor ユーザー プロパティを設定します。 2 つのプロパティを設定した結果、LegalAgeGroupClassification の属性が MinorWithParentalConsent に設定されます。
- 学生の連絡先の関連付け: ユーザーが Student の場合、および SIS からの接続データが含まれている場合は、Microsoft Entra 保護者または保護者とも呼ばれる連絡先関係を取り込むため、ユーザー オブジェクトに書き込まれるユーザー ロールの値を決定するルールに基づいています。 データの処理時にこのオプションがオンの場合、これには、教師のコミュニケーションのためのMicrosoft Entra ユーザー オブジェクトの連絡先情報が含まれます。
SDS では、AD Syncやその他のユーザー管理ツールを使用しないテナントに対して一致しないユーザーを作成して、ユーザーの作成を管理することもできます。 SDS で新しいユーザーを作成する場合は、有効にすることができます。
- 既定では、設定はオフです。 ユーザーが他の自動化された手段を使用してMicrosoft Entra IDで作成および管理されている場合は、このオプションを有効にしないでください。
- userPrincipalName Microsoft Entra値 (username とも呼ばれます) は、ユーザーの SIS レコードにリンクされている接続データ ソース構成の一部として、ユーザー ID ルールの選択から作成されます。
- これは、ユーザーが作成された後、ユーザー ID ルールを使用して、後続の実行時に同じユーザー オブジェクトへのリンクを続行するためです。 これは、1 つのルール セットを使用して新しいユーザーを作成し、別のルール セットでユーザーを識別することを防ぐためです。
- 既存のMicrosoft Entraユーザーと一致せず、作成するスタッフユーザーと学生ユーザーの場合は、既定のパスワードを定義します。
- パスワードの構築は、パスワード保護ガイダンスMicrosoft Entra ID従い、ユーザーを正常に作成するために受け入れられる既定値のスコア付けの計算を支援します。
- パスワードの構成は、後で新しいユーザーを作成するときに既定のパスワードをローテーションするテナントの編集フロー エクスペリエンスを使用して変更できます。
- ライセンスの選択は省略可能であり、設定する必要はありません。 選択した場合、ユーザーの作成時に既定のライセンスが設定されます。 グループ ベースのライセンスの割り当てと管理の使用を計画している場合は、値を選択しないでください。
クラス グループのプロビジョニングの種類は、クラス グループを管理するためのものであり、ユーザーが相互に接続し、コミュニケーションを取り、Teams を含むさまざまなMicrosoft 365 Apps間で共同作業を行うスペースを提供します。 これにより、検出されたすべてのアクティブ なクラスのクラス グループが作成されます (少なくとも、マップされた所有者ロールにリンクされているアクティブ なユーザーがクラスに関連付けられます)。 管理者には、対応するクラス グループに基づいてクラス チームを自動的に作成する機能を有効にするオプションもあります。
- クラスまたはセクションごとに Microsoft 365 グループを作成します。
- 既定の属性と省略可能な属性を使用して、Microsoft Entra グループ オブジェクトへのグループ リンクを書き込みます。
- これらの既定値は、管理されているすべてのクラス グループに対して書き込まれます。
- 組織の外部 ID: セクションまたはクラスの orgSourcedId フィールドにあるデータ。
- クラス外部 ID: セクションまたはクラスの sourcedId フィールドで見つかったデータ。
- クラス タイトル: セクションまたはクラスのタイトル フィールドにあるデータ。
- これらの省略可能な値は、選択されている場合に書き込まれ、データに値が指定されます。
- クラス コード: セクションまたはクラスのコード フィールドにあるデータ。
- コース タイトル: セクションまたはクラスに関連付けられているコースのタイトル フィールドにあるデータ。
- コース コード: セクションまたはクラスに関連付けられているコースのコードまたはコース コード フィールドに見つかったデータ。
- コースの件名: セクションまたはクラスに関連付けられているコースの subject または subjectCodes フィールドで見つかったデータ。 アラームとして、SIS から提供される値は、接続されたデータで受け入れられる対応する値のリストと一致している必要があります。 そうでない場合、値は取り込まれないため、修正されるまでデータはグループ オブジェクトに転送されません。
- コースの成績レベル: セクションまたはクラスに関連付けられているコースの成績または成績コード フィールドに見つかったデータ。 アラームとして、SIS から提供される値は、接続されたデータで受け入れられる対応する値のリストと一致している必要があります。 そうでない場合、値は取り込まれないため、修正されるまでデータはグループ オブジェクトに転送されません。
- コース外部 ID: セクションまたはクラスに関連付けられているコースの courseSourcedId フィールドにあるデータ。
- アカデミック セッションの外部 ID: セクションまたはクラスに関連付けられているアカデミック セッションの sessionSourcedId コード フィールドにあるデータ。
- アカデミック セッションのタイトル: セクション/クラスに関連付けられているアカデミック セッションのタイトル フィールドにあるデータ。
- これらの既定値は、管理されているすべてのクラス グループに対して書き込まれます。
- クラスまたはセクションの登録とその登録ロールに基づいて、所有者とメンバーを定義します。
- ユーザーとクラス グループの関連付けは、セクションまたはクラスに関連付けられている登録ロールに基づいています。
- ロールを選択すると、関連付けられたグループのそのロールを持つすべてのユーザーに対して、そのユーザーがそのセクションまたはクラスに含まれることを意味します。
- クラス グループのユーザー特権は、関連付けられている登録ロールと、そのロールが [所有者] または [メンバー] の一覧で選択されている場合に基づきます。
- 選択されていないロールの場合、対応するグループの登録ロール レコードを持つユーザーがいる場合でも、それらのロールはリンクされないか、対応するグループ、セクション、またはクラスにアクセスできません。
- 所有者には、グループの管理、グループの表示名の変更、グループ メンバーの追加または削除を行う編集権限があります。
- 所有者も表示され、グループのメンバーとして一覧表示されます。これにより、Microsoft アプリケーションでセクションまたはクラスを表示できます。
- 所有者ではないメンバーには、グループの読み取り専用アクセス許可があります。 所有者がクラスをアクティブ化した場合にのみ、クラス チームにアクセスできます。
- クラス グループを管理する場合は、さらに多くのオプションがあります。
- Teams の自動作成: このオプションを選択すると、同期されたクラスまたはセクションごとに Microsoft グループチームとクラス チームが作成されます。 オプションが選択されていない場合は、Microsoft 365 グループのみが作成されます。
- トグルがオンの場合:
- SDS から作成された Class Teams を使用している教師またはグループ所有者の場合、学生やその他のグループ メンバーの前に早期アクセスできます。 教師の準備ができたら、[アクティブ化] を選択して、学生やその他のグループ メンバーへのアクセスを許可できます。
- トグルがオフの場合:
- SDS がクラス チームを作成していない教師またはグループ所有者の場合は、チームと手動で SDS クラス グループに基づいて Class Teams を作成できます。 教師の準備ができたら、[アクティブ化] を選択して、学生やその他のグループ メンバーへのアクセスを許可できます。
- トグルがオンの場合:
- クラス グループの表示名: このオプションを選択すると、初期作成時にクラス グループの表示名が書き込まれます。 このオプションを使用すると、管理者とグループ所有者は、グループとクラス チームの表示名を更新し、今後の実行で更新からの変更を保持できます。
- Teams の自動作成: このオプションを選択すると、同期されたクラスまたはセクションごとに Microsoft グループチームとクラス チームが作成されます。 オプションが選択されていない場合は、Microsoft 365 グループのみが作成されます。
セキュリティ グループのプロビジョニングの種類は、セキュリティ グループを管理するためのものであり、Microsoft 365 のさまざまな ID 管理、アプリ管理、デバイス管理シナリオで使用するためのグループ構造を提供します。
ロール グループ: ユーザー ロール グループ別にセキュリティ グループを作成します。 例: 1 つはすべての学生用、もう 1 つはすべてのスタッフ用です。
- すべての Students セキュリティ グループを作成し、 Students ロール グループのロールを持つユーザーを管理します。
- すべてのスタッフ セキュリティ グループを作成し、 スタッフ ロール グループのロールを持つユーザーを管理します。
組織、組織+ ロール グループ: 組織 + ロールグループの組み合わせによってセキュリティ グループを作成します。 例: Contoso School containing Students - Contoso School and Staff - Contoso School。
SDS セキュリティ グループは、Microsoft Entra ID および Microsoft 365 内のさまざまな管理機能で使用できます。 SDS セキュリティ グループの最も一般的な用途を次に示します。
- Intune for Education デバイス ポリシー - 教育にIntuneとは
- モバイル デバイス管理 - デバイス セキュリティ ポリシーを作成して展開する
- グループ ベースのライセンス - Microsoft Entra IDのグループ メンバーシップ別にユーザーにライセンスを割り当てる
- 条件付きアクセス - 条件付きアクセスとは
- グループとチーム作成ポリシー - グループの作成を管理する
- セルフサービス パスワード リセット - ユーザーがパスワードをリセットできるようにする
- パスワード リセットのセキュリティ グループを対象にするには、手順 5 で [すべて] ではなく [選択済み] を選択します。
管理単位のプロビジョニングの種類は、管理単位を管理するためのものであり、委任された IT 管理とスコープ付きロールの割り当てのグループ構造を提供します。 スコープ付きロールの割り当てにより、管理者は、より広範な Microsoft 365 ディレクトリのサブセットを管理できます。
-
組織: 組織別に管理単位を作成し、ユーザー、organization クラス グループ、organizationセキュリティ グループorganizationリンクします。 この選択により、EDU Graph Schools エンドポイントで使用できる種類 'school' が組織に提供されます。 例: Contoso School ユーザー + クラス グループ + セキュリティ グループを含む Contoso School。
- アクティブなユーザーが存在する各組織の管理単位を作成します。
- アクティブな関連付けを持つすべての学生を、 学生ロール グループの役割を持つ組織にリンクします。
- アクティブな関連付けを持つすべてのスタッフを、 スタッフ ロール グループのロールを持つ組織にリンクします。
- クラス グループもプロビジョニングする場合は、アクティブな関連付けを持つすべてのクラスを組織にリンクします。
- 組織 + 役割グループ: 組織と役割グループの組み合わせによって管理単位を作成します。 SDS を使用すると、許可されたスタッフが学校の管理単位の学生に対して委任された IT 管理を実行できます。 例: 学生 - Contoso School、Staff - Contoso Schools。