エントラシンク

プラグイン・ドキュメンテーション
 

概要

Entra Sync プラグインを使用すると、Rock 管理者 RockとEntraの間でデータを同期し、シングルサインオン(SSO)を可能にします。 シングルサインオン(SSO)を可能にし、EntraユーザがEntraの認証情報でRockにログインできるようにします。 データの同期は RockからEntraへ、またはEntraからRockへ)、そしてオンデマンドで同期することもできます。 オンデマンドまたはスケジュールジョブで同期できます。

デフォルトでは、Entra Sync プラグインはグループのメンバーを同期します。 グループのメンバーを同期し、どちらかのシステムにある既存のレコードと一致させようとします。 のロジックを使用します:

  1. Entra -> Rock -'First Name'、'Last Name'、'Email'が完全に一致するものを探します。
  2. Rock -> Entra - 同期はRockの'Email'とEntraのUser Principal Name(Entraのemailと同じ)の完全一致を探します。

警告

重要: このプラグインでRockからEntraへユーザーを同期できるのは、Entraの "カスタムドメイン名 "に存在するドメインのメールアドレスを持っている場合のみです。 RockからEntraに同期する際、RockはEntraのメール対応グループのグループメンバーシップを変更することができません(メール対応セキュリティグループと配布リストが含まれます)。 メール対応グループは、Exchange/Office 365 Admin Centerからのみ管理できます。

さらに、以下のフィールドの変更を一方向(RockからEntraへ)に同期する自動ジョブを設定することもできます:

  • オフィス電話
  • 自宅電話
  • 役職名
  • 部門
  • 会社概要

また、User Photosのデータは、どちらの方向にも同期することができる。

Entraのユーザー画像は、ユーザーがExchangeメールボックス(通常はOffice 365サブスクリプションの一部)を持っている場合にのみ取得または変更できます。 (通常、Office 365 サブスクリプションの一部) を持っている場合にのみ取得または変更できます。 これは Microsoft Graph API の制限です。

インストール前のセットアップ: Entraの設定

プラグインを設定するには、Entra テナントでアプリケーションを登録し、必要な権限を付与する必要があります。

ステップ1: Entraテナントで新しいApp登録を作成します。

まず、Azure ポータルで Microsoft Entra ID ブレードを開き(正しいテナントを選択していることを確認)、左側のリソースメニューから「App 登録」オプションを選択します。 アプリ登録ブレードの上部にある [新規登録] ボタンをクリックして、新規登録を作成します。

設定オプションの説明:

  1. 名前 -ここでは好きな名前を選ぶことができますが、このアプリ登録の目的を明確にするために「Rock Entra Sync Plugin」のような名前にすることをお勧めします。
  2. Supported Account Types -このオプションは、デフォルトの選択(シングルテナント)のままにしておきます。
  3. リダイレクト URI -プラグインの SSO 機能を使用する場合 (Entra 認証情報で Rock にログインできるようにするため)、ここに値を入力する必要があります。 これは、Entra 認証情報で Rock にログインするために使用するページです。 どのようなURLでも構いませんが、https://my.church/sso や https://my.church/entralogin のようなものを使用することをお勧めします。 このページの設定については後のセクションで説明します。SSO機能を使用しない場合は、この設定を空白のままにしておいてください。

ステップ2 コンフィギュレーション設定をメモする。

新しいApp登録を作成すると、以下の画面が表示されます。 作成した新しいリソースの管理ブレードに移動します。 このページには このページには、後でプラグインを設定する際に必要となる重要な情報が記載されています。 "アプリケーション(クライアント)ID "と "ディレクトリ(テナント)ID "の値を控えておいてください。 ステップ1でリダイレクトURIの値を入力した場合は、その値もメモしておいてください。 1 でリダイレクト URI の値を入力した場合は、その値もメモしておきます。

また、ブレード上部の "エンドポイント "をクリックし、最初の2つのエンドポイントをメモしておく必要がある:

これで以下の情報が収集されたはずだ:

  1. テナントID
  2. クライアントID
  3. OAuth 2.0 認証エンドポイント (v2)
  4. OAuth 2.0 トークン エンドポイント (v2)
  5. リダイレクトURI(プラグインのSSO機能を使用している場合)

ステップ3:アプリ登録に 権限を付与します。

Entra プラグインには、Entra テナントのユーザーとグループのレコードを読み取り、変更する権限と、Entra テナントから基本データを読み取る権限が必要です。 およびグループ レコードの読み取りと変更、およびディレクトリから基本データを読み取る権限が必要です。 ディレクトリから基本データを読み取る権限が必要です。 これは Microsoft Graph API を使用するため、以下のパーミッションが必要です:

  1. ディレクトリ.Read.All
  2. グループ.ReadWrite.All
  3. ユーザー.ReadWrite.All

アプリケーションに新しいパーミッションを追加するには、左側のリソース管理メニューから "API パーミッション "を選択し、"パーミッションの追加 "ボタンをクリックします。 Add a permission "ボタンをクリックします。 Microsoft Graph "オプションを選択し、"Application パーミッション "を選択し、必要なパーミッションを追加する。 この3つを一度に追加することもできる。

ステップ4:管理者の同意を得る。

追加したパーミッションを確定するには、以下の作業が必要です。 管理者の同意を得る必要があります。 このステップを終えると このステップを終えると、APIパーミッション画面は以下のスクリーンショットのようになります。 以下のスクリーンショットのようになります。

チップ

ヒント: 管理者権限を付与するには、Entraテナントの管理者権限が必要です。

ステップ5:クライアントシークレットを作成する。

プラグインはクライアントシークレットを使用して、Entra に自分自身を認証します。 このシークレットはパスワードのようなもので、このシークレットを持つ人は、前のステップでアプリケーション登録リソースに与えたパーミッションを持っています。

新しいクライアントシークレットを作成するには、リソース管理ブレードから "Certificates & secrets "オプションを選択します(作成したアプリ登録が表示されているはずです)。 クライアントシークレット」セクションまでスクロールダウンし、ボタンをクリックして新しいクライアントシークレットを追加します。 シークレットには好きな名前を付けることができますが、アプリ登録と同様に、シークレットの目的がわかるような名前を付けることをお勧めします。 有効期限は "Never "を選択することをお勧めします。 別の有効期限を選択すると、古いシークレットの有効期限が切れたときに新しいシークレットを作成してプラグインの設定に入力する必要があります。

シークレットを作成したら を作成した後、その値をコピーすることができます。 この時 この時点で値を記録しておく必要がある。 を記録しておく必要があります。 後でこの値が必要になったとき 後でこの値が必要になり、この時点で記録しておかなかった場合は、 新しいシークレットを作成してそれを使う必要があります。 を作成し、それを使う必要があります。

チップ

この画面に進む前に、クライアント の値を確認してください。

Entra Sync プラグイン認証設定の構成

これで、Entra テナントが設定され プラグインを設定します。 まだプラグインをインストールしていない場合は、Rock Shopからインストールしてください、 ロックショップからインストールしてください。 のステップ2で記録した インストール前のセットアップのステップ2で記録した設定情報と、ステップ5で作成したクライアントシークレットも必要です。 シークレットも必要です。

管理ツール Installed Plugins] に移動し、[Entra Group Sync] オプションを選択します。 次に、右上の [Entra Credentials] ボタンをクリックします。 をクリックし、前のステップで設定した値を入力します。

同期するグループを設定する

プラグインはRockまたはEntraのグループのメンバーを同期しますので、両方のシステムでグループを作成する必要があります。 同期設定を行うには Admin Tools > Installed Plugins > Entra Group Syncに移動し、新しいエントリを追加するボタンをクリックします。 をクリックします。 以下の設定オプションが表示されます:

  1. Group Selection Type- これは、Rock Security Roleを選択するのか、通常のグループを選択するのかを決定します。
  2. Group - ロック・グループまたはセキュリティ・ロール。
  3. Entra Group- Entraのセキュリティロールまたはグループ。 これらのグループは、最初にEntraポータルで作成する必要があります。
  4. 同期方向- ロックとエントラのどちらをデスティネーション・システムとするかをコントロールする。
  5. Add Individual If Unmatched- 一致するレコードが見つからない場合、その個人をRockまたはEntraに追加します。注:Entraで個人を追加しても、ライセンスは作成されず、メールボックスも追加されません。

チップ

新規ユーザーを派遣先システムに追加したい場合は、必ず "Add Individual If Unmatched "をチェックしてください。

Entraメール対応グループについて

上記の設定を、Entra のメール有効グループ(配信グループまたは Entraでメール有効グループ(配信グループまたは を選択し、同期方向をRockからEntraにデータをプッシュするように設定すると、警告通知が表示されます。 RockからEntraにデータをプッシュするように同期方向を設定した場合、プラグインがメール対応グループのグループメンバーシップを変更できないという警告通知が表示されます。 プラグインはEntraのメール対応グループのグループメンバーシップを変更できません。 これは プラグインがこのグループのメンバーを追加または削除できないことを意味します。 これらのグループは引き続き RockとEntraのユーザーレコード間の同期をサポートしますが、唯一の方法は メール対応グループのグループメンバーシップを変更する唯一の方法は、Exchange/Office 365 管理センターから 管理センターから行うしかありません。

この方法でグループを設定すると、グループ同期リストにグループ設定に関する警告が表示されます。 グループ同期リストにグループ構成に関する警告が表示されます。

プラグインが同期処理を実行しようとしたときに、RockグループとEntraメール対応グループのグループメンバが同期されていないと、ジョブで警告が表示されます。 プラグインが同期プロセスを実行しようとしたときに、グループメンバーとEntraメール対応グループが同期されていない場合、ジョブレポートとRockの例外リストに警告が表示されます。 レポートとRockの例外リストに警告が表示されます。 例外リスト 例外リストでは、どのユーザがグループから追加または削除できなかったかを特定します。 グループに追加または削除できなかったユーザーを特定します(Entra ユーザー GUID によって)。 このような警告は これらの警告を回避するには、Rockから同期するように設定したメール有効グループが手動で同期されていることを確認します。 Rockから同期するように設定したメール有効グループが手動で同期されていることを確認することで、これらの警告を避けることができます。 同じ人を両方のグループに入れる)。

手動でグループを同期する

同期用のグループを設定した後、グループの横にある「同期」ボタンを押すことで、手動で同期させることができます。 グループの横にある "sync "ボタンを押して手動で同期させることができます。

[オプション] 自動同期ジョブの設定

このプラグインには、スケジュール可能な自動ジョブが含まれています。 が含まれています。 これを有効にするには 管理ツール > システム設定 > ジョブ管理に移動し、新しいジョブを追加してください。 新しいジョブを追加します。 スケジュールされたジョブ 詳細画面で、ジョブタイプとして "Sync Entra (Plugin) "を選択します。

[オプション] 連絡先情報の同期を設定する

このプラグインは、グループを同期するたびにRockからEntraに連絡先情報を同期するように設定できます。 プラグインは、グループを同期するたびにRockからEntraに連絡先情報を同期するように設定できます。 グループが手動で同期された場合でも、自動化されたジョブによって同期された場合でも発生します。 同期方向がRockからEntraである限り、これらの設定は同期されたすべてのグループに影響します。 方向がRockからEntraである限り、これらの設定は同期されたすべてのグループに影響します)。

このセクションのオプションは、RockからEntraにデータをプッシュするすべての同期グループに影響します。

この機能を有効にして設定を行うには 管理ツール] > [インストール済みプラグイン] > [Entra Group Sync]に移動し、右上隅にある[連絡先設定]ボタンをクリックします。 「Contact Settings" ボタンをクリックします。

連絡先情報の同期を有効にする」オプションをチェックして有効にするまで、この画面のオプションを設定することはできません。

設定オプション:

  1. 連絡先情報の同期を有効にする- 連絡先情報の同期を有効にするには、このオプションを選択する必要があります。
  2. - Entraの名フィールドは、Rockの名フィールドまたはニックネームフィールドのどちらかにマッチします。 この設定により、どちらかを制御します。
  3. Job Title- この設定は、RockからEntraにデータが送信される場合にのみ有効です。 同期が逆方向で行われる場合には、何の効果もありません。 Entraに送信される値を制御するために、Person Attribute値またはLava式を選択できます。
  4. Department - この設定は、RockからEntraにデータを送信する場合にのみ有効です。 同期が他の方向で行われる場合は効果がありません。 Entraに送信される値を制御するために、Person Attribute値またはLava式を選択できます。
  5. Office - この設定は、データがRockからEntraに送信される場合にのみ有効です。 同期が逆方向で行われる場合は、効果がありません。 Entraに送信される値を制御するために、Person Attribute値またはLava式を選択できます。
  6. Company - この設定は、データがRockからEntraに送信される場合にのみ有効です。 同期が逆方向で行われる場合は、何の効果もありません。 Entraに送信される値を制御するために、Person Attribute値またはLava式を選択できます。
  7. オフィス電話タイプ- この設定は、Entraのオフィス/ビジネス電話に同期するために使用されるRock電話のタイプを制御します。
  8. 携帯電話の種類- この設定は、Entraの携帯電話に同期するために使用されるロックフォンの種類を制御します。

役職フィールド(役職名、部署名、勤務先、会社名)は、RockからEntraへデータを同期する場合にのみ設定できます。 EntraからRockへデータを同期する際には、これらの項目は何の効果も持ちません。

警告

Microsoft Graph API では、Entra テナントの管理者権限を持つユーザーの電話番号を変更することはできません。 これはセキュリティ上の理由による意図的な制限です (これらの電話番号はアカウントの回復に使用される可能性があります)。 これらのフィールドの同期を有効にしてこの条件が発生した場合、Entra ではこれらのフィールドは変更されません (ただし、その人の残りの情報は正しく同期されます)。

グループ構成と連絡先情報の同期に関する警告

チップ

同じレコードが双方向で同期されるような状況は避けることをお勧めします。

複数のグループ同期構成にすることで、個人が双方向で同期されるようにグループを構成することが可能です。 つまり、同じユーザーが、RockからEntraにデータをプッシュするように設定したグループと、EntraからRockにデータをプルするように設定したグループに属している可能性があります。 このような状況は避けることをお勧めしますが、意図的にこのように同期を設定する場合もあります。 その場合、連絡先情報の同期を設定した場合、連絡先情報はその方向でのみ同期されるため、Rockのデータが「マスターレコード」になります。 この場合、Entraで直接行った変更は上書きされますので、個人の連絡先情報の変更はRockで行ってください。

Microsoft Graph API では、Entra で管理者の電話番号 (オフィスの電話と自宅の電話) を更新することはできません。 この制限は、これらの値が Entra のアカウント回復プロセスで使用されるため、外部からの変更を許可すると、管理者がアカウントを回復できなくなり、ロックアウトされる可能性があるためです。

[オプション]シングルサインオン(SSO)の設定

プラグインのシングルサインオン機能を設定すると、次のようになります。 ユーザーがEntraの認証情報でRockにログインできるようになります。 にログインできるようになります。 この機能を有効にするには を設定する必要があります。 その詳細については インストール前のセットアップをご覧ください。 最初にプラグインをセットアップするときに URL を入力しなくても問題ありません。 プラグインを最初にセットアップしたときにURLを入力していなくても大丈夫です。 を編集することで追加できます。

プラグインによってインストールされるEntra認証プロバイダ(Rock)を有効にして設定するには プラグインによってインストールされたEntra認証プロバイダを有効にして設定するには、管理ツール > セキュリティ > 認証サービスへ移動し、"Entra "プロバイダを選択します。 Authentication Servicesに移動し、"Entra "プロバイダを選択します。

設定オプション:

  • Active - Entra 認証を有効にするには、このオプションを「Yes」に設定する。
  • Is Configured for 2FA- Rockで2要素認証(2FA)が有効で、EntraがRockの外部で多要素認証を処理するように設定されている場合、このオプションは「Yes」に設定する必要があります。No "に設定し、Rockが2要素認証を要求する場合、個人は認証にEntraを使用できません。

SSOリダイレクトページの設定

次に必要なことは、Rockに新しいページを作成することです。 (管理ツール > CMS設定 > ページ)を作成することです。 ルートも作りたいでしょう。 を作成し、デフォルトのページURLではなく、フレンドリーなURL(http://my.church/sso のような)で参照できるようにします。 のようなフレンドリーなURLで参照できるようにします。 この文書では このドキュメントでは、あなたがこの部分をどのように行うかを知っていると仮定します。 もし復習が必要であれば、いつでもRockのドキュメントを見直してください。 具体的には、Rock AdminのCMS 設定セクションから始めることをお勧めします。 の詳細から始めることをお勧めします。 and Building Websites Using Rockに詳しく書かれています。

ページとルートを作成したら、次の作業が必要です。 カスタムログインブロックをページに追加する必要があります。 Tech > Entra カテゴリにあります。

ブロックを ページにブロックを追加した後、ブロックに以下の設定を行う必要があります:

  • ログインオプション一覧
    • このオプションでは、ボタンテキスト(左側)を指定し、URL または認証プロバイダのタイプ名(右側)を入力することで、複数のログインオプションを設定できます。 ユーザーが Entra 経由でログインできるようにするには、Entra 認証プロバイダーの完全なタイプ名("tech.triumph.AzureAD.Security.Authentication.AzureAD")を入力する必要があります。
  • 成功のページ
    • これは、URLにリターンパラメータが指定されていない場合、ログイン成功後にユーザーがリダイレクトされる場所です。リターンパラメータがある場合、ユーザーはそのページにリダイレクトされます(標準のログインのように)。
  • 失敗したページ
    • ログインに失敗したユーザーがリダイレクトされる場所です。

このブロックは、他のログイン方法でも動作するように設計されていますが、ここではEntraのみを使用します。

リリースノート

  • v1.8
    • URLにリターンパラメータが指定されている場合でも、ログイン成功後に必ず成功ページにリダイレクトされる問題を修正しました。
    • ログイン成功後のリダイレクトで、戻りURLが二重エンコードされる問題を修正しました。
  • v1.7
    • すでにRockに存在するEntraユーザーのマッチング機能を改善しました。
  • v1.6
    • マイクロソフトの社名変更に伴い、"Azure AD "を "Entra "に更新。
  • v1.5
    • プラグインの設定ページがタイムアウトする問題をより確実に修正した。
  • v1.4
    • プラグインの設定ページの読み込みに失敗し、最終的にタイムアウトする問題を修正しました。
  • v1.3
    • 二要素認証のサポートを追加しました。